@charset "UTF-8";
/*----------------------------------------*/
/*  共通部分
/*----------------------------------------*/
html, body {
  height: 100%;
}

body {
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  background: #f0f0f0;
  background-image: url("./img/bg_pattern.png");
  background-repeat: repeat;
  font-family: "YuGothic","Yu Gothic","Meiryo","ヒラギノ角ゴ",sans-serif;
  letter-spacing: 0.1em;
  font-weight: 300;
  font-feature-settings: "palt";
  padding: 0 !important;
  color: #1d1d1d;
}

p {
  font-size: 14px;
  line-height: 1.5em;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

.img50 a img:hover {
  opacity: 0.5;
}

.gradation_btn {
  display: block;
  width: 120px;
  height: 40px;
  font-size: 12px;
  border-radius: 40px;
  background: linear-gradient(to right, #3a69ab, #10a1a5);
  text-align: center;
  line-height: 40px;
  font-weight: 500;
  letter-spacing: 0.1em;
  box-shadow: 0 0 10px #8cb2f1;
  color: #fff;
  transition: 0.3s;
  text-decoration: none;
}

.gradation_btn a {
  text-decoration: none;
}

.gradation_btn:hover {
  color: #3a69ab;
  box-shadow: 0 0 10px #8cb2f1,inset 0 0 0 2px #3a69ab;
  background: #fff;
  line-height: 40px;
  text-decoration: none;
}

/*----------------------------------------*/
/*  ヘッダーメニュー
/*----------------------------------------*/
header {
  height: 119px;
  width: 100%;
  margin: auto 0;
  position: fixed;
  z-index: 1000;
  background: #f0f0f0;
  background-image: url("./img/bg_pattern.png");
  background-repeat: repeat;
  transition: 1s;
}

header .logo {
  height: 48px;
  width: auto;
  margin: 36px;
}

header .hidden_box {
  display: none;
}

header .menu {
  display: flex;
  float: right;
  position: absolute;
  top: 0;
  right: 0;
}

header .menu li {
  font-size: 12px;
  padding: 0 10px;
  line-height: 120px;
  font-family: 'Montserrat' , 'Avenir' , sans-serif ;
  font-weight: 500;
  letter-spacing: 0.1em;
}

header .menu li a {
  text-decoration: none;
  padding:10px;
  color: #1d1d1d;
}

header .menu li a:hover , .sns_box a :hover{
  color: #a1a9b6;
}

header .menu .gradation_btn {
  margin: 40px 40px 0px 28px;
  font-family: 'Montserrat' , 'Avenir' , sans-serif ;
}

.wrapper {
  max-width: 100%;
  padding: 0;
  max-width: 1490px;
  margin: auto;
  padding-top: 119px;
}

.top_slider {
  width: 100%;
  position: relative;
}

.top_slider .hero_carousel {
  width: 100%;
  margin-top: 68px;
}

.top_slider .hero_carousel .hero_container {
  position: relative;
}

.top_slider .particles {
  margin: auto;
  z-index: -1;
  width: 100%;
}
.shadow{
  background: rgba(240, 240, 240, 0.96);
  background-image: url("./img/bg_pattern.png");
  box-shadow: 0 0 8px rgba(29, 29, 29, 0.1);
  background-repeat: repeat;
  transition: 1s;
}
/*----------------------------------------*/
/*  ハンバーガーメニュー
/*----------------------------------------*/
.hidden_box {
  width: 100%;
}

.hidden_box input {
  display: none;
}

.hidden_box .menuBtn {
  z-index: 10000;
  position: fixed;
  top: 25px;
  right: 20px;
  width: 50px;
  height: 30px;
  cursor: pointer;
}

.hidden_box label span {
  display: inline-block;
  transition: all .5s;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 5px;
  background: #3b3737;
}

.hidden_box label .menu_top {
  top: 0;
}

.hidden_box label .menu_middle {
  top: 50%;
}

.hidden_box label .menu_bottom {
  bottom: 0px;
}

.hidden_box label .menu_top.active {
  background: #fff;
  transform: translateY(11px) rotate(-45deg);
  -webkit-transform: translateY(11px) rotate(-45deg);
}

.hidden_box label .menu_middle.active {
  display: none;
}

.hidden_box label .menu_bottom.active {
  background: #fff;
  transform: translateY(-16px) rotate(45deg);
  -webkit-transform: translateY(-16px) rotate(45deg);
}

.hidden_box .show {
  position: fixed;
  width: 100%;
  background: rgba(0, 0, 0, 0.8);
  top: 0;
  padding: 0;
  opacity: 0;
  transition: 0.8s;
  overflow-y: auto;
  display: none;
}

.hidden_box .show .show_menu {
  padding-top: 100px;
  width: 100%;
  height: 100vh;
  text-align: center;
  z-index: 9999;
}

.hidden_box .show .show_menu li a {
  color: #fff;
  font-family: 'Montserrat' , 'Avenir' , sans-serif ;
  text-decoration: none;
  display: block;
  padding: 5px 0;
  line-height: 64px;
}

.hidden_box #menuBtn:checked ~ .show {
  height: 100vh;
  display: block;
  opacity: 1;
}

/*----------------------------------------*/
/*  MV関連装飾
/*----------------------------------------*/
#particles {
  width: 100%;
  height: 500px;
  overflow: hidden;
  position: absolute;
  top: 0;
}

