@charset "utf-8";

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
section, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}
body {line-height:1}
section, aside, dialog, figure, footer, header,
hgroup, nav, section {display:block}
ul, ol {list-style:none}
blockquote, q {quotes:none;}
blockquote:before, blockquote:after,
q:before, q:after {content:'';content:none;}
a {margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline;background:transparent}
ins {background-color:#ff9;color:#000;text-decoration:none}
mark {background-color:#ff9;color:#000;font-style:italic;font-weight:bold}
del {text-decoration: line-through}
abbr[title], dfn[title] {border-bottom:1px dotted #000;cursor:help}
table {border-collapse:collapse;border-spacing:0}
hr {display:block;height:1px;border:0;border-top:1px solid #cccccc;margin:1em 0;padding:0}
input, select {vertical-align:middle}
img{ vertical-align:bottom;}
a img {outline:none; border:none;}
a {outline:none;}
a:focus{outline: none;}
area{border:none;outline:none;}

*, *:before, *:after {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;-o-box-sizing: border-box;-ms-box-sizing: border-box;box-sizing: border-box;}
html,body{ width:100%;height:100%;-webkit-font-smoothing: antialiased;}
html,body{ scroll-behavior: smooth;}

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

.pc {}
@media screen and (max-width: 980px) {
.pc { display: none;}
.over:hover {opacity: 1 ;} 
}

img {image-rendering: -webkit-optimize-contrast;}

/*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;}
 
/* --- page link --- */
.page_link{margin-top: -140px;padding-top: 140px; display:block;}
@media screen and (max-width: 1080px) {
.page_link{margin-top: -60px;padding-top: 60px; display:block;}
}



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

html{-webkit-text-size-adjust:100%; font-size: 62.5%;}
body{font-size: 10px;font-size: 1.0rem; color:#000000; font-family:'M PLUS Rounded 1c', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif, "Lucida Grande"; font-weight: 500; background: #ffffff; animation: fadeIn 2s ease 0s 1 normal;-webkit-animation: fadeIn 2s ease 0s 1 normal;}
_::-webkit-full-page-media, _:future, :root body {font-family: 'M PLUS Rounded 1c',"Lucida Grande", "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

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

.Urbanist {font-family: 'Urbanist', sans-serif;}


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

a{color:#00b7ce; text-decoration:none;}
a:hover{color: #ff6b6b;}
a.alllink {position: absolute;top: 0;left: 0;width: 100%;height: 100%;text-indent:-999px;z-index: 1;}

#container {padding: 0; overflow: hidden;}
.cont_wrap {width: 100%; max-width: 1080px; margin: 0 auto;position: relative;}
@media screen and (max-width: 1080px) {#container {padding: 35px 0 0 0; }.cont_wrap {padding: 0 2.5vw;}}

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

/* hr */
hr{height: 1px; display: block; border-top: 1px dotted #4ecdc4; margin: 30px 0;}

/* icons */
@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?vhq38j');
  src:  url('fonts/icomoon.eot?vhq38j#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?vhq38j') format('truetype'),
    url('fonts/icomoon.woff?vhq38j') format('woff'),
    url('fonts/icomoon.svg?vhq38j#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-r_arrow:before {
  content: "\e904";
}
.icon-blank:before {
  content: "\e905";
}
.icon-phone-call:before {
  content: "\e903";
}
.icon-social-twitter:before {
  content: "\e901";
}
.icon-facebook:before {
  content: "\e900";
}
.icon-envelope-o:before {
  content: "\e902";
}



@media(min-width: 980px){a[href^="tel:"]{pointer-events: none;}}

.br_sp{display: none;}
.br_sp2{display: none;}
.br_pc{display: inline;}

@media screen and (max-width: 680px) {
.br_sp{display: inline;}
.br_pc{display: none;}
}

@media screen and (max-width: 320px) {
.br_sp2{display: inline;}
}


.txt_idt{text-indent: -1em;padding-left: 1em;}





/*========================================
page共通
=======================================*/


#mv_page {position: relative;width: 100%; height: 37.5vw; max-height: 450px; max-width: 100%; background-color: #18c6ab; background-image: url("../img/mv_page.jpg"); background-position: center center; background-size: cover; background-repeat: none; display: flex; justify-content: center;align-items: center;}

#mv_page h2 {text-align: center;font-family:'Urbanist', sans-serif; font-size: 1.6rem;line-height: 1;font-weight:900;letter-spacing: 0.5rem; color: #ffffff;}
#mv_page h2 span {width: auto; min-width: 400px; height: auto; font-size: 3.2rem;line-height: 1; font-weight:700; letter-spacing: 0.5rem; color: #4ecdc4;font-family:'M PLUS Rounded 1c'; display: flex; justify-content: center;align-items: center; background: #ffffff; border-radius: 25px; padding: 10px; margin-bottom: 10px;}

@media screen and (min-width: 1480px) {
#mv_page {max-height: 600px;}

}

@media screen and (max-width: 1080px) {
#mv_page {padding-top:5vw;}

}

@media screen and (max-width: 670px) {
#mv_page h2 {font-size: 2.3vw;}
#mv_page h2 span {width: auto; min-width: 60vw; height: auto; font-size: 4.8vw;line-height: 1; font-weight:700; letter-spacing: 0.5rem; color: #4ecdc4;font-family:'M PLUS Rounded 1c'; display: flex; justify-content: center;align-items: center; background: #ffffff; border-radius: 25px; padding: 1.5vw; margin-bottom: 1.5vw;}

}


/* line */
.wl_ffffff{}
.wl_ffffff::after {content: url("../img/wl_ffffff.svg"); width: 100%; height: 13.333vw; position: absolute; bottom: -5px; left: 0; }

.wr_ffffff{}
.wr_ffffff::after {content: url("../img/wr_ffffff.svg"); width: 100%; height: 13.333vw; position: absolute; bottom: -5px; left: 0; }

.wr_green{}
.wr_green::after {content: url("../img/wr_green.svg"); width: 100%; height: 13.333vw; position: absolute; bottom: -5px; left: 0; }

.wl_green{}
.wl_green::after {content: url("../img/wl_green.svg"); width: 100%; height: 13.333vw; position: absolute; bottom: -5px; left: 0; }

.wr_gray{}
.wr_gray::after {content: url("../img/wr_gray.svg"); width: 100%; height: 13.333vw; position: absolute; bottom: -5px; left: 0; }

.wl_footer{}
.wl_footer::after {content: url("../img/wl_footer.svg"); width: 100%; height: 13.333vw; position: absolute; bottom: -5px; left: 0; }






/*========================================
ブログ／NEWS／進路や実績
=======================================*/

.wp_wrap {width: 100%; padding: 30px 0 13vw 0; position: relative;}
.col2_wrap {width: 100%; height: auto; display: flex; justify-content: space-between;align-items: stretch; flex-direction: row; flex-wrap: nowrap;}

.col2_wrap > div:first-of-type {width: 810px; height: auto; }
.results_wrap {width: 100%; height: auto; min-height: 60px; padding: 10px 25px; font-size: 2rem;font-weight:700; letter-spacing: 0; color: #4ecdc4;background: #f2f2f2; line-height: 1.3; border-radius: 30px;  position: relative; display: flex; justify-content: space-between;align-items: center; flex-direction: row; flex-wrap: nowrap; -webkit-transition: all .3s;transition: all .3s;}
.results_wrap span {margin-left: 25px;}
.results_wrap:hover {color: #ffffff;background: #4ecdc4; }
.results_wrap:nth-of-type(n + 2)  {margin-top: 30px;}

.article_wrap {width: 100%; height: auto; background: #f2f2f2; border-radius: 35px; padding:50px; position: relative;}
.article_wrap:nth-of-type(n + 2)  {margin-top: 50px;}
.article_wrap::before{content: ""; width: 15px; height: 15px; background: #4ecdc4; border-radius: 8px; position: absolute; top: 25px; left: 25px;}
.article_wrap::after{content: ""; width: 15px; height: 15px; background: #4ecdc4; border-radius: 8px; position: absolute; top: 25px; right: 25px}

.side_navi_wrap {width: 210px; height: auto; white-space: nowrap;}
.side_navi_wrap h4 {width: 100%; display: block; font-size: 2rem;line-height: 1; font-weight:700; letter-spacing: 0; color: #4ecdc4;  text-align: left;margin: 0 0 20px 0; padding: 0 0 10px 0; border-bottom: 5px solid #4ecdc4;}
.side_navi_wrap ul li {width: 100%;min-height: 40px; font-size: 1.8rem;line-height: 1; font-weight:700; letter-spacing: 0; color: #4ecdc4;  text-align: left; display: flex; justify-content: flex-start;align-items: center; flex-direction: row;}
.side_navi_wrap ul li a {display: inline-block; width: 100%; padding: 10px 0; color: #4ecdc4;}
.side_navi_wrap ul li a:hover {color: #ff6b6b;}

.wp_wrap h3 {width: 100%; display: block; font-size: 3.2rem;line-height: 1.1; font-weight:700; letter-spacing: 0.2rem; color: #4ecdc4;  text-align: center;margin: 0 0 60px 0;position: relative;z-index: 1;}
.wp_wrap h3::after {content: ""; display: block;font-size: 1px; line-height: 1; width:120px; height: 5px; border-radius: 3px; background: #4ecdc4; margin: 20px auto 0 auto;}

.article_wrap h4 {width: 100%; display: block; font-size: 3.2rem;line-height: 1.3; font-weight:700; letter-spacing: 0; color: #4ecdc4;  text-align: left;}
.article_wrap h5 {width: auto; display: inline-block; font-size: 1.6rem;line-height: 1; font-weight:700; letter-spacing: 0; color: #4ecdc4;  text-align: left;margin: 20px 0 40px 0; padding: 10px 0 0 0; border-top: 5px solid #4ecdc4;}

.txt_wrap {width: 100%; font-size: 1.6rem;line-height: 1.9; font-weight:500; color: #666666; text-align: left;}
.txt_wrap img {width: 100%; max-width: 100%; height: auto;display: block; border-radius: 20px;}


@media screen and (max-width: 1080px) {
.col2_wrap {justify-content: flex-start;align-items: stretch; flex-direction: column; flex-wrap: wrap;}
.col2_wrap > div:first-of-type {width: 100%;}
.side_navi_wrap {width: 100%; height: auto; white-space: nowrap; margin: 50px 0 0 0;}
}

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

.wp_wrap h3 {font-size:6vw;margin: 0 0 9vw 0; letter-spacing: 0; line-height: 1.5;}
.wp_wrap h3::after{ width: 100px; height: 3px;}

.article_wrap {border-radius: 20px; padding:35px 4vw 35px 4vw; }
.article_wrap:nth-of-type(n + 2)  {margin-top: 30px;}

.article_wrap h4{font-size: 5vw; }
.article_wrap h5 {font-size: 1.2rem;text-align: left; margin: 2vw 0 4vw 0;border-top: 3px solid #4ecdc4;}
.txt_wrap {font-size: 1.2rem;line-height: 1.8;}
.txt_wrap img {width: 100%; max-width: 100%; height: auto;display: block; border-radius: 10px;}

.wp_wrap .article_wrap::before{width: 10px; height: 10px; border-radius: 5px; top: 15px; left: 15px;}
.wp_wrap .article_wrap::after{width: 10px; height: 10px;border-radius: 5px; top: 15px; right: 15px}

.side_navi_wrap h4 {width: 100%; display: block; font-size: 1.5rem;line-height: 1; font-weight:700; letter-spacing: 0; color: #4ecdc4;  text-align: left;margin: 0 0 20px 0; padding: 0 0 10px 0; border-bottom: 3px solid #4ecdc4;}
.side_navi_wrap ul li {width: 100%; display: block; font-size: 1.4rem;line-height: 1; font-weight:700; letter-spacing: 0; color: #4ecdc4;  text-align: left;}
.side_navi_wrap ul li a {display: block; width: 100%; padding: 15px 0; color: #4ecdc4;}
.side_navi_wrap ul li a:hover {color: #ff6b6b;}

.results_wrap {width: 100%; height: auto; min-height: 40px; padding: 3.5vw 3.5vw; font-size: 1.6rem; position: relative; display: flex; justify-content: space-between;align-items: center; flex-direction: row; flex-wrap: nowrap; -webkit-transition: all .3s;transition: all .3s;}
.results_wrap span {margin-left: 5vw;}
.results_wrap:hover {color: #ffffff;background: #4ecdc4; }
.results_wrap:nth-of-type(n + 2)  {margin-top: 5vw;}


}







/*========================================
お問い合わせ
=======================================*/

.contact01_wrap {width: 100%; padding: 0 0 13vw 0; background: #4ecdc4; position: relative;}
.contact01_wrap h3 {width: 100%; display: block; font-size: 3.2rem;line-height: 1.1; font-weight:700; letter-spacing: 0.2rem; color: #ffffff;  text-align: center;margin: 0 0 60px 0;position: relative;z-index: 1;}
.contact01_wrap h3::after {content: ""; display: block;font-size: 1px; line-height: 1; width:120px; height: 5px; border-radius: 3px; background: #ffffff; margin: 20px auto 0 auto;}

.contact01_wrap h4 {width: 100%; display: block; font-size: 4.5rem;line-height: 1.1; font-weight:700; letter-spacing: 0; color: #ffffff;  text-align: center;margin: 0;position: relative;}
.contact01_wrap h4 a{color: #ffffff;}
.contact01_wrap h4 figure {font-size: 1.8rem; display: block; margin-top: 15px;}

.contact02_wrap {width: 100%; padding: 2vw 0 13vw 0; background: #ffffff; position: relative;}
.contact02_wrap .cont_wrap{max-width: 790px;}
.contact02_wrap h3 {width: 100%; display: block; font-size: 3.2rem;line-height: 1.1; font-weight:700; letter-spacing: 0.2rem; color: #4ecdc4;  text-align: center;margin: 0 0 60px 0;position: relative;z-index: 1;}
.contact02_wrap h3::after {content: ""; display: block;font-size: 1px; line-height: 1; width:120px; height: 5px; border-radius: 3px; background: #4ecdc4; margin: 20px auto 0 auto;}

.contact02_wrap p {font-size: 1.6rem;line-height: 1.7; font-weight:500; color: #666666; margin-bottom: 40px;}

.contact_form {width: 100%;border-collapse: collapse;margin: 0 auto;}
.contact02_wrap tr {border-top: solid 5px #4ecdc4; }
.contact02_wrap tr.bnone {border-top: none; }
.contact02_wrap tr:last-child {border-bottom: solid 5px #4ecdc4;}

.contact02_wrap th {font-size: 1.8rem; color: #666666;font-weight: 500;width: 220px;padding: 40px 0 0 0;text-align: left;vertical-align: top;}
.contact02_wrap th div{width: 100%; display: flex;justify-content: space-between;align-items: center; flex-wrap: wrap; vertical-align: text-top; position: relative;}

.contact02_wrap th.required div:after {content: "必須";background: #ff6b6b;color: #ffffff;font-size: 1.4rem;padding: 8px;text-align: center;border-radius: 5px;}
.contact02_wrap td {font-size: 1.8rem; color: #666666;font-weight: 500;padding: 30px 0 30px 50px;}

.contact02_wrap tr.bnone th{padding: 10px 0 30px 0;}
.contact02_wrap tr.bnone td{padding: 0 0 30px 50px;}

.contact02_wrap input[type="text"]{ display: block;width: 100%; height: 50px; border: none; background: #f2f2f2;padding: 0 20px; border-radius: 25px;vertical-align: top;outline: none;transition: 0.3s ease-in-out;font-size: 1.6rem; color: #666666;}
.contact02_wrap input[type="text"]:nth-of-type(2){margin-top: 20px;}

.contact02_wrap .pcode {display: flex; justify-content: flex-start; align-items: center; flex-wrap: nowrap; margin-bottom: 20px;}
.contact02_wrap .pcode input {width: 160px;}

.contact02_wrap textarea {display: block;width: 100%; height: auto; border: none; background: #f2f2f2;padding: 20px; border-radius: 25px;vertical-align: top;outline: none;transition: 0.3s ease-in-out;font-size: 1.6rem; color: #666666; margin-top: 20px;}

.contact02_wrap input[type="text"]:focus,.contact_form textarea:focus {border: 1px solid #ff6b6b;}
.contact02_wrap input[type="checkbox"],.contact02_wrap input[type="radio"] {width: 18px;height: 18px;margin: 0;padding: 0;}

::placeholder {color: #cccccc;}
::-ms-input-placeholder {color: #cccccc;}
:-ms-input-placeholder {color: #cccccc;}


.contact02_wrap .checkbox_label {display: inline-block;cursor: pointer;font-size: 1.8rem; color: #666666;}
.contact02_wrap .checkbox_txt {vertical-align: top;}
.contact02_wrap label.error {font-size: 1.6rem;display: block;margin: .3em 0 0 0;color: #ff6b6b;}

.confirm_wrap {text-align: center; margin-top: 50px;}
.confirm_wrap02 {text-align: center; margin-top: 50px; display: flex; justify-content: space-around;align-items: center;}
.confirm_wrap label{margin-bottom: 0;}
.confirm_btn {width: 100%;max-width: 360px;margin: 30px auto 0;padding: 0;outline: none;border: none;background: #4ecdc4;border-radius: 30px;color: #ffffff;font-size: 1.8rem;font-weight: bold;height: 60px;cursor: pointer;display: flex;justify-content: center;align-items: center;-webkit-transition: all .3s;transition: all .3s;}

.confirm_btn:hover {background: #b5e448;}
.confirm th {padding: 30px 0!important; line-height: 1.6;}
.confirm td {padding: 30px 0!important; line-height: 1.6;}


@media screen and (max-width: 1080px) {
.contact02_wrap .cont_wrap{max-width: 820px;}
}

@media screen and (max-width: 670px) {
.contact_form tr,
.contact_form td,
.contact_form tr.bnone td{display: block;width: 100%;padding: 20px 0 10px 0!important;;border-top: none;font-size: 1.4rem; vertical-align: middle;}
.contact_form th,.contact_form tr.bnone th {display: block; width: 100%;padding: 10px!important;;background: #4ecdc4;border-radius: 5px;color: #ffffff;font-size: 1.6rem;height:50px;display: flex;}
.contact02_wrap th.required div:after {font-size: 1.2rem;}
.contact02_wrap input[type="text"] {font-size: 1.3rem; height: 50px;}
.contact02_wrap label.error {font-size: 1.2rem;display: block;margin: .3em 0 0 0;color: #ff6b6b;}
.contact02_wrap textarea {font-size: 1.3rem;}
.contact02_wrap .checkbox_label {font-size: 1.4rem; }
.contact02_wrap input[type="checkbox"],.contact02_wrap input[type="radio"] {width: 14px;height: 14px;margin: 0;padding: 0;}


.contact01_wrap,.contact02_wrap {padding: 5vw 0 13vw 0;}
.contact01_wrap h3,.contact02_wrap h3 {font-size:6vw;margin: 0 0 7vw 0; letter-spacing: 0; line-height: 1.5;}
.contact01_wrap h3::after,.contact02_wrap h3::after{ width: 100px; height: 3px;}
.contact01_wrap h4 {font-size: 7.5vw;}
.contact01_wrap h4 figure {font-size: 3.5vw; display: block; margin-top: 2.3vw;}
.confirm_btn {margin: 5vw auto 0;border-radius: 25px;color: #ffffff;font-size: 1.6rem;font-weight: bold;height: 50px;}
.contact02_wrap p {font-size: 1.2rem;line-height: 1.7; font-weight:500; color: #666666; margin-bottom: 6vw;}
.contact02_wrap textarea {border-radius: 10px;}
}




/*========================================
FAQ
=======================================*/

.faq_wrap {width: 100%; padding: 0 0 10vw 0; position: relative;}
.faq_wrap .cont_wrap {max-width: 905px;}
.faq_wrap h3 {width: 100%; display: block; font-size: 3.2rem;line-height: 1.1; font-weight:700; letter-spacing: 0.2rem; color: #4ecdc4;  text-align: center;margin: 0 0 60px 0;position: relative;z-index: 1;}
.faq_wrap h3::after {content: ""; display: block;font-size: 1px; line-height: 1; width:120px; height: 5px; border-radius: 3px; background: #4ecdc4; margin: 20px auto 0 auto;}


.accordion {width: 100%;}
.toggle {display: none;}
.option {position: relative;margin-bottom: 0;}
.title,.content {-webkit-backface-visibility: hidden;backface-visibility: hidden;transform: translateZ(0);transition: all 0.3s;}

.title {font-size: 2rem;line-height: 1.3; font-weight:700; color: #4ecdc4; cursor: pointer;background: #f2f2f2;height: 80px; display: flex; justify-content: flex-start; align-items: center; flex-wrap: nowrap; border-radius: 40px; padding: 0 70px 0 30px;}

.title span{display: block;font-size: 3.2rem;line-height: 1; font-weight:900; color: #4ecdc4;font-family: 'Urbanist', sans-serif; margin-right: 20px;transition: all 0.3s;}

.title::after,
.title::before {
content: "";position: absolute;right: 40px;top: 24px;width: 4px;height: 30px;background-color: #4ecdc4;transition: all 0.3s;}
.title::after {transform: rotate(90deg);}

.title:hover {color: #ff6b6b;}
.title:hover span{color: #ff6b6b;}
.title:hover::after,
.title:hover::before {background-color: #ff6b6b;}


.content {max-height: 0;overflow: hidden;}
.content {width: 100%; font-size: 1.6rem;line-height: 1.9; font-weight:500; color: #666666; padding-bottom: 0; position: relative;margin: 20px auto 0 auto;padding: 0 20px 0 75px;}
.content::before {content: "A";font-size: 3.2rem;line-height: 1; font-weight:900; color: #4ecdc4;font-family: 'Urbanist', sans-serif; position: absolute; top: 0; left: 30px;}
.content table{width: 100%; margin: 20px 0;}
.content table th{border: 1px solid #999999; padding: 5px;vertical-align: middle; white-space: nowrap;}
.content table td{border: 1px solid #999999; padding: 5px;vertical-align: middle;}
.content table td.right{text-align: right}

.faq_box {display: flex; justify-content: flex-start; align-items: center; flex-wrap: nowrap; color: #4ecdc4;}
.faq_box span {display: flex; justify-content: center; align-items: center; padding: 20px 10px 20px 20px; margin: 10px 10px; background: #4ecdc4;color: #ffffff; border-radius: 10px;text-align: center;}
.faq_color {color: #4ecdc4; font-size: 1.1em;}

.toggle:checked + .title + .content {max-height: 1000px; margin: 20px 0 50px 0;}
.toggle:checked + .title::before {
transform: rotate(45deg) !important;
}
.toggle:checked + .title::after {
transform: rotate(135deg) !important;
}


@media screen and (max-width: 670px) {
.faq_wrap {padding: 5vw 0 13vw 0;}
.faq_wrap h3 {font-size:6vw;margin: 0 0 9vw 0; letter-spacing: 0; line-height: 1.5;}
.faq_wrap h3::after{ width: 100px; height: 3px;}

.title {font-size: 1.6rem;}

.title span{display: block;font-size: 2.8rem;line-height: 1; font-weight:900; color: #4ecdc4;font-family: 'Urbanist', sans-serif; margin-right: 20px;transition: all 0.3s;}

.content {width: 100%; font-size: 1.2rem;line-height: 1.7; font-weight:500; color: #666666; padding-bottom: 0; position: relative;margin: 5vw auto 0 auto;padding: 0 20px 0 75px;}

.faq_box span {display: flex; justify-content: center; align-items: center; padding: 10px; margin: 5px 5px; background: #4ecdc4;color: #ffffff; border-radius: 10px;}
}

@media screen and (max-width: 320px) {
.title {font-size: 1.4rem;}
.faq_box span {display: flex; justify-content: center; align-items: center; padding: 7px; margin: 5px 3px; background: #4ecdc4;color: #ffffff; border-radius: 5px; font-size: 1rem;}
}



/*========================================
プライバシーポリシー
=======================================*/

.privacy_wrap {width: 100%; padding: 0 0 10vw 0; position: relative;}
.privacy_wrap .cont_wrap {max-width: 780px;}
.privacy_wrap .cont_wrap > div {margin-bottom: 70px;}
.privacy_wrap h3 {font-size: 2.4rem;line-height: 1.2; font-weight:500; color: #666666;margin-bottom: 15px;}
.privacy_wrap p {font-size: 1.6rem;line-height: 1.9; font-weight:500; color: #666666;}

@media screen and (max-width: 670px) {
.privacy_wrap {padding: 5vw 0 10vw 0; }
.privacy_wrap .cont_wrap > div {margin-bottom: 10.5vw;}
.privacy_wrap h3 {font-size: 5vw;line-height: 1.2; font-weight:500; color: #666666;margin-bottom: 15px;}
.privacy_wrap p {font-size: 1.2rem;line-height: 1.9; font-weight:500; color: #666666;}

}



/*========================================
施設案内
=======================================*/

.facility01_wrap {width: 100%; padding: 0 0 10vw 0; background: #4ecdc4; position: relative;}
.facility01_wrap h3 {width: 100%; display: block; font-size: 3.2rem;line-height: 1.3; font-weight:700; letter-spacing: 0.2rem; color: #ffffff;  text-align: center;margin: 0 0 50px 0;position: relative;z-index: 1;}
.facility01_wrap h3 span{font-size: 2.2rem;}
.facility01_wrap h3::after {content: ""; display: block;font-size: 1px; line-height: 1; width:120px; height: 5px; border-radius: 3px; background: #ffffff; margin: 20px auto 0 auto;}
.facility01_wrap p {font-size: 1.6rem;line-height: 1.9; font-weight:700; color: #ffffff; width: 100%;  text-align: center;}
.facility01_wrap img {width: 100%; height: auto;margin-bottom: 30px;}


.facility02_wrap {width: 100%; padding: 0 0 13vw 0; background: #ffffff; position: relative;}
.facility02_wrap .img_wrap{width: 100%; position: relative;display: flex; justify-content: space-between;align-items: stretch; flex-wrap: wrap;}
.facility02_wrap .img_wrap div {width: 48.15%; height: auto; padding: 20px; border-radius: 40px; background: #f2f2f2; margin-top: 40px; text-align: left;}
.facility02_wrap .img_wrap img{width: 100%; height: auto; border-radius: 25px;}
.facility02_wrap .img_wrap h4{width: 100%; height: auto; font-size: 2.2rem;line-height: 1.2; font-weight:700; color: #4ecdc4;margin-top: 20px;}
.facility02_wrap .img_wrap h4 span{font-size: 1.8rem;}
.facility02_wrap .img_wrap p {width: 100%; height: auto; font-size: 1.6rem;line-height: 1.4; font-weight:500; color: #666666;margin-top: 20px;}


.facility03_wrap {width: 100%; padding: 30px 0 13vw 0; background: #4ecdc4; position: relative;}
.facility03_wrap h3 {width: 100%; display: block; font-size: 3.2rem;line-height: 1.3; font-weight:700; letter-spacing: 0.2rem; color: #ffffff;  text-align: center;margin: 0 0 50px 0;position: relative;z-index: 1;}
.facility03_wrap h3 span{font-size: 2.2rem;}
.facility03_wrap h3::after {content: ""; display: block;font-size: 1px; line-height: 1; width:120px; height: 5px; border-radius: 3px; background: #ffffff; margin: 20px auto 0 auto;}

.facility03_wrap .access_wrap {width: 100%;display: flex; justify-content: space-between;align-items: stretch; flex-wrap: nowrap; margin-bottom: 40px;}
.facility03_wrap .access_wrap div {width: 50%;height: auto; font-size: 1.6rem;line-height: 1.4; font-weight:700; color: #ffffff;display: flex; justify-content: flex-start;}
.facility03_wrap .access_wrap div:last-of-type { display: flex; justify-content: center;align-items: center; border-left: 2px solid #ffffff;border-right: 2px solid #ffffff;}

.facility03_wrap .map_wrap { width: 100%; height: 420px; border-radius: 40px; overflow: hidden;}

@media screen and (max-width: 1080px) {
.facility03_wrap .access_wrap {width: 100%; flex-direction: column; flex-wrap: wrap; margin-bottom: 40px;}
.facility03_wrap .access_wrap div {width: 100%;justify-content: center; text-align: center;}
.facility03_wrap .access_wrap div:last-of-type { display: flex; justify-content: center;align-items: center; border-top: 2px solid #ffffff;border-left: none;border-right: none; margin: 20px 0 0 0; padding: 20px 0 0 0;}
}

@media screen and (max-width: 670px) {
.facility01_wrap,.facility03_wrap {width: 100%; padding: 5vw 0 15vw 0;}
.facility01_wrap h3,.facility03_wrap h3 {font-size: 6vw;margin: 0 0 7.4vw 0;}
.facility01_wrap h3 span{font-size: 4vw;}
.facility01_wrap h3::after,.facility03_wrap h3::after{ width: 100px; height: 3px;}
.facility01_wrap img {margin-bottom: 4.4vw;}
.facility01_wrap p {font-size: 1.2rem;line-height: 1.5; text-align: left;}
.facility01_wrap p span{font-size: 1rem; letter-spacing: 0;}

.facility02_wrap .img_wrap{justify-content: center;align-items: stretch; flex-wrap: wrap;}
.facility02_wrap .img_wrap div {width: 100%; padding: 15px; border-radius: 20px; margin-top: 3vw;}
.facility02_wrap .img_wrap img{border-radius: 10px;}
.facility02_wrap .img_wrap h4{font-size: 4.5vw;line-height: 1.2; margin-top: 3vw;}
.facility02_wrap .img_wrap h4 span{font-size: 3.6vw;}
.facility02_wrap .img_wrap p {width: 100%; height: auto; font-size: 12px;margin-top: 3vw;}

.facility03_wrap .map_wrap { width: 100%; height: 420px; border-radius: 20px; overflow: hidden;}

.facility03_wrap .access_wrap {width: 100%; flex-direction: column; flex-wrap: wrap; margin-bottom: 7vw;}
.facility03_wrap .access_wrap div {font-size: 1.2rem;}
.facility03_wrap .access_wrap div:last-of-type { display: flex; justify-content: center;align-items: center; border-top: 2px solid #ffffff;border-left: none;border-right: none; margin: 4vw 0 0 0; padding: 4vw 0 0 0;}
}




/*========================================
事業案内
=======================================*/


#work_concept{padding-bottom: 13vw; background: #4ecdc4; position: relative;}
#work_concept h3{font-size: 5.2rem;line-height: 1.1; font-weight:900; letter-spacing: 0.5rem; font-family:'Urbanist', sans-serif; color: #ffd1ce; text-align: center;margin: 0 0 55px 0;}
#work_concept h4{font-size: 3.2rem;line-height: 1.5; font-weight:700; letter-spacing: 0.3rem; color: #ffffff;  text-align: center;margin: 0 0 40px 0;}
#work_concept p{font-size: 1.6rem;line-height: 1.7; font-weight:500; color: #ffffff;  text-align: center;}
#work_concept img.w_img01 {width: 136px; height: auto; position: absolute; right: -120px; top: 0; z-index: 0;}
#work_concept img.w_img02 {width: 84px; height: auto; position: absolute; left: -60px; bottom: 0;z-index: 0;}

.work01_wrap {width: 100%; padding: 30px 0 13vw 0; position: relative;}
.work01_wrap h3 {width: 100%; display: block; font-size: 3.2rem;line-height: 1.1; font-weight:700; letter-spacing: 0.2rem; color: #4ecdc4;  text-align: center;margin: 0 0 60px 0;position: relative;z-index: 1;}
.work01_wrap h3::after {content: ""; display: block;font-size: 1px; line-height: 1; width:120px; height: 5px; border-radius: 3px; background: #4ecdc4; margin: 20px auto 0 auto;}

.work01_wrap .gray_wrap {width: 100%; height: auto; background: #f2f2f2; border-radius: 35px; padding:20px; margin-bottom: 30px; position: relative;}
.work01_wrap .gray_wrap h4 {font-size: 2.8rem;line-height: 1.1; font-weight:700; color: #ffffff; width: 100%; height: 50px; text-align: center; background: #4ecdc4; border-radius: 25px; padding:15px; display: flex; justify-content: space-between;align-items: center; margin-bottom: 25px;}
.work01_wrap .gray_wrap h4 figure{display: flex; justify-content: center;align-items: center;}
.work01_wrap .gray_wrap h4 span{font-size: 1.8rem; }
.work01_wrap .gray_wrap h4::before{content: ""; width: 15px; height: 15px; background: #f2f2f2; border-radius: 8px;}
.work01_wrap .gray_wrap h4::after{content: ""; width: 15px; height: 15px; background: #f2f2f2; border-radius: 8px;}

.work01_wrap .gray_wrap p {font-size: 1.6rem;line-height: 1.9; font-weight:500; color: #666666; width: 100%;  text-align: center; margin-bottom: 25px;}
.work01_wrap .gray_wrap h5 {font-size: 1.8rem;line-height: 1.7; font-weight:700; color: #4ecdc4; width: 100%;  text-align: center; margin-bottom: 25px; ;}

.work01_wrap .wrap_btn::before{content: ""; width: 15px; height: 15px; background: #ffffff; border-radius: 8px; position: absolute; top: 20px; left: 20px;}
.work01_wrap .wrap_btn::after{content: ""; width: 15px; height: 15px; background: #ffffff; border-radius: 8px; position: absolute; top: 20px; right: 20px}

.wimg_wrap {width: 100%; height: auto; display: flex; justify-content: space-between;align-items: flex-start;}
.wimg_wrap img {width: 32.59%; height: auto; border-radius: 25px;}

.wimg_wrap_all {width: 100%; height: auto; display: flex; justify-content: center;align-items: flex-start;}
.wimg_wrap_all img {width: 100%; height: auto; }


.work02_wrap {width: 100%; padding: 30px 0 13vw 0; background: #f2f2f2; position: relative;}
.work02_wrap h3 {width: 100%; display: block; font-size: 3.2rem;line-height: 1.1; font-weight:700; letter-spacing: 0.2rem; color: #4ecdc4;  text-align: center;margin: 0 0 60px 0;position: relative;z-index: 1;}
.work02_wrap h3::after {content: ""; display: block;font-size: 1px; line-height: 1; width:120px; height: 5px; border-radius: 3px; background: #4ecdc4; margin: 20px auto 0 auto;}


.work02_wrap .gray_wrap {width: 100%; height: auto; background: #ffffff; border-radius: 35px; padding:20px; margin-bottom: 30px; position: relative;}

.work02_wrap .gray_wrap h4 {font-size: 2.8rem;line-height: 1.1; font-weight:700; color: #ffffff; width: 100%; height: 50px; text-align: center; background: #4ecdc4; border-radius: 25px; padding:15px; display: flex; justify-content: space-between;align-items: center; margin-bottom: 25px;}
.work02_wrap .gray_wrap h4 figure{display: flex; justify-content: center;align-items: center;}
.work02_wrap .gray_wrap h4 span{font-size: 1.8rem; }
.work02_wrap .gray_wrap h4::before{content: ""; width: 15px; height: 15px; background: #ffffff; border-radius: 8px;}
.work02_wrap .gray_wrap h4::after{content: ""; width: 15px; height: 15px; background: #ffffff; border-radius: 8px;}

.work02_wrap .gray_wrap p {font-size: 1.6rem;line-height: 1.9; font-weight:500; color: #666666; width: 100%;  text-align: center; margin-bottom: 25px;}
.work02_wrap .gray_wrap h5 {font-size: 1.8rem;line-height: 1.7; font-weight:700; color: #4ecdc4; width: 100%;  text-align: center; margin-bottom: 25px; ;}


.work03_wrap {width: 100%; padding: 30px 0 13vw 0; background: #4ecdc4; position: relative;}
.work03_wrap h3 {width: 100%; display: block; font-size: 3.2rem;line-height: 1.1; font-weight:700; letter-spacing: 0.2rem; color: #ffffff;  text-align: center;margin: 0 0 60px 0;position: relative;z-index: 1;}
.work03_wrap h3::after {content: ""; display: block;font-size: 1px; line-height: 1; width:120px; height: 5px; border-radius: 3px; background: #ffffff; margin: 20px auto 0 auto;}


.work03_wrap .gray_wrap {width: 100%; height: auto; background: #ffffff; border-radius: 35px; padding:20px; margin-bottom: 30px; position: relative;}

.work03_wrap .wrap_btn::before{content: ""; width: 15px; height: 15px; background: #4ecdc4; border-radius: 8px; position: absolute; top: 20px; left: 20px;}
.work03_wrap .wrap_btn::after{content: ""; width: 15px; height: 15px; background: #4ecdc4; border-radius: 8px; position: absolute; top: 20px; right: 20px}

.work03_wrap .gray_wrap p {font-size: 1.6rem;line-height: 1.9; font-weight:500; color: #666666; width: 100%;  text-align: center; margin-bottom: 25px;}
.work03_wrap .gray_wrap h5 {font-size: 1.8rem;line-height: 1.7; font-weight:700; color: #4ecdc4; width: 100%;  text-align: center; margin-bottom: 25px; ;}

.wrap_01::after {content: "01"; font-size: 21rem;line-height: 1.1; font-weight:900; color: #f2f2f2;position: absolute;font-family:'Urbanist', sans-serif; top: -180px; right: 0; }
.wrap_02::after {content: "02"; font-size: 21rem;line-height: 1.1; font-weight:900; color: #ffffff;position: absolute;font-family:'Urbanist', sans-serif; top: -180px; left: 0; }
.wrap_03::after {content: "03"; font-size: 21rem;line-height: 1.1; font-weight:900; color: #f2f2f2;position: absolute;font-family:'Urbanist', sans-serif; top: -180px; right: 0; }
.wrap_04::after {content: "04"; font-size: 21rem;line-height: 1.1; font-weight:900; color: #ffffff;position: absolute;font-family:'Urbanist', sans-serif; top: -180px; left: 0; }




@media screen and (max-width: 1080px) {
#work_concept img.w_img01 {width: 20vw; height: auto; position: absolute; right: -5vw; top: 10vw; z-index: 0;}
#work_concept img.w_img02 {width: 12vw; height: auto; position: absolute; left: -1vw; bottom: 20px;z-index: 0;}
}

@media screen and (max-width: 670px) {
#work_concept{padding: 5vw 0 18vw 0; background: #4ecdc4;}
#work_concept h3{font-size: 7.7vw;letter-spacing: 0.7vw;margin: 0 0 8vw 0;}
#work_concept h4{font-size: 4.7vw;margin: 0 0 5vw 0;}
#work_concept p{font-size: 1.2rem; letter-spacing: 0;}

.work01_wrap h3,.work02_wrap h3,.work03_wrap h3 {font-size:6vw;margin: 0 0 9vw 0; letter-spacing: 0; line-height: 1.5;}
.work01_wrap h3::after,.work02_wrap h3::after,.work03_wrap h3::after{ width: 100px; height: 3px;}

.work01_wrap .gray_wrap,.work02_wrap .gray_wrap,.work03_wrap .gray_wrap {border-radius: 20px; padding:4vw; margin-bottom: 4.5vw; }

.work01_wrap .gray_wrap h4,.work02_wrap .gray_wrap h4,.work03_wrap .gray_wrap h4 {font-size: 5vw;line-height: 1.1; font-weight:700; height: 40px; border-radius: 20px; padding:10px; display: flex; justify-content: space-between;align-items: center; margin-bottom: 3.7vw;}
.work01_wrap .gray_wrap h4 span{font-size: 3.5vw; }
.work01_wrap .gray_wrap h4::before,.work02_wrap .gray_wrap h4::before,.work03_wrap .gray_wrap h4::before {content: ""; width: 10px; height: 10px; border-radius: 5px;}
.work01_wrap .gray_wrap h4::after,.work02_wrap .gray_wrap h4::after,.work03_wrap .gray_wrap h4::after{content: ""; width: 10px; height: 10px; border-radius: 5px;}

.work01_wrap .gray_wrap p,.work02_wrap .gray_wrap p,.work03_wrap .gray_wrap p {font-size: 1.3rem;text-align: left; margin-bottom: 3.7vw;}
.work01_wrap .gray_wrap h5,.work02_wrap .gray_wrap h5,.work03_wrap .gray_wrap h5 {font-size: 1.4rem;text-align: left; margin-bottom: 3.7vw;}

.wrap_01::after,.wrap_02::after,.wrap_03::after,.wrap_04::after {font-size: 33vw;top: -27vw; }

.work01_wrap .wrap_btn::before,.work02_wrap .wrap_btn::before,.work03_wrap .wrap_btn::before{width: 10px; height: 10px; border-radius: 5px; top: 15px; left: 15px;}
.work01_wrap .wrap_btn::after,.work02_wrap .wrap_btn::after,.work03_wrap .wrap_btn::after{width: 10px; height: 10px;border-radius: 5px; top: 15px; right: 15px}

.wimg_wrap {justify-content: center;align-items: flex-start; flex-direction: column;}
.wimg_wrap img {width: 100%; height: auto; border-radius: 15px; margin-bottom: 3vw;}
.wimg_wrap img:last-of-type {margin-bottom: 0;}

.wimg_wrap_all {width: 100%; height: auto; display: flex; justify-content: center;align-items: flex-start;}
.wimg_wrap_all img {width: 100%; height: auto; }

}




/*========================================
index
=======================================*/


#mv {position: relative;width: 100%; height: 62.5vw; max-height: 750px; max-width: 100%; background-color: #18c6ab; background-image: url("../img/mv.jpg"); background-position: center center; background-size: cover; background-repeat: none; padding-top:488px;}

.loop_wrap {width: 100%;height: 145px;background-image: url(../img/mv_img.jpg);background-repeat:repeat-x;-webkit-background-size: 1430px;background-size: 1430px;-webkit-animation: bgscroll02 25s linear infinite;animation: bgscroll02 25s linear infinite;}

@-webkit-keyframes bgscroll02 {
 0% {background-position: 0 0;}
 100% {background-position: -119.16vw 0;}
}

@keyframes bgscroll02 {
 0% {background-position: 0 0;}
 100% {background-position: -119.16vw 0;}
}


#i_concept{padding-bottom: 70px;}
#i_concept h3{font-size: 5.2rem;line-height: 1.1; font-weight:900; letter-spacing: 0.5rem; font-family:'Urbanist', sans-serif; color: #ff6b6b; text-align: center;margin: 0 0 55px 0;}
#i_concept h4{font-size: 3.2rem;line-height: 1; font-weight:700; letter-spacing: 0.5rem; color: #000000;  text-align: center;margin: 0 0 40px 0;}
#i_concept p{font-size: 1.6rem;line-height: 1.7; font-weight:500; color: #000000;  text-align: center;position: relative;}
#i_concept p img {width:130px; height: auto; }
#i_concept p img.c_img01 {position: absolute; left: 0; bottom: 0;}
#i_concept p img.c_img02 {position: absolute; left: 120px; bottom: 0;}
#i_concept p img.c_img03 {position: absolute; right: 120px; bottom: 0;}
#i_concept p img.c_img04 {position: absolute; right: 0; bottom: 0;}


#i_work {padding: 100px 0 12.5vw 0; background: #4ecdc4; position: relative;}
#i_work .work_01_wrap {width: 100%; border:8px solid #ffffff; border-radius: 20px; padding: 45px; text-align: center;position: relative; }
#i_work .work_01_wrap h3{width: 180px; font-size: 3.2rem;line-height: 1.1; font-weight:700; color: #ffffff; letter-spacing: 0.2em; display: block; background: #4ecdc4; padding: 0 0 0 0.2em; top: -25px; left: 50%;transform: translateX(-50%);-webkit-transform: translateX(-50%);-ms-transform: translateX(-50%); position: absolute;}
#i_work .work_01_wrap h3 span{display: block;font-size: 1.2rem;line-height: 2; font-weight:700;letter-spacing: 0.2em;}
#i_work .work_01_wrap div {width: 100%; display: flex; justify-content: space-between;align-items: center;flex-wrap: wrap;gap:30px 20px;}
#i_work .work_01_wrap div a { width: 48.5%; height: 60px; font-size: 2rem;line-height: 2; font-weight:700; color:#4ecdc4; background: #dcf5f3; border-radius: 30px;display: flex; justify-content: center;align-items: center; -webkit-transition: all .3s;transition: all .3s;}
#i_work .work_01_wrap div a:hover {color:#ffffff; background: #b5e448;}

#i_work .work_02_wrap {width: 100%; display: flex; justify-content: space-between; align-items: stretch;}
#i_work .work_02_wrap div {width: 250px; height: 250px; border:8px solid #ffffff; border-radius: 20px;position: relative;display: flex; justify-content: center;align-items: center; flex-direction: column; background: #4ecdc4;-webkit-transition: all .3s;transition: all .3s;margin: 30px 0 0 0;}
#i_work .work_02_wrap div:hover {background: #b5e448;}
#i_work .work_02_wrap div img {width: 92px; height: auto; padding: 40px 0;}
#i_work .work_02_wrap div h4 {width: 180px; font-size: 2.2rem;line-height: 1.1; font-weight:700; color: #ffffff; text-align: center; }
#i_work .work_02_wrap div h4 span{display: block;font-size: 1.2rem;line-height: 2; font-weight:700;letter-spacing: 0.2em;}


@media screen and (max-width: 1080px) {
#mv {padding-top:40.666vw;}
.loop_wrap {height: 12.083vw; -webkit-background-size: 119.16vw;background-size: 119.16vw;}

#i_concept p span {display: flex; justify-content: center;align-items: center;flex-wrap: nowrap; margin-top: 3vw; }
#i_concept p img {width: 25%; max-width:130px; height: auto; }
#i_concept p img.c_img01,#i_concept p img.c_img02,#i_concept p img.c_img03,#i_concept p img.c_img04 {position: static; }

#i_work {padding: 15vw 0 20vw 0; }
#i_work .work_01_wrap div {width: 100%; display: flex; justify-content: center;align-items: center;flex-wrap: wrap; flex-direction: column;gap:20px;}
#i_work .work_01_wrap div a { width: 100%; max-width: 80%; height: 60px;}

#i_work .work_02_wrap {width: 100%; display: flex; justify-content: space-between; align-items: stretch;flex-wrap: wrap;}
#i_work .work_02_wrap div {width: 48.5%; height: 250px; border:8px solid #ffffff; border-radius: 20px;margin: 30px 0 0 0;}

}

@media screen and (max-width: 670px) {
#i_concept{padding-bottom: 10vw;}
#i_concept h3{font-size: 7.7vw;letter-spacing: 0.7vw;margin: 5vw 0 8vw 0;}
#i_concept h4{font-size: 4.7vw;margin: 0 0 5vw 0;}
#i_concept p{font-size: 1.2rem; letter-spacing: 0;}

#i_work .work_01_wrap {border:5px solid #ffffff; border-radius: 3vw; padding: 8vw 6.5vw 6.5vw 6.5vw;}
#i_work .work_01_wrap h3{width: auto; font-size: 4.8vw;line-height: 1.1; font-weight:700; color: #ffffff; letter-spacing: 0.2em; padding: 0 0.5em 0 0.7em; top: -3.7vw; }
#i_work .work_01_wrap h3 span{font-size: 1vw;}
#i_work .work_01_wrap div a { max-width: 100%; height: 40px;margin-bottom: 3vw; font-size: 14px;}

#i_work .work_02_wrap div {height: auto; border:5px solid #ffffff; border-radius: 3vw; position: relative;display: flex; justify-content: center;align-items: center; flex-direction: column; padding-bottom: 1vw; margin: 3vw 0 0 0;}
#i_work .work_02_wrap div:hover {background: #b5e448;}
#i_work .work_02_wrap div img {width: 14vw; height: auto; padding: 6vw 0;}
#i_work .work_02_wrap div h4 {font-size: 4vw;}
#i_work .work_02_wrap div h4 span{font-size: 1vw;}



}




/*========================================
NEWS
=======================================*/

#i_news {width: 100%; padding: 0 0 18vw 0; position: relative;}
#i_news h3 {font-size: 5.2rem;line-height: 1.1; font-weight:900; letter-spacing: 0.5rem; font-family:'Urbanist', sans-serif; color: #4ecdc4;  text-align: center;margin: 0 0 30px 0;}

.tab_container {width: 100%;display: flex;justify-content: center;align-items:stretch; flex-direction: row; flex-wrap: wrap;}
.tab_item {font-size: 1.6rem; font-weight: 700; line-height: 1;width: 250px; color: #4ecdc4; padding:20px 3.5%; margin: 0 5px; height: 50px;text-align: center;display: block;transition: all 0.3s ease;cursor: pointer;position: relative; background:#dcf5f3;border-radius: 10px 10px 0 0;}
.tab_item:hover {color: #ffffff; background:#4ecdc4;}

input[name="tab_item"] {display: none;}
.tab_content {height: 0; clear: both;overflow: hidden;width: 100%;transition: 0.3s;-webkit-transition: 0.3s;opacity: 0;}
.tab-box{width: 100%;display: block;border-top: 5px solid #4ecdc4;border-bottom: 5px solid #4ecdc4;padding: 30px 0;}

#tab1:checked ~ .tab-box #tab1_content,
#tab2:checked ~ .tab-box #tab2_content,
#tab3:checked ~ .tab-box #tab3_content { height: auto;opacity: 1;}

.tab_container input:checked + .tab_item {color: #ffffff; background:#4ecdc4;}


.tab_content dl {width:100%; height: auto; border-bottom: 1px dotted #4ecdc4; padding: 30px 0; position: relative;display: flex;justify-content: flex-start;align-items:top; flex-direction: row; flex-wrap: nowrap;}
.tab_content dl:last-of-type {width:100%; height: auto; border-bottom: none; }
.tab_content dl > a {position: absolute;top: 0;left: 0;width: 100%;height: 100%;text-indent:-9999px;z-index: 1;}
.tab_content dl dt {width:180px; height: auto; font-size: 1.6rem; line-height: 1.7; font-weight: 500; color: #595757;}
.tab_content dl dd {width:100%; height: auto; font-size: 1.6rem; line-height: 1.7; font-weight: 500; color: #595757;}

.tab_content dl:hover dt,.tab_content dl:hover dd {color:#ff6b6b;}


@media screen and (max-width: 1080px) {
#i_news {width: 100%; padding: 5vw 0 20vw 0; position: relative;}
.tab_container {width: 100%;display: flex;justify-content: space-around;align-items:stretch; flex-direction: row; flex-wrap: wrap;}
.tab_item {font-size: 1.6rem; font-weight: 700; line-height: 1;width: 32%; color: #4ecdc4; padding:20px 3.5%; margin: 0; height: 50px;}
}

@media screen and (max-width: 670px) {
#i_news h3 {font-size: 8vw;margin: 0 0 4.5vw 0;}
.tab_item {font-size: 1.4rem; font-weight: 700; line-height: 1;width: 32%; color: #4ecdc4; padding:0; margin: 0; height: 40px;display: flex;justify-content: center;align-items:center;}

.tab-box{padding: 4vw 0;}
.tab_content dl {padding: 4vw 0; position: relative;display: flex;justify-content: flex-start;align-items:top; flex-direction: column; flex-wrap: wrap;}
.tab_content dl dt {width:100%; height: auto; font-size: 1.2rem; line-height: 1.7; font-weight: 500; color: #595757;}
.tab_content dl dd {width:100%; height: auto; font-size: 1.2rem; fline-height: 1.7; font-weight: 500; color: #595757;}
}




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

footer {width: 100%; padding: 20px 0 70px 0; background: #00b7ce;}
footer .cont_wrap {max-width: 850px;}
footer .f_wrap{display: flex;justify-content: space-between;align-items:stretch;flex-direction: row;flex-wrap: wrap; color: #ffffff;}
footer .f_wrap div:first-of-type {display: flex;justify-content: flex-start;flex-direction: column;}
footer .f_wrap h2 {width: 222px; height: auto; margin-bottom: 25px;}
footer .f_wrap h2 img{width: 100%; height: auto; }
footer .f_wrap p {font-size: 1.4rem;line-height: 1.5; font-weight:700; color: #ffffff!important;}
footer .f_wrap p a{color: #ffffff;}
footer .copyright {width: 100%; font-size: 1.2rem;line-height: 1.5; font-weight:700; margin-top: -2rem;}

footer .f_wrap .f_navi {width: 340px; display: flex;justify-content: space-between;align-items:stretch;flex-direction: row;flex-wrap: wrap;}
footer .f_wrap .f_navi > div  {width: auto;}
footer .f_wrap .f_navi > div > a {display: block; font-size: 1.4rem;line-height: 1.9; font-weight:700; color: #ffffff;white-space: nowrap;}
footer .f_wrap .f_navi > div > a:hover {color: #b5e448;}
footer .f_wrap .f_navi > a {display: block; width: 100%; height: 50px; border-radius: 25px; font-size: 1.6rem;line-height: 1; font-weight:700; color: #00b7ce; background: #ffffff;display: flex;justify-content: center;align-items:center;transition: 0.3s;-webkit-transition: 0.3s; margin-top: 20px;}
footer .f_wrap .f_navi > a:hover {color: #ffffff; background: #b5e448;}

@media screen and (max-width: 1080px) {
footer .f_wrap .f_navi {width: 280px; }
}


@media screen and (max-width: 720px) {
footer {padding: 5vw 0 10vw 0;}
footer .f_wrap{display: flex;justify-content: center;align-items:stretch;flex-direction: column;flex-wrap: wrap; color: #ffffff;}
footer .f_wrap > div:first-of-type {display: flex;justify-content: center;flex-direction: column;text-align: center; margin-bottom: 20px; padding: 0 0 20px 0; border-bottom: 1px solid #ffffff;}
footer .f_wrap h2 {width: 170px; height: auto; margin: 0 auto 5vw auto; text-align: center; }
footer .f_wrap p {font-size: 1.2rem;line-height: 1.5; font-weight:700;}
footer .f_wrap p span {font-size: 1rem;line-height: 1.5; font-weight:700;}

footer .f_wrap .f_navi {width: 85%; text-align: left; display: flex;justify-content: space-around;align-items:stretch;flex-direction: row;flex-wrap: wrap; margin: 0 auto;}
footer .f_wrap .f_navi > div > a {font-size: 1.2rem;}
footer .copyright {width: 100%; font-size: 1.2rem;line-height: 1.5; font-weight:700; margin-top: 2rem; text-align: center;}

footer .f_wrap .f_navi > a {height: 40px; border-radius: 20px; font-size: 1.4rem;margin-top: 3vw;}
}



/*========================================
header
=======================================*/

header {}
#navi {background-color: #ffffff;position: fixed;top: 30px; left: 30px; height: 90px; width: calc(100% - 60px);padding: 0 40px 0 30px;z-index: 10; border-radius: 45px;display: flex; justify-content: flex-start; align-items: center;flex-direction: row;-webkit-transition: all .3s;transition: all .3s;}
/* チェックボックスを非表示 */
#navi input {display: none;}

/* ロゴ */
h1 {}
h1 img {width: 100%; max-width:222px; height: auto; }

/* 上部メニュー */
.menu {width: auto; margin:0 15px 0 auto;}
.menu ul{display: flex;justify-content: flex-end;align-items: flex-end;}
.menu ul li {line-height: 2;font-size: 1.4rem;font-weight: 700;white-space: nowrap;}

#menu-navibtn {display: none;cursor: pointer;cursor: hand;}

.menu > div {display: flex;justify-content: flex-end;align-items: center; margin: 5px 15px 5px 0; color: #00b7ce;}
.h_tel{ line-height: 1;font-size: 1.7rem;font-weight: 700;color: #ffffff; width: 200px; height: 30px; background: #00b7ce;display: flex;justify-content: center;align-items: center; border-radius: 15px; }
.h_tel > a {color:#ffffff;}
.instagram_icon { width: auto; height: 30px; margin-left: 20px;}
.instagram_icon:hover { opacity: 0.7;-webkit-transition: all .3s;transition: all .3s;}

.sp_contact{display:none;}
.sub_navi{ line-height: 1;font-size: 1.2rem;font-weight: 700;margin: 0 0 0 20px;}

.h_contact {display: block;width: 78px; height: 78px; border-radius: 10px; background: #ff6b6b;-webkit-transition: all .3s;transition: all .3s;} 
.h_contact:hover {background: #8cc63f;} 
.h_contact img {width: 100%; height: auto; } 



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

#navi {background-color: #ffffff;position: fixed;top: 0;left: 0;height: 60px;width: 100%;padding: 10px;z-index: 10; border-radius: 0; display: block;}
/* チェックボックスを非表示 */
#navi input {display: none;}

/* ロゴ */
h1 img{width: 100%; max-width:160px; height: auto; }
.menu {display: flex;width: 100%;height: 0; opacity: 0;visibility: hidden;justify-content: flex-start;align-items: flex-start; order: 1;}
.menu ul li {height: auto;width: 100%;border-top: 1px solid #00b7ce;font-size: 1.6rem;}
.menu ul li a{height: 50px;width: 100%; display: flex;justify-content: center;align-items: center;}
.menu > div {display: flex;justify-content: center;align-items: center; flex-direction: column;margin: 20px 0 0 0; order: 2;}

.h_tel{ line-height: 1;font-size: 1.6rem;font-weight: 700;color: #ffffff; width: 100%; height: 40px; background: #00b7ce;display: flex;justify-content: center;align-items: center; border-radius: 20px;margin-bottom: 10px; }
.sp_contact {line-height: 1;font-size: 1.6rem;font-weight: 700;color: #ffffff; width: 100%; height: 40px; background: #00b7ce;display: flex;justify-content: center;align-items: center; border-radius: 20px;margin-bottom: 10px;}
.sp_contact:hover {color: #ffffff; }
.sub_navi{ line-height: 1;font-size: 1.6rem;font-weight: 700;margin: 20px;}
.h_contact {display: none;}
.instagram_icon { width: auto; height: 35px; margin-left: 0; margin-bottom: 20px;}


  /* メニューを移動させないため */
  #menu-navibtn:checked ~ #navi {
    position: fixed;
    overflow-y: hidden;
    overflow-x: hidden;
    height: 100%;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 10px;
  }
}


/* パソコン用 */
@media screen and (min-width: 1080px) {


.menu ul li > a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  padding: 0 0;
  margin: 0 15px;
}
.menu ul li > a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #ff6b6b;
  transform: scale(0, 1);
  transition: transform .3s;
  transform-origin: left top;
}
.menu ul li > a:hover::after {
  transform: scale(1, 1);
}
  
/* ハンバーガー */
#navi #navibtn {display: none;}

}



/* スマホ用 */
@media screen and (max-width: 1080px) {

  .menu ul{flex-direction: column;}
  /* ハンバーガーメニューがクリックされた時 */
  #menu-navibtn:checked ~ * .menu {
    display: block;
    opacity: 1;
    height: auto;
    visibility: visible;
  }
  
  #menu-navibtn:checked ~ * .menu ul li {
    max-height: inherit;
    overflow-y: visible;
  }

}

/* ハンバーガー */
#navi #navibtn {display: none;}



@media screen and (max-width: 1080px) {
  #navi #navibtn {display: block;position: absolute;top: 10px;right: 10px; cursor: pointer;}
  #navibtn span {display: block;width: 40px;height: 40px;background-color: #ff6b6b;-webkit-transition: .35s ease-in-out;-moz-transition: .35s ease-in-out;transition: .35s ease-in-out; border-radius: 5px;}
  #navibtn span span {display: block;overflow: hidden;width: 1px;height: 1px;}
  #navibtn span span::before,
  #navibtn span span::after,
  #navibtn span::after {position: absolute;left:10px;content:"";width: 20px;height: 1px;background-color: #FFF;-webkit-transition: .3s ease-in-out;-moz-transition: .3s ease-in-out;transition: .3s ease-in-out;}
  /* 上の棒 */
  #navibtn span span::before {top:12px;}
  #menu-navibtn:checked ~ #navi label#navibtn span span::before {top:19px;-webkit-transform: rotate(315deg);-moz-transform: rotate(315deg);transform: rotate(315deg);}
  /* 下の棒 */
  #navibtn span::after {top:26px;}
  #menu-navibtn:checked ~ #navi label#navibtn > span::after {top:19px;-webkit-transform: rotate(-315deg);-moz-transform: rotate(-315deg);transform: rotate(-315deg);}
  /* 中の棒 */
  #navibtn span span::after {top:19px;}
  #menu-navibtn:checked ~ #navi label#navibtn span span::after {display: none;}
}


/* --- WP pagenation --- */
.pagination{margin:40px 0 60px 0;}
.nav-links{display:flex; flex-direction: row; justify-content: center; align-items: center;}
.pagination .page-numbers{transform: rotate(0.05deg);font-size: 180%; width: 40px; height: 40px; margin-right:10px;color:#333;border-radius:10px;background:#dcd7d1; display:flex; flex-direction: row; justify-content: center; align-items: center; flex-wrap: nowrap;transition: all 0.3s;}
.pagination .page-numbers:hover {background:#00b7ce; color: #ffffff;}
.pagination .current{padding:15px;background:#f46066;color:#fff;}
.pagination .current:hover{background:#f46066;color:#fff;}
.pagination .prev,.pagination .next{background:transparent;box-shadow:none;color:#00b7ce;width: auto;}
.pagination .prev:hover,.pagination .next:hover{box-shadow:none;color:#f46066;width: auto;background:none;}
.pagination .dots{background:transparent;box-shadow:none;}

