@charset "utf-8";

/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,::before,::after{box-sizing:border-box;border-style:solid;border-width:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}main{display:block}p,table,blockquote,address,pre,iframe,form,figure,dl{margin:0;transform: rotate(0.05deg);}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0;transform: rotate(0.05deg);}ul,ol{margin:0;padding:0;list-style:none}dt{font-weight:500}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}svg,img,embed,object,iframe{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:auto;appearance:auto;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}button,[type="button"],[type="reset"],[type="submit"]{cursor:pointer}button:disabled,[type="button"]:disabled,[type="reset"]:disabled,[type="submit"]:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}option{padding:0}fieldset{margin:0;padding:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type="number"]{-moz-appearance:textfield}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-color:inherit;border-collapse:collapse}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:700}

em {font-style: italic;}

html{ scroll-behavior: smooth;}
html,body{ width:100%;height:100%;-webkit-font-smoothing: antialiased;scroll-behavior: smooth;}


.over {transition: 0.3s ;}
.over:hover {opacity: 0.5 ;}

/*clearfix*/
.clearfix:after{content: "."; display: block; height: 0; font-size:0; clear: both; visibility:hidden}
.clearfix{display: inline-block;}
* html .clearfix{height: 1%;}
.clearfix{display:block;}
 


/*========================================
BASIC
=======================================*/