/*----------------------------------------*/
/*  h2 h3装飾
/*----------------------------------------*/

.grad_color{
  color: transparent;
  -ms-color: #3a69ab;
  color: rbga(0, 0, 0, 0);
  background: linear-gradient(to right, #3a69ab, #10a1a5);
  background: -webkit-liner-gradient(left, #3a69ab #10a1a5);
}
@media all and (-ms-high-contrast: none) {
  .grad_color {
    background: none;
    color: #3a69ab;
  }
}
h2, h3 {
  margin: auto;
  text-align: center;
  background-clip: text;
  -webkit-background-clip: text;
  letter-spacing: 0.45em;
}

h2 .sub_title, h3 .main_title {
  font-family: 'Montserrat' , 'Avenir' , sans-serif ;
  font-size: 48px;
  font-weight: 600;
}
h2 .sub_title {
  line-height: 1.3em;
  letter-spacing: 0.09em;
}
h3 .main_title {
  line-height: 1.3em;
}

h2 .main_title, h3 .sub_title {
  font-family: "YuGothic","Yu Gothic","Meiryo","ヒラギノ角ゴ",sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.2em;
}
h3{
  margin-top: 66px;
}

.h3_hr {
  height: 2px;
  border: none;
  margin: 7px auto 24px;
  width: 48px;
}

h3 > div.main_title.grad_color{
  overflow: hidden;
  }
/*ビジネス系ページ　h3*/
.secondery_h3{
  margin-top: 66px;
  margin-bottom: 0;
  letter-spacing: 0.45em;
  padding-bottom: 78px;
  padding-top: 4px;
  width: 90%;
  width: -webkit-calc(100% - 40px);
  width: calc(100% - 40px);
  text-align: center;
}
.secondery_h3 .secondery_h3main{
  line-height: 1.15em;
  font-family: 'Montserrat' , 'Avenir' , sans-serif ;
  font-size: 48px;
  font-weight: 600;
}
.secondery_h3 .secondery_h3sub{
  font-family: "YuGothic","Yu Gothic","Meiryo","ヒラギノ角ゴ",sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 2px;
  display: block;
}
.secondery_h3 .secondery_h3main:after{
  content: "";
  display: block;
  height: 2px;
  background:linear-gradient(to right,#3a69ab,#10a1a5);
  background: -webkit-linear-gradient(left,#3a69ab,#10a1a5);
  margin: auto;
  margin-top: 14px;
  margin-bottom: 25px;
  width: 50px;
  max-width: 150px;
}

/*----------------------------------------*/
/*  ビジネスページ h4
/*----------------------------------------*/
.businesses_h4{
  font-family: "YuGothic","Yu Gothic","Meiryo","ヒラギノ角ゴ",sans-serif;
  font-size: 32px;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.17em;
  color: transparent;
  -ms-color: #3a69ab;
  background: linear-gradient(to right, #3a69ab, #10a1a5);
  background: -webkit-liner-gradient(left, #3a69ab #10a1a5);
  background-clip: text;
  -webkit-background-clip: text;
}
.businesses_h4:before,.businesses_h4:after{
  content:"";
  display: block;
  width: 360px;
  height: 2px;
  margin: auto;
  font-size: 20px;
  font-weight: bold;
  background: #10a1a5;
  background: linear-gradient(to right, #3a69ab, #10a1a5);
  background: -webkit-gradient(left,#3a69ab, #10a1a5);
}
.businesses_h4:before{
  margin-bottom: 16px;
}
.businesses_h4:after{
  margin-top: 18px;
}

/*----------------------------------------*/
/*  フッター関連装飾
/*----------------------------------------*/
footer {
  width: 100%;
  padding-bottom: 40px;
  margin: auto;
  margin-top: 120px;
}

footer a {
  color: #fff;
}

footer .footer_container {
  width: 95%;
  width: -webkit-calc(100% - 80px);
  width: calc(100% - 80px);
  height: max-content;
  background: #11242f;
  border-radius: 5px;
  margin: auto;
}

footer .footer_container .link_box {
  height: 133px;
  position: relative;
  text-align: center;
}

footer .footer_container .link_box .banner {
  display: inline-block;
  padding: 24px 9px;
}

footer .footer_container .link_box .banner .PCbanner {
  display: block;
}

footer .footer_container .link_box .banner .SPbanner {
  display: none;
}

footer .footer_container .link_box .banner p {
  font-size: 14px;
  padding-top: 8px;
  text-align: left;
}

footer .footer_container .link_box .banner p::after {
  content: url(./img/link.png);
  padding-left: 11px;
}

footer .footer_container .footer_border {
  height: 1px;
  background: #3b474e;
  margin: 10px 40px 0;
}

footer .footer_container .footer_nav {
  margin-top: 44px;
  padding-top: 44px;
}

footer .footer_container .footer_nav ul {
  list-style-type: none;
  padding-left: 0;
  position: relative;
  text-align: center;
}

footer .footer_container .footer_nav ul li {
  display: inline-block;
  height: 10px;
  margin: 20px 17px;
  font-size: 12px;
  font-weight: 500;
}

footer .footer_container .footer_nav ul li a {
  color: #889297;
}

footer .footer_container .footer_nav ul li .space {
  margin-right: 5px;
}

footer .footer_container .footer_cap {
  padding-top: 20px;
  padding-bottom: 62px;
  text-align: center;
  font-size: 12px;
  color: #889297;
}

/* レスポンシブ*/
/*----------------------------------------*/
/*  レスポンス＠1024px
/*----------------------------------------*/
@media screen and (max-width: 1024px) {
  body header .hidden_box {
    display: block;
  }
  body header .menu {
    display: none;
  }
  body .business_container h2, body .business_container h3 {
    margin-bottom: 20px;
  }
  /* ビジネス系ページ h4*/
  .businesses_h4{
    letter-spacing: 3px;
    font-size: 20px;
  }
  .businesses_h4:before,.businesses_h4:after{
    width: 225px;
  }
  .businesses_h4:before{
    margin-bottom: 14px;
  }
  .businesses_h4:after{
    margin-top: 12px;
  }
}
/*----------------------------------------*/
/*  レスポンス＠スマホ　750px
 /*----------------------------------------*/
@media screen and (max-width: 750px) {
  body {
    margin: auto;
  }
  body header {
    height: 76px;
  }
  body header .logo {
    margin: 15px;
  }
  body .contents .wrapper {
    padding-top: 76px;
  }
  body .contents .wrapper .top_slider {
    height: auto;
  }
  body .contents .wrapper .top_slider .slider .hero_carousel {
    margin-top: 0px;
  }
  body .contents h2, body .contents h3 {
    margin-top: 49px;
    padding-bottom: 20px;
    padding-top: 0px;
    width: 90%;
    width: -webkit-calc(100% - 40px);
    width: calc(100% - 40px);
  }
  body .contents h2 .sub_title, body .contents h3 .main_title {
    font-size: 40px;
    letter-spacing: 0.13em;
  }
  footer{
    margin-top: 60px;
    padding: 0;
    padding-bottom: 10px;
  }
  footer .footer_container{
    width: 95%;
    width: -webkit-calc(100% - 20px);
    width: calc(100% - 20px);
  }
  body footer .footer_container .link_box p {
    text-align: left;
  }
  body footer .footer_container .link_box .banner {
    padding: 30px 9px 0px;
  }
  body footer .footer_container .link_box .banner p {
    padding-top: 15px;
  }
  body footer .footer_container .link_box .banner .PCbanner {
    display: none;
  }
  body footer .footer_container .link_box .banner .SPbanner {
    display: block;
    width: 305px;
  }
  body footer .footer_container .footer_border {
    margin-top: 170px;
  }
  body footer .footer_container .footer_nav {
    display: none;
  }
  body footer .footer_container .footer_cap {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  div.h3_contents {
    margin: 28px auto 0;
  }
  .h3_hr {
    margin: 0px auto 16px;
  }
  /*ビジネス系ページ　h3*/
  body .contents .secondery_h3{
    padding-top: 2px;
    padding-bottom: 36px;
  }
  .secondery_h3 .secondery_h3main{
    font-size: 40px;
    letter-spacing: 0.13em;
  }
  .secondery_h3 .secondery_h3main:after{
    margin-top: 4px;
    margin-bottom: 16px;
  }
}

/* CSSハック。エッヂ*/
@supports (-ms-ime-align: auto) {
  .business_container .business_title {
    color: #3a69ab;
  }
}

/*IE*/
@media all and (-ms-high-contrast: none) {
  .business_container .business_title , h2 , h3{
    color: #3a69ab;
    background: none;
    letter-spacing: 0.16em;
  }
}

/* CurioKidsお知らせ表示ためスタイル*/
h3.curiokids_h3{
    margin-top: 0px;
}



/* お問い合わせフォームのスタイル */
.inquiry_step {
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    max-width: 930px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 70px;
}
.inquiry_step__item .num {
    width: 45px;
    font-size: 15px;
}
.inquiry_step__item.did-active .num, .inquiry_step__item.did-active .text {
    color: #191919;
    font-weight: 700;
}
.inquiry_step__item.did-active .text {
    color: #191919;
    font-weight: bold;
}
.inquiry_step__item .text {
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-flex: 2;
    flex-grow: 2;
    font-size: 18px;
}
.inquiry_step__item:before {
    content: "";
    position: absolute;
    right: 2px;
    bottom: -2px;
    width: 28px;
    transform-origin: 100% 100%;
    transform: rotate(45deg);
    border-bottom: 1px solid #999;
}

.inquiry_step__item.did-active, .inquiry_step__item.did-active:before {
    border-bottom-color: #191919;
    border-bottom-width: 2px;
}

.inquiry_step__item {
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    position: relative;
    width: 22.58065%;
    padding-bottom: 3px;
    padding-right: 25px;
    border-bottom: 1px solid #999;
}
.inquiry_step * {
    box-sizing: border-box;
}
.h4-title {
    line-height: 3;
    font-size: 20px;
}
.p-title2 span {
    padding: 3px 11px;
    background: red;
    color:white;
    border-radius: 5px;
    margin-right: 10px;
    font-size: 12px;
    height: 20px;
}
.title-line {
    border: none; /* デフォルトのスタイルを消す */
    border-bottom: 2px solid #ccc; /* 下線を引く */
    width: 100%; /* 幅を調整（必要に応じて変更） */
    margin: 5px 0; /* 余白を調整 */
    margin-bottom: 40px;
}
#mw_wp_form_mw-wp-form-275 {
    max-width: 1080px;
    margin: 0 auto;
}
.mw_wp_form input[type="text"],
.mw_wp_form input[type="email"],
.mw_wp_form textarea {
    border: 1px solid #ccc;
}

.mw_wp_form input[type="submit"] {
    background-color: #0073aa;
    color: #fff;

    border: none;
    cursor: pointer;
}
input[type="radio" i] {
    transform: scale(1.2);
    margin: 0px 10px 2px 5px;
}
.mw_wp_form input[type="submit"]:hover {
    background-color: #005177;
}
.row {
    display: flex;
    margin-bottom: 40px;
}
.row-header {
    display: block;
    text-align: center;
}
.type-row .form-area-left {
    white-space: nowrap;
    margin-bottom: 600px;
    padding-top: 0px; 
}
.form-area-left {
    display: flex;
    max-width: 290px;
    padding-top: 0px;
    justify-content: space-between;
    flex-shrink: 0;
    width: 290px;
    margin-top: 10px;
    margin-right: 40px;
}
h4 {
    font-size: 18px;
    font-weight: 700;
}

.type-row .form-area-right {
    display: block;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 40px;
}

.type-row .form-area-right label {
    display: flex;
    align-items: center;
    font-size: 18px;
    background-color: white;
    border: 1px solid #ccc;
    padding: 10px;
    width: 728px;
    height: 48px;

}
.type-row .form-area-right input {
    padding: 10px 10px;
}
span.white {
    font-size: 18px;
}
.form-area-left span {
    padding: 3px 11px;
    background: red;
    color:white;
    border-radius: 5px;
    font-size: 18px;
    height: 20px;
}
.form-area-left .gray {
    padding: 3px 11px;
    background: rgba(179, 176, 176, 0.829);
    color:white;
    border-radius: 5px;
    font-size: 18px;
    height: 20px;
}
.contact-read span{
    line-height: 1.2em;
}
.form-area-right input[type="radio"]+span:before {
    border: 1px solid #d5cccc;
}
.form-area-right .details input {
    padding: 10px;
    padding-bottom: 300px;
    width: 728px;
    font-size: 18px;
}
.form-area-right .common input {
    padding: 10px;
    width: 728px;
    height: 48px;
    font-size: 18px;
}
.contact-read h3 .title {
    font-size: 1em;
    text-align: center;
    font-weight: bold; 
}
.private-right {
    margin-top: 5px;
    margin-bottom: 40px;
}
 .private-right p{
    font-weight: 370;
    color: #000000;
}
.col-24col-md.form-area-right.private-right.form  {
    font-size: 18px;
    font-weight: 370;
    line-height: 2;
}
.form-area-right input[type="checkbox"] {
    width: 20px;  /* PCでは小さめ */
    height: 20px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: 2px solid #333;
    border-radius: 4px;
    background: white;
    cursor: pointer;
    position: relative;
}

.form-area-right input[type="checkbox"]:checked::before {
    content: '✔';
    font-size: 12px;
    font-weight: bold;
    color: #333;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.private-row .form-area-right label {
    display: flex;
    align-items: center;
    margin-right: 12px;
    font-size: 18px;
    color: black;
    line-height: 2;
}
.title-row {
    margin-top: 100px;
}
a.external-link {
    text-decoration: underline;
    font-size: 18px;
} 
.g-recaptcha {
    transform: scale(0.9); /* サイズを調整 */
    transform-origin: 0 0;
    margin: 0px;
}
/* div.d-md-flex.justify-content-around.submit-wrap {
    text-align: center;
    display: flex;   
} */
.d-md-flex {
    display: flex !important;
}
.justify-content-around {
    justify-content: space-around !important;
}
.submit-wrap {
    max-width: 710px;
    margin: 60px auto 0;
}
.btn.btn-original.d-block.btn-original-right, .btn.btn-original.btn-original-left.d-block {
    font-size: 14px;
    border-radius: 10px;
    border-width: 0px 0px 6px 0px;
    color: #fff;
    padding-left: 0;
    padding-right: 0;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.1em;
    width: 300px;
    height: 70px;
}
.col-24col-md.form-area-right.private-right.confirm,.col-24.col-md.form-area-right.confirm {
    display: none;
}
#recaptcha-error{
    font-size: 93%;
    color: #B70000;
    
}
/* スマートフォン用 (幅750px以下) */
@media screen and (max-width: 750px) {
    .bs_box {
        height: 0px;
    }
    .inquiry_step {
        margin-top: 60px;
        margin-bottom: 35px;
        width: 85%;
    }
    .inquiry_step__item,.inquiry_step__item.did-active {
        width: 22.38806%;
        -webkit-box-orient: vertical;
        flex-direction: column;
        padding: 0;
        border-bottom: 0;
    }
    .inquiry_step__item.did-active .num {
        border-bottom-color: #191919;
        border-bottom-width: 2px;
        font-weight: 400;
    }
    .inquiry_step__item .num span {
        display: none;
    }
    .inquiry_step__item .text {
        margin-top: 5px;
        font-size: 14px;
    }
    .inquiry_step__item.did-active .num:before {
        right: 2px;
        bottom: -2px;
        border-bottom-color: #191919;
        border-bottom-width: 2px;
    }
    .inquiry_step__item .num {
        position: relative;
        display: flex;
        -webkit-box-pack: center;
        justify-content: center;
        width: 100%;
        padding-bottom: 3px;
        border-bottom: 1px solid #999;
        font-size: 20px;
    }
    .inquiry_step__item .num:before {
        content: "";
        position: absolute;
        right: 1px;
        bottom: -1px;
        width: 23px;
        transform-origin: 100% 100%;
        transform: rotate(45deg);
        border-bottom: 1px solid #999;
    }
    .inquiry_step__item:before {
        width: 0px;
    }
    .mw_wp_form input[type="text"],
    .mw_wp_form input[type="email"],
    .mw_wp_form textarea {
        padding: 0px;
        width: 100%;
    }
    .mw_wp_form{
        padding: 0 20px;
    }
    .row {
        display: block;
    }
    .p-title1, .p-title2 {
        margin-left: 0px;
    }
    .p-title1, .p-title2 {
        line-height: 2;
        padding: 0 20px;
    }
    input {
    box-sizing: border-box;
    }
    input::placeholder {
        font-size: 12px; /* 好きなサイズに変更 */
        color: #999; /* 薄いグレーで見やすく */
        opacity: 1; /* 一部のブラウザで透明度が下がるのを防ぐ */
    }      
    .row {
        margin-bottom: 50px;
    }
    .row-title {
        margin-bottom: 20px;
    }
    .type-row {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 50px;
    }
    
    .type-row .form-area-right {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 0px;
    }
    .form-area-right {
        margin-top: 20px;
    }
    .type-row .form-area-left {
    margin-right: 0px;
    margin-bottom: 40px;
    }
    .form-area-left {
        justify-content: flex-start;
    }
    .form-area-left span{
        margin-left: 15px;
    }
    .type-row .form-area-right label {
    width: 100%;
    padding: 30px;
    margin-bottom: 8px;
    box-sizing: border-box;
    }
    .form-area-right .details input {
        width: 100%;
        padding: 15px 10px; 
        padding-bottom: 300px;
        font-weight: bold;
    }
    .form-area-right .common input {
        padding: 30px;
    }

    .type-row .form-area-right input[type="checkbox"] {
    width: 20px; /* スマホ用に少し大きく */
    height: 20px;
    margin-right: 10px;
    }
    .form-area-right input[type="checkbox"] {
        width: 24px;
        height: 20px;
        margin-top: 5px;
    }
    .private-row .form-area-right label{
        align-items: flex-start;
        padding-top: 0px;
    }
}



.news_banner {
    max-width: 1100px;
    margin: 40px auto; 
    padding: 0 20px;
}

.news_banner img {
    width: 100%;
    max-width: 800px;
    display: block;
    height: auto;
}