html{-webkit-text-size-adjust:100%; font-size: 62.5%;}
body{font-size: 10px;font-size: 1.0rem; color:#ec7971; font-weight: 600;font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; animation: fadeIn 2s ease 0s 1 normal;-webkit-animation: fadeIn 2s ease 0s 1 normal;}
_::-webkit-full-page-media, _:future, :root body {font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@media screen and (max-width: 768px) {

}



/* ios Safari */
@supports (-webkit-touch-callout: none) {body {height: -webkit-fill-available;}}

a{color:#ec7971; text-decoration:none;}
a:hover{color: #47bbc5;}

/* alllink */
a.all {position: absolute;top: 0;left: 0;width: 100%;height: 100%;z-index: 5; }

#container {width: 100%; height: auto; overflow: clip; position: relative;background-image: url("../img/h_bg.png"); background-size: 1024px auto; background-repeat: repeat-x; background-position: top center; background-color:#fff5e0; }


/* --- page link --- */
.page_link{margin-top: -120px;padding-top: 120px; display:block; z-index: -1;position: relative;}
.pc {}
.sp { display: none;}

@media screen and (max-width: 768px) {
#container {background-size: 100vw auto; }
}

@media screen and (max-width: 768px) {

/* --- page link --- */
.page_link{margin-top: -110px;padding-top: 110px; display:block;}
.pc { display: none;}
.sp { display: inherit;}
.over:hover {opacity: 1 ;}
}



/* page-top */
#page-top {position: fixed;bottom: 20px;right: 20px;z-index:100; max-width:50px; height:auto;transition: 0.5s;-webkit-transition: 0.5s;}
#page-top img {max-width:50px; height:auto;transition: 0.5s;-webkit-transition: 0.5s;}
#page-top:hover {transform: translate(0,-10px);}

/* hr */
hr{}

/* icons */
@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?r5vvi9');
  src:  url('fonts/icomoon.eot?r5vvi9#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?r5vvi9') format('truetype'),
    url('fonts/icomoon.woff?r5vvi9') format('woff'),
    url('fonts/icomoon.svg?r5vvi9#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow:before {
  content: "\e901";
}
.icon-instagram:before {
  content: "\e90b";
}
.icon-open:before {
  content: "\e900";
}





@media(min-width: 768px){a[href^="tel:"]{pointer-events: none;text-decoration: none;color: inherit;}}

.txt_idt_1{text-indent: -1em;padding-left: 1em;}
.txt_idt_2{text-indent: -2em;padding-left: 2em;}
.txt_idt_3{text-indent: -3em;padding-left: 3em;}
.txt_idt_4{text-indent: -4em;padding-left: 4em;}

/* bottomspace */
@media(max-width: 768px){
.gap_00 {gap:0!important;}
}

/* bottomspace */
.mb_00 {margin-bottom: 0!important;}
.mb_10 {margin-bottom: 10px!important;}
.mb_15 {margin-bottom: 15px!important;}
.mb_20 {margin-bottom: 20px!important;}
.mb_25 {margin-bottom: 25px!important;}
.mb_30 {margin-bottom: 30px!important;}
.mb_35 {margin-bottom: 35px!important;}
.mb_40 {margin-bottom: 40px!important;}
.mb_45 {margin-bottom: 45px!important;}
.mb_50 {margin-bottom: 50px!important;}
.mb_55 {margin-bottom: 55px!important;}
.mb_60 {margin-bottom: 60px!important;}
.mb_65 {margin-bottom: 65px!important;}
.mb_70 {margin-bottom: 70px!important;}
.mb_80 {margin-bottom: 80px!important;}
.mb_90 {margin-bottom: 90px!important;}
.mb_100 {margin-bottom: 100px!important;}

/* text size*/
.txt_12 {font-size: 1.2rem!important;}
.txt_14 {font-size: 1.4rem!important;}
.txt_16 {font-size: 1.6rem!important;}
.txt_18 {font-size: 1.8rem!important;}
.txt_20 {font-size: 2rem!important;}
.txt_22 {font-size: 2.2rem!important;}
.txt_24 {font-size: 2.4rem!important;}
.txt_26 {font-size: 2.6rem!important;}
.txt_28 {font-size: 2.8rem!important;}
.txt_30 {font-size: 3rem!important;}
.txt_32 {font-size: 3.2rem!important;}
.txt_34 {font-size: 3.4rem!important;}
.txt_36 {font-size: 3.6rem!important;}
.txt_38 {font-size: 3.8rem!important;}
.txt_40 {font-size: 4rem!important;}
.txt_42 {font-size: 4.2rem!important;}
.txt_50 {font-size: 5rem!important;}


@media screen and (max-width: 768px) {
/* bottomspace */
.mb_10 {margin-bottom: 2vw!important;}
.mb_15 {margin-bottom: 3vw!important;}
.mb_20 {margin-bottom: 4vw!important;}
.mb_25 {margin-bottom: 5vw!important;}
.mb_30 {margin-bottom: 6vw!important;}
.mb_35 {margin-bottom: 7vw!important;}
.mb_40 {margin-bottom: 8vw!important;}
.mb_45 {margin-bottom: 9vw!important;}
.mb_50 {margin-bottom: 10vw!important;}
.mb_55 {margin-bottom: 11vw!important;}
.mb_60 {margin-bottom: 12vw!important;}
.mb_65 {margin-bottom: 13vw!important;}
.mb_70 {margin-bottom: 14vw!important;}
.mb_80 {margin-bottom: 16vw!important;}
.mb_90 {margin-bottom: 18vw!important;}
.mb_100 {margin-bottom: 20vw!important;}

/* text size*/
.txt_12 {font-size: 1rem!important;}
.txt_14 {font-size: 1.2rem!important;}
.txt_16 {font-size: 1.4rem!important;}
.txt_18 {font-size: 1.6rem!important;}
.txt_20 {font-size: 1.8rem!important;}
.txt_22 {font-size: 2rem!important;}
.txt_24 {font-size: 2rem!important;}
.txt_26 {font-size: 2rem!important;}
.txt_28 {font-size: 2.2rem!important;}
.txt_30 {font-size: 2.2rem!important;}
.txt_32 {font-size: 2.4rem!important;}
.txt_34 {font-size: 2.6rem!important;}
.txt_36 {font-size: 2.8rem!important;}
.txt_38 {font-size: 3rem!important;}
.txt_40 {font-size: 3rem!important;}
.txt_42 {font-size: 3rem!important;}
}

/* text line-height*/
.txt_l10 {line-height: 1!important;}
.txt_l11 {line-height: 1.1!important;}
.txt_l12 {line-height: 1.2!important;}
.txt_l13 {line-height: 1.3!important;}
.txt_l14 {line-height: 1.4!important;}
.txt_l15 {line-height: 1.5!important;}
.txt_l16 {line-height: 1.6!important;}
.txt_l17 {line-height: 1.7!important;}
.txt_l18 {line-height: 1.8!important;}
.txt_l19 {line-height: 1.9!important;}
.txt_l20 {line-height: 2!important;}

/* text weight*/
.txt_w400 {font-weight: 400!important;}
.txt_w500 {font-weight: 500!important;}
.txt_w600 {font-weight: 600!important;}
.txt_w700 {font-weight: 700!important;}
.txt_w800 {font-weight: 800!important;}

/* text color*/
.c_00afcc {color: #00afcc!important;}
.c_8ec724 {color: #8ec724!important;}
.c_f38470 {color: #f38470!important;}
.c_f48570 {color: #f48570!important;}
.c_666666 {color: #666666!important;}
.c_1b1c80 {color: #1b1c80!important;}
.c_ffffff {color: #ffffff!important;}
.c_f08d1d {color: #f08d1d!important;}



/* bg color*/
.bgc_e7f5f2 { background-color: #e7f5f2!important;}
.bgc_fde7e2 { background-color: #fde7e2!important;}


/* 強調*/
.attention {width: auto; display: flex; flex-direction: row; justify-content: center; align-items:center; gap:10px; margin:0 auto;}
.attention:before {content: "＼";font-size: 1.2em; font-weight: 400;}
.attention:after {content: "／";font-size: 1.2em;font-weight: 400;}
       

.txt_center {text-align: center!important;}
.txt_left {text-align: left!important;}
.txt_right {text-align: right!important;}



/* ボタン*/
.btn_wrap {width:100%; padding: 70px 0;}
a.links {width: 100%; height: 70px;font-size: 3.4rem; font-weight: 900; line-height: 1; display:flex; justify-content: center;align-items: center; gap:25px; position: relative; color: #ffffff;background: #ec7971; border-radius: 35px; -webkit-transition: all .3s;transition: all .3s;}

@media screen and (min-width: 768px) {
a.links:hover {background: #47bbc5;}

}
@media screen and (max-width: 768px) {
.btn_wrap {width:100%; padding: 9vw 0;}
a.links { height: 50px;font-size: 2.4rem;  gap:15px; pborder-radius: 25px; }
}




/*========================================
main
=======================================*/

main {width: 100%; max-width: 950px; margin: 0 auto; padding: 100px 25px 30px 25px;}
main img{width: 100%;}

.title {width: 100%; margin-bottom: 40px;}
.concept {width: 100%; display:flex; justify-content: space-between;align-items: flex-start; }
.concept div:first-of-type {width: 40%;}
.concept div:last-of-type {width: 56%; }
.concept div:last-of-type p {display: block; width: 100%; font-size: 1.75rem; line-height: 1.7;}


.concept_02 {width: 100%; text-align: center; margin-bottom: 40px;}
.concept_02 img {max-width: 828px; }

.coment_wrap {width: 100%; max-width: 800px; margin: 0 auto; background: #ffffff; border-radius: 20px; padding: 30px 260px 40px 40px; position: relative;margin-bottom: 50px;}
.coment_wrap h4{font-size: 2.65rem; line-height: 1; display: flex;justify-content: flex-start;align-items: flex-start; gap:20px; margin-bottom: 25px;}
.coment_wrap h4 span:first-of-type {font-size: 1.7rem; line-height: 1; padding-top: 8px;}
.coment_wrap h4 a {font-size: 1.4rem; font-weight: 500; line-height: 1; display: flex;justify-content: flex-start;align-items: center; gap:5px; margin-top: 20px;-webkit-transition: all .3s;transition: all .3s;}
.coment_wrap h4 a i{font-size: 1.4em;}
.coment_wrap p {display: block; width: 100%; font-size: 1.75rem; font-weight: 500; line-height: 1.5;}
.coment_wrap img {max-width: 209px; position: absolute; bottom: 0; right: 40px;}

.prize {width: 100%; }

.apply_wrap {width: 100%; max-width: 860px;}
.apply_wrap p {width: 100%; font-size: 1.7rem; font-weight: 700; line-height: 1.9; color: #231815; padding: 15px 0 0 92px;}
.apply_wrap p span {color: #ec7971; }
.apply_wrap .apply_01, .apply_wrap .apply_02,.apply_wrap .apply_03 {width: 100%; margin-bottom: 50px;}
.apply_wrap .apply_02 img,.apply_wrap .apply_03 img,.apply_wrap .apply_04 img {max-width: 830px; margin-left: 27px;}





@media screen and (max-width: 768px) {
main {padding: 40px 4.5vw 4vw 4.5vw;}
.title {width: 100%; margin-bottom: 20px;}
.concept {width: 100%; display:flex; justify-content: flex-start;align-items: flex-start;flex-direction: column; }
.concept div:first-of-type {width: 100%;text-align: center; margin-bottom: 5vw;}
.concept div:first-of-type img {max-width: 50%; margin: 0 auto;}
.concept div:last-of-type {width: 100%; }
.concept div:last-of-type p {font-size: 1.6rem; }

.concept_02 {width: 100%; text-align: center; margin-bottom: 125px;}

.coment_wrap {width: 100%; max-width: 800px; margin: 0 auto; background: #ffffff; border-radius: 15px; padding: 45px 4.5vw 4.5vw 4.5vw; position: relative; margin-bottom: 20px;}
.coment_wrap h4{font-size: 2.65rem; line-height: 1; display: flex;justify-content: flex-start;align-items: flex-start; flex-direction: column; gap:15px; margin-bottom: 30px;}
.coment_wrap h4 span:first-of-type {font-size: 1.7rem; line-height: 1; padding-top: 8px;}
.coment_wrap h4 a {font-size: 1.4rem; font-weight: 500; line-height: 1; display: flex;justify-content: flex-start;align-items: center; gap:5px; margin-top: 10px;-webkit-transition: all .3s;transition: all .3s;}
.coment_wrap h4 a i{font-size: 1.4em;}
.coment_wrap p {display: block; width: 100%; font-size: 1.6rem; font-weight: 500; line-height: 1.5;}
.coment_wrap img {max-width: 161px; position: absolute; bottom: inherit; top: -100px; right: 15px;}

.apply_wrap {width: 100%; max-width: 860px;}
.apply_wrap p {width: 100%; font-size: 1.6rem; font-weight: 700; line-height: 1.6; color: #231815; padding: 10px 0 0 12vw;}
.apply_wrap p span {color: #ec7971; }
.apply_wrap .apply_01, .apply_wrap .apply_02,.apply_wrap .apply_03 {width: 100%; margin-bottom: 25px;}
.apply_wrap .apply_02 img,.apply_wrap .apply_03 img,.apply_wrap .apply_04 img {max-width: 830px; margin-left: 0;}
}






/*========================================
footer
=======================================*/


footer {width: 100%; min-height: 300px; background-image: url("../img/f_bg.png"); background-size: 1024px auto; background-repeat: repeat-x; background-position: bottom center; background-color: #47bbc5;}
.fotter_inner { width:100%; max-width: 850px; margin: 0 auto; padding: 65px 25px 100px 25px;}
.fotter_inner h4 {max-width: 440px; height: 44px; background: #ffffff; color: #47bbc5;font-size: 2.75rem; font-weight: 900; line-height: 1; border-radius: 22px; display: flex;justify-content: center;align-items: center; margin: 0 auto 30px auto; }
.cation_wrap {width:100%; margin-bottom: 60px;}
.cation_wrap p{width:100%;  font-size: 1.8rem; font-weight: 600; line-height: 1.7; color: #ffffff;text-indent: -1em;padding-left: 1em;}

.contact_wrap {width:100%; max-width: 565px; text-align: center; margin: 0 auto;}
.contact_wrap .c_name {width:100%;max-width: 292px; margin-bottom: 30px;}
.contact_wrap .free_tel {width:100%;max-width: 565px; margin-bottom: 25px;}
.contact_wrap p{width:100%;  font-size: 2rem; font-weight: 600; line-height: 1.5; color: #ffffff; text-align: left;}
.contact_wrap a.email {width:100%;  font-size: 2.9rem; font-weight: 600; line-height: 1.5; color: #ffffff;display: flex;justify-content: flex-start;align-items: center; gap:20px;-webkit-transition: all .3s;transition: all .3s;}
.contact_wrap a.email span {font-size: 2.4rem}

@media screen and (min-width: 768px) {
.contact_wrap a.email:hover {color: #ec7971;}
}

@media screen and (max-width: 768px) {
footer {background-size: 100vw auto; }

.fotter_inner { width:100%; max-width: 850px; margin: 0 auto; padding: 10vw 4.5vw 60px 4.5vw;}
.fotter_inner h4 {width: 100%; max-width: 440px; height: 34px; background: #ffffff; color: #47bbc5;font-size: 2rem; font-weight: 900; line-height: 1; border-radius: 17px; display: flex;justify-content: center;align-items: center; margin: 0 auto 20px auto; }
.cation_wrap {width:100%; margin-bottom: 10vw;}   
.cation_wrap p{width:100%;  font-size: 1.5rem; font-weight: 600; line-height: 1.7; color: #ffffff;text-indent: -1em;padding-left: 1em;}

.contact_wrap {width:100%; max-width: 565px; text-align: center; margin: 0 auto;}
.contact_wrap .c_name {width:100%;max-width: 61vw; margin-bottom: 20px;}
.contact_wrap .free_tel {width:100%;max-width: 565px; margin-bottom: 20px;}
.contact_wrap p{width:100%;  font-size: 1.5rem; font-weight: 600; line-height: 1.5; color: #ffffff; text-align: left;}
.contact_wrap a.email {width:100%;  font-size: 1.5rem; font-weight: 600; line-height: 1.5; color: #ffffff;display: flex;justify-content: flex-start;align-items: center; gap:20px;-webkit-transition: all .3s;transition: all .3s;}
.contact_wrap a.email span {font-size: 1.5rem}

}






/*========================================
Animation
=======================================*/



.mv_faderight {
animation-name:mvfaderightAnime;
animation-duration:2s;
animation-fill-mode:forwards;

opacity: 0;
}
@keyframes mvfaderightAnime{
  from {
    opacity: 0;
  transform: translateX(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}


.mvfadeup {
animation-name:mvfadeUpAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;

opacity: 0;
}
@keyframes mvfadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(50px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

.mvfadedown {
animation-name:mvfadedownAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;

opacity: 0;
}
@keyframes mvfadedownAnime{
  from {
    opacity: 0;
  transform: translateY(-50px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}




.fadeleftTrigger,.faderightTrigger,.fadedownTrigger,.fadedownTrigger02,.fadeupTrigger{opacity: 0;}





.fadeleft {
animation-name:fadeleftAnime;
animation-duration:2s;
animation-fill-mode:forwards;

opacity: 0;
}
@keyframes fadeleftAnime{
  from {
    opacity: 0;
  transform: translateX(-100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}



.faderight {
animation-name:faderightAnime;
animation-duration:2s;
animation-fill-mode:forwards;

opacity: 0;
}
@keyframes faderightAnime{
  from {
    opacity: 0;
  transform: translateX(100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}


.fadeup {
animation-name:fadeUpAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;

opacity: 0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}


.mvfade {
animation-name:mvfadeAnime;
animation-duration:3s;
animation-fill-mode:forwards;

opacity: 0;
}
@keyframes mvfadeAnime{
  from {
    opacity: 0;
  transform: translateY(50px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}



.fadedown {
animation-name:fadedownAnime;
animation-duration:2s;
animation-fill-mode:forwards;

opacity: 0;
}
@keyframes fadedownAnime{
  from {
    opacity: 0;
  transform: rotate(-90deg);
  }

  to {
    opacity: 1;
  transform:rotate(0);
  }
}

.fadedown02 {
animation-name:fadedownAnime02;
animation-duration:2s;
animation-fill-mode:forwards;
opacity: 0;
}
@keyframes fadedownAnime02{
  from {
    opacity: 0;
  transform: rotate(-90deg);
  }

  to {
    opacity: 1;
  transform:rotate(0);
  }
}




@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}


.animate {opacity: 0; }
.fade-in {transform: translateY(120px); transition: opacity 0.5s ease, transform 0.5s ease; }
.zoom-in {transform: scale(0.2); transition: opacity 0.5s ease, transform 0.5s ease; }
.show {opacity: 1; transform: translateY(0) scale(1) translateX(0) rotateY(0); }


/* アニメーションスタートの遅延時間を決めるCSS*/
.delay-time02{animation-delay: 0.2s;}
.delay-time04{animation-delay: 0.4s;}
.delay-time06{animation-delay: 0.6s;}
.delay-time10{animation-delay: 1s;}
.delay-time12{animation-delay: 1.2s;}
.delay-time20{animation-delay: 2s;}
.delay-time23{animation-delay: 2.3s;}
.delay-time30{animation-delay: 3s;}
