@charset "UTF-8";

/* -----------reset----------- */
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,article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary,time, mark, audio, video{margin:0; padding:0; border:0; outline:0; font-size:100%; font-weight:normal; font-style:normal; vertical-align:baseline; background:transparent;}
body{line-height:1;}
*, *::before, *::after{box-sizing:border-box;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}
nav ul{list-style:none;}
li{list-style:none;}
blockquote, q{quotes:none;}
blockquote:before, blockquote:after,q:before, q:after{content:''; content:none;}
a{margin:0; padding: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; 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;}

/* -----------base----------- */
body{font-family:FP-KoburinaGoStdN-W3, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", "Helvetica Neue", "Segoe UI", sans-serif; font-weight:300; color:#4c2723; letter-spacing:0.05em; line-height:1.8; overflow-wrap:anywhere; overflow-x:clip;}
.en{font-family:HelveticaNeueLTPro-Th, "Helvetica", "Helvetica Neue", "Segoe UI", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif; font-weight:200;}
a{color:#4c2723; text-decoration:none; transition:color .3s ease, background-color .3s ease;}
a:hover, a:focus{color:#2983ac;}
a:visited{color:#4c2723;}
a:visited:hover{color:#2983ac;}
img{display:block; width:100%; height:auto;}
button{font:inherit; cursor:pointer;}
:focus-visible{outline:3px solid #2983ac; outline-offset:3px;}

/* -----------Header----------- */

.tHeader.transform{background:rgba(255,255,255,.9);}
.transform .tHeader_inner{padding:0;}
.transform .tHeader_ttl{margin:5px 0 -5px 10px;}
.transform .tNav_sub{margin-bottom:5px;}
.transform .tHeader_col-03{width:70px;}
.transform .tMenuBtn{display:block; height:70px; width:70px; border-radius:0;}
.transform .tMenuBtn_bar{right:15px;}
.transform .tMenuBtn span:nth-child(1){top:20px;}
.transform .tMenuBtn span:nth-child(2){top:35px;}
.transform .tMenuBtn span:nth-child(3){top:50px;}
.transform .tMenuBtn.active span:nth-child(1){top:35px;}
.transform .tMenuBtn.active span:nth-child(3){top:35px;}

.tHeader{position:fixed; top:0; left:0; width:100%; transition-duration:.3s; transition-property:background-color, color; z-index:1000;}
.tHeader_inner{max-width:none; padding:25px 50px; transition-duration:.3s; transition-property:padding; position:static;}
.tHeader_cols{display:flex; align-items:center;}
.tHeader_ttl{display:flex; align-items:center;}
.tHeader_ttl-01{width:45px; margin-right:10px;}
.tHeader_ttl-02{width:200px; margin-right:25px;}
.tHeader_ttl-03{width:80px; border-left:solid #ccc 1px; padding-left:25px;}
.tHeader_ttl-03 img{margin:5px 0 -3px 0;}
.tHeader_col-02{width:100%; margin-left:auto; position:relative; top:7px;}
.tNav_sub{display:flex; justify-content:flex-end; align-items:center; font-size:90%; margin-bottom:10px;}
.tNav_sub li{padding:0 15px;}
.tNav_sub li a{color:#fff; background-color:#5ead38; padding:5px 15px; border-radius:100vh;}
.tNav_sub li a:hover{color:#fff; background-color:#2983ac;}
.tNav_sub li i{margin-right:3px;}
.tNav_list{list-style:none; display:flex; justify-content:flex-end;}
.tNav_list li.large_list{position:relative; padding:0 15px; font-weight:bold;}
.tNav_list li.large_list::after{content:""; position:absolute; left:0; top:100%; width:100%; height:10px;}

.tNav_list_cd{position:absolute; top:100%; left:0; z-index:9999; background:rgba(94, 173, 56, 0.8); padding:20px 20px; border-radius:5px; font-size:80%; font-weight:bold; margin-top:5px; box-sizing:border-box; display:none;}
.tNav_list_cd li{margin:5px 0;}
.tNav_list_cd a{color:#fff;}
.tNav_list_cd a:hover{color:#377e15;}

.tHeader_col-03{width:80px; margin-left:15px; position:relative;}
.tMenuBtn{display:block; height:80px; width:80px; position:relative; color:#fff; background:#5ead38; border-radius:50%; border:none; overflow:hidden; transition-duration:.3s; transition-property:border-radius; z-index:2000;}
.tMenuBtn_bar{display:block; width:40px; height:2px; background-color:currentColor; margin:0 auto; position:absolute; right:20px; transition-duration:.3s; transition-property:transform, top;}
.tMenuBtn span:nth-child(1){top:25px;}
.tMenuBtn span:nth-child(2){top:40px;}
.tMenuBtn span:nth-child(3){top:55px;}
.tMenuBtn.active span:nth-child(1){top:40px; transform:rotate(-45deg);}
.tMenuBtn.active span:nth-child(2){opacity:0;}
.tMenuBtn.active span:nth-child(3){top:40px; transform:rotate(45deg);}
.tMenu{position:absolute; top:0; left:0; width:100%; height:100vh; pointer-events:none; opacity:0; z-index:900; transition:opacity .3s ease;}
.tMenu.active{pointer-events:auto; opacity:1; z-index:1000;}
.tMenu_inner{display:flex; width:100%; height:100%;}
.tMenu_img{transform:translateX(-100%); transition:transform 0.6s ease; overflow:hidden; width:30%;}
.tMenu_img img{width:100%; height:100%; object-fit:cover;}
.tMenu.active .tMenu_img{transform:translateX(0);}

.tMenu_ttl{display:flex; align-items:center;}
.tMenu_ttl-01{width:45px; margin-right:10px;}
.tMenu_ttl-02{width:200px; margin-right:25px;}

.tMenu_navi{background:#fff; padding:40px 80px; transform:translateX(100%); transition:transform 0.6s ease; width:70%;}
.tMenu.active .tMenu_navi{transform:translateX(0);}
.tMenu_list{margin:50px 0;}
.tMenu_list dt{margin-top:30px;  font-size:75%; margin-bottom:10px;}
.tMenu_list dt span{font-size:1.8rem; display:block; font-weight:bold; margin-bottom:-8px; color:#5ead38;}
.tMenu_list dd{font-size:90%; font-weight:bold;}
.tMenu_list dd::before{content:"－"; margin-right:5px;}
.tMenu_list dd a{color:#69514e;}


.tMenu_contact{font-size:130%; text-align:center;}
.tMenu_contact a{color:#fff; background-color:#5ead38; padding:20px 0; border-radius:100vh; width:100%; display:block;}
.tMenu_contact a:hover{color:#fff; background-color:#2983ac;}
.tMenu_contact i{margin-right:5px;}

.tMenu_sub{display:flex;}
.tMenu_sub li{font-size:85%; margin:50px 25px;}




.tVisual{position:relative; isolation:isolate; overflow:hidden; background:url(https://churashima.okinawa/userfiles/images/page/academy/visual_bg_pattern.png) repeat, #fefdf3;}
.tVisual_inner{display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); width:100%; align-items:start;}
.tVisual_copy{position:relative; z-index:2; min-width:0; padding:clamp(210px, 18vw, 280px) 0 110px clamp(60px, 8vw, 120px);}
.tVisual_catch img{width:min(65%, 646px);}
.tVisual_main{position:relative; z-index:2; min-width:0; padding:150px 30px 0 clamp(70px, 10vw, 150px);}
.tVisual_banner{width:min(500px, 90%); margin-top:35px;}
.tVisual_banner img{width:100%;}
.tVisual_text{max-width:680px; margin-top:48px; padding-right:30px; font-size:clamp(1rem, 1.35vw, 1.5rem); font-weight:bold;}
.tVisual > svg{position:relative; z-index:2; display:block; width:100%; height:clamp(90px, 10vw, 150px); margin-top:clamp(-55px, -3vw, -28px); margin-bottom:-1px; background:url(https://churashima.okinawa/userfiles/images/page/academy/main_bg_pattern.png) repeat, #e4f1d0;}

.tVisual_dec{position:absolute; inset:0; z-index:1; pointer-events:none;}
.tVisual_dec li{position:absolute;}
.tVisual_dec li.move_y{animation:dec-animation_y 1.8s ease-in-out infinite alternate-reverse;}
.tVisual_dec li.move_x{animation:dec-animation_x 1.8s ease-in-out infinite alternate-reverse;}
.tVisual_dec li.move_l{animation:dec-animation_l 10s ease-in-out infinite;}
@keyframes  dec-animation_y{
0%{transform:translateY(-12px);}
100%{transform:translateY(12px);}
}
@keyframes  dec-animation_x{
0%{transform:translateX(-12px);}
100%{transform:translateX(12px);}
}
@keyframes dec-animation_l{
0%{transform:translateX(100%);}
to{transform:translateX(-100%);}
}
.tVisual_dec li.swallow01{top:145px; left:200px; width:50px;}
.tVisual_dec li.swallow02{top:100px; left:500px; width:50px;}
.tVisual_dec li.swallow03{top:350px; left:730px; width:50px;}
.tVisual_dec li.cloud01{top:130px; left:700px; width:150px;}
.tVisual_dec li.cloud02{top:270px; left:660px; width:150px;}
.tVisual_dec li.cloud03{top:300px; left:930px; width:150px;}
.tVisual_dec li.cloud04{top:550px; left:1000px; width:120px;}
.tVisual_dec li.cloud05{top:50px; left:900px; width:150px;}
.tVisual_dec li.cloud06{top:450px; left:560px; width:130px;}


/* -----------main----------- */
.main_bg{width:100%; height:100%; background:url(https://churashima.okinawa/userfiles/images/page/academy/main_bg_pattern.png) repeat, #e4f1d0; margin:0 0 -125px 0; padding:100px 0 240px 0;}
.main_inner{position:relative;}
.main_catch{width:500px; margin:auto;}
.main_lead{width:600px; margin:50px auto; text-align:center; font-size:130%;}
.main_lead p:last-of-type{margin-bottom:40px;}
.main_catch, .main_lead{position:relative; z-index:1;}
.main_dec{position:absolute; inset:0; z-index:0; pointer-events:none;}
.main_dec li{position:absolute;}
.main_dec li.main_dec_img01{top:10px; left:200px; width:300px;}
.main_dec li.main_dec_img02{top:10px; right:200px; width:200px;}
.main_dec li.main_dec_img03{top:500px; left:200px; width:250px;}
.main_dec li.main_dec_img04{top:500px; right:200px; width:400px;}

.service_bg{width:100%; height:100%; background:#bbe2f1; margin-top:-10px; padding:100px 0 150px 0;}
.service_inner{position:relative; width:1400px; max-width:calc(100% - 48px); margin:auto;}

.service_dec{position:absolute; inset:0; z-index:0; pointer-events:none;}
.service_dec li{position:absolute;}
.service_dec li.service_dec_img01{top:-100px; right:100px; width:300px;}

.service_ttl{font-size:400%; font-family:Zen Maru Gothic, sans-serif; font-style:normal; font-weight:900;}
.service_ttl span{font-size:1.8rem; display:block; margin-top:-15px; color:#2983ac;}
.service_lead{font-size:130%; letter-spacing:0.1em; margin:50px 0;}
.service_cols{position:relative; z-index:1; display:flex; align-items:flex-end;}
.service_col-01{width:600px; margin-right:100px;}
.service_col-02{width:700px;}
.service_img{display:flex; margin-top:50px;}
.service_img li:first-child{margin-right:50px;}
.service_img li img{border-radius:20px;}

.service-swiper{max-width:700px;}
.swiper-wrapper{height:auto;}
.swiper-slide{height:auto;}
.swiper-slide img{border-radius:20px;}

.program-swiper{width:100%; margin-top:50px;}
.program-swiper .swiper-slide{margin:15px;}
.program-swiper .swiper-slide span{background-color:rgba(255,255,255,0.8); position:absolute; right:0; bottom:30px; padding:5px 15px; font-family:Zen Maru Gothic, sans-serif; font-style:normal; font-weight:900;}

.program_bg{width:100%; margin-top:-180px; z-index:1; position:relative;}
.program_inner{position:relative; width:1400px; max-width:calc(100% - 48px); margin:auto;}

.program_dec{position:absolute; inset:0; z-index:0; pointer-events:none;}
.program_dec li{position:absolute;}
.program_dec li.program_dec_img01{top:20px; right:300px; width:150px;}
.program_dec li.program_dec_img02{top:200px; right:480px; width:180px;}
.program_dec li.program_dec_img03{top:-145px; left:100px; width:180px;}

.program_ttl{font-size:400%; font-family:Zen Maru Gothic, sans-serif; font-style:normal; font-weight:900; writing-mode:vertical-rl;}
.program_ttl span{font-size:1.8rem; display:block; margin-top:-15px; color:#5ead38; writing-mode:horizontal-tb;}
.program_lead{font-size:130%; letter-spacing:0.1em; margin-bottom:40px;}
.program_cols{position:relative; z-index:1; display:flex; align-items:flex-end;}
.program_col-01{width:600px;}
.program_col-02{margin-left:auto;}


.faq_bg{width:100%; background:#e7d3caff; padding:100px 0; margin-top:100px;}
.faq_inner{position:relative; width:1400px; max-width:calc(100% - 48px); margin:auto;}

.faq_dec{position:absolute; inset:0; z-index:0; pointer-events:none;}
.faq_dec li{position:absolute;}
.faq_dec li.faq_dec_img01{top:440px; left:10px; width:440px;}

.faq_ttl{font-size:400%; font-family:Zen Maru Gothic, sans-serif; font-style:normal; font-weight:900;}
.faq_ttl span{font-size:1.8rem; display:block; margin:-15px 0 30px 0; color:#ed734a;}
.faq_cols{position:relative; z-index:1; display:flex; align-items:flex-start;}
.faq_col-01{width:450px; margin-right:100px;}
.faq_col-02{width:850px;}
.faq_list{border-bottom:1px dotted #bbb;}
.faq_list dt{position:relative; cursor:pointer; font-weight:bold; font-size:150%; padding:25px 30px 25px 2.5em; line-height:1.5; border-top:1px dotted #bbb;}
.faq_list dt::after{content:'＋'; position:absolute; right:0; top:50%; transform:translateY(-50%);  font-size:1.5rem; color:#ed734a;}
.faq_list dt.open::after{content:'－';}
.faq_list dt span{font-size:200%; color:#ed734a; font-weight:bold; position:absolute; left:0; top:0; width:2em;}
.faq_list dd{display:none; margin:0 0 15px 60px; line-height:1.7; padding-bottom:15px;}

.vMore_bt{font-size:115%; text-align:center; position:relative;}
.vMore_bt a{color:#fff; background-color:#5ead38; padding:15px 0; border-radius:100vh; width:100%; display:block;}
.vMore_bt a:hover{color:#fff; background-color:#2983ac;}
.vMore_bt a i{position:absolute; top:38%; right:30px;}


/* -----------ctAbout----------- */
.ctAbout{margin-top:200px;}
.ct_ttl{margin-bottom:-150px; display:flex; align-items:center; position:relative; z-index:-1;}
.ctAbout_ttl, .ctService_ttl, .ctProgram_ttl, .ctFaq_ttl{font-size:350%; font-family:Zen Maru Gothic, sans-serif; font-style:normal; font-weight:900; padding-left:250px; position:absolute; text-shadow:2px 2px 0 #fff, -2px 2px 0 #fff, 2px -2px 0 #fff, -2px -2px 0 #fff;}
.ctAbout_ttl span, .ctService_ttl span, .ctProgram_ttl span, .ctFaq_ttl span{font-size:1.8rem; display:block;}
.ctAbout_ttl span{color:#2a83ac;}
.ctAbout_ttl_img, .ctService_ttl_img, .ctProgram_ttl_img, .ctFaq_ttl_img{width:65%; margin-left:auto; position:relative; z-index:-2;}
.ctAbout_ttl_img img, .ctService_ttl_img img, .ctProgram_ttl_img img, .ctFaq_ttl_img img{-webkit-mask-image:linear-gradient(to right, transparent 0, black 80%, black 100%); mask-image:linear-gradient(to right, transparent 0, black 80%, black 100%);}
.ctAbout_bg{background:#c8fbff; margin-top:-10px;}
.ctAbout_inner{width:1400px; max-width:calc(100% - 48px); margin:auto; padding:100px 0;}
.ctAbout_lead{font-size:150%; letter-spacing:0.1em; margin:50px 0;}
.ctAbout_cols{display:flex; align-items:flex-end;}
.ctAbout_col-01{width:700px;}
.ctAbout_col-02{width:600px; margin-left:100px;}
.ctAbout_img{display:flex; margin-top:50px;}
.ctAbout_img li:first-child{margin-right:50px;}
.ctAbout_img li img{border-radius:20px;}

/* -----------ctService----------- */
.ctService{margin-top:200px;}
.ctService_ttl span{color:#5ead38;}
.ctService_bg{background:#ecf4e8; margin-top:-10px;}
.ctService_inner{width:1400px; max-width:calc(100% - 48px); margin:auto;}
.ctService h3{font-size:250%; font-weight:700; color:#5ead38; font-family:Zen Maru Gothic, sans-serif;}
.ctService h4{font-size:180%; font-weight:700; font-family:Zen Maru Gothic, sans-serif;}
#overview{margin-bottom:80px;}
#casestudy{padding-bottom:80px;}
.price-cards{display:grid; grid-template-columns:repeat(3, 1fr); gap:22px;}
.price-card{background:#fff; border:1px solid #d7d7d7; border-radius:18px; padding:36px 28px; text-align:center; box-shadow:0 8px 24px rgba(0,0,0,.05);}
.price-card .rank{font-family:Georgia, serif; font-size:4rem; line-height:1; color:#177a3f;}
.price-card:nth-child(2) .rank, .price-card:nth-child(2) .price{color:#0c7fb0;}
.price-card:nth-child(3) .rank, .price-card:nth-child(3) .price{color:#bf7a00;}
.price-card .price{font-size:2rem; font-weight:700; margin:12px 0 20px; border-bottom:2px solid currentColor; padding-bottom:12px;}
.price-card p:last-child{font-size:.95rem; line-height:1.8;}
.note{text-align:center; margin-top:22px; font-size:.95rem;}
.option-cards{display:grid; grid-template-columns:repeat(2, 1fr); gap:28px;}
.option-card-group{min-width:0;}
.option-card-group .section-lead{margin:0 0 12px; font-size:1.2rem; font-weight:700; color:#0c7fb0;}
.option-card{display:grid; grid-template-columns:44% minmax(0, 1fr); gap:20px; background:#fff; border:1px solid #b8d7e8; border-radius:18px; padding:16px; box-shadow:0 8px 24px rgba(0,0,0,.05);}
.option-card img{width:100%; height:100%; min-height:230px; object-fit:cover; border-radius:14px;}
.option-card h5{display:inline-block; background:#0c7fb0; color:#fff; border-radius:999px; padding:6px 18px; margin-bottom:16px; font-weight:700;}
.option-card dl{display:grid; grid-template-columns:90px 1fr; gap:10px 14px; line-height:1.6;}
.option-card dt{color:#666;}
.option-card dd{font-weight:700;}
.case-cards{display:grid; grid-template-columns:repeat(3, 1fr); gap:28px;}
.case-card{background:#fffaf0; border:1px solid #e0d8c9; border-radius:18px; overflow:hidden; box-shadow:0 8px 24px rgba(0,0,0,.05);}
.case-card img{width:100%; aspect-ratio:16 / 9; object-fit:cover;}
.case-card__body{padding:22px;}
.case-card h4{font-weight:700; font-size:1.15rem; margin-bottom:10px;}
.case-price{display:inline-block; background:#0c7fb0; color:#fff; padding:4px 16px; border-radius:6px; font-weight:700; margin-bottom:14px;}
.speaker{font-weight:700; margin-top:10px;}

/* -----------ctProgram----------- */
.ctProgram{margin-top:200px;}
.ctProgram_ttl span{color:#ee971e;}
.ctProgram_bg{background:#fcf2e5; margin-top:-10px;}
.ctProgram_inner{width:1400px; max-width:calc(100% - 48px); margin:auto; padding:100px 0;}
.program-list{display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:32px;}
.program-card{--accent:#ee971e; --soft:#fff6e9; scroll-margin-top:100px; background:linear-gradient(180deg, var(--soft) 0, #fff 62%); border-top:6px solid var(--accent); border-radius:18px; padding:36px; box-shadow:0 8px 24px rgba(76,39,35,.08);}
#prog01{--accent:#2386b8; --soft:#e8f7fc;}
#prog02{--accent:#1b8d7f; --soft:#e8f7f3;}
#prog03{--accent:#c85a4a; --soft:#fcefeb;}
#prog04{--accent:#5e9e4d; --soft:#edf7e9;}
.program-card__image{overflow:hidden; margin-bottom:26px; border-radius:12px; background:var(--soft);}
.program-card__image img{width:100%; aspect-ratio:16 / 9; object-fit:cover; transition:transform .4s ease;}
.program-card:hover .program-card__image img{transform:scale(1.025);}
.program-card h3{font-family:Zen Maru Gothic, sans-serif; font-size:180%; font-weight:900; color:var(--accent); margin-bottom:18px;}
.program-card p{line-height:2;}
.program-example{margin-top:24px; padding:16px 18px; background:var(--soft); border-radius:10px;}
.program-example span{display:inline-block; margin-right:10px; padding:2px 12px; border-radius:100vh; background:var(--accent); color:#fff; font-weight:700;}

/* -----------ctFaq----------- */
.ctFaq{margin-top:200px;}
.ctFaq_ttl span{color:#c43626;}
.ctFaq_bg{background:#fcecea; margin-top:-10px;}
.ctFaq_inner{width:1400px; max-width:calc(100% - 48px); margin:auto; padding:100px 0;}
.ctFaq .faq_col-02{width:100%; max-width:1200px; margin:auto;}
.ctFaq .faq_list{border-bottom:1px dotted #d8aaa1; background:transparent;}
.ctFaq .faq_list dt{border-top:1px solid #f0d7d2; padding-right:70px;}
.ctFaq .faq_list dt::after{right:28px;}
.ctFaq .faq_list dd{position:relative; margin:0; padding:0 50px 32px 74px; background:transparent;}
.ctFaq .faq_list dd::before{content:'A.'; position:absolute; left:28px; top:-5px; color:#c43626; font-family:Helvetica, sans-serif; font-size:140%; font-weight:700;}
.ctFaq .faq_list--static dt{cursor:default; padding-right:30px;}
.ctFaq .faq_list--static dt::after{display:none;}
.ctFaq .faq_list--static dd{display:block;}

@media only screen and (max-width:767px){
.ctAbout{margin-top:100px;}
.ct_ttl{margin-bottom:-60px;}
.ctAbout_ttl{font-size:180%; padding-left:4%;}
.ctAbout_ttl span{font-size:1.2rem;}
.ctAbout_ttl_img{width:75%;}
.ctAbout_inner{width:100%; max-width:none; padding:4%;}

.ctService{margin-top:100px;}
.ctService_ttl{font-size:180%; padding-left:4%;}
.ctService_ttl span{font-size:1.2rem;}
.ctService_ttl_img{width:75%;}
.ctService_inner{width:100%; max-width:none; padding:4%;}
.price-cards, .option-cards, .case-cards{grid-template-columns:1fr;}
.option-card{grid-template-columns:1fr;}
.option-card img{min-height:0; aspect-ratio:16 / 9;}

.ctProgram{margin-top:100px;}
.ctProgram_ttl{font-size:180%; padding-left:4%;}
.ctProgram_ttl span{font-size:1.2rem;}
.ctProgram_ttl_img{width:75%;}
.ctProgram_inner{width:100%; max-width:none; padding:60px 4%;}
.program-list{grid-template-columns:1fr; gap:24px;}
.program-card{scroll-margin-top:70px; padding:24px;}
.program-card__image{margin-bottom:20px;}
.program-card h3{font-size:150%;}
.program-card p{line-height:1.85;}
.program-example span{display:block; width:max-content; margin:0 0 8px;}

.ctFaq{margin-top:100px;}
.ctFaq_ttl{font-size:180%; padding-left:4%;}
.ctFaq_ttl span{font-size:1.2rem;}
.ctFaq_ttl_img{width:75%;}
.ctFaq_inner{width:100%; max-width:none; padding:4%;}
.ctFaq .faq_list--static dt{padding-right:10px;}
.ctFaq .faq_list--static dd{padding:0 10px 24px 48px;}
.ctFaq .faq_list--static dd::before{left:8px;}

}


/* -----------Footer----------- */
.tFooter{position:relative; top:0; left:0; width:100%; background-color:#d7e29b; background-image:url(https://churashima.okinawa/userfiles/images/page/academy/footer_top.png); background-repeat:no-repeat; background-position:top center; background-size:100% auto; padding:50px 0; margin-top:100px;}
.tFooter_inner{width:1400px; max-width:calc(100% - 48px); margin:auto;}
.tFooter_cols{display:flex; align-items:flex-start;}
.tFooter_col-01{margin-right:110px;}
.tFooter_ttl{display:flex; align-items:center; margin-bottom:5px;}
.tFooter_ttl-01{width:55px; margin-right:10px;}
.tFooter_ttl-02{width:240px;}
.tFooter_mail{margin-bottom:30px;}

.tFooter_contact{font-size:115%; text-align:center;}
.tFooter_contact a{color:#fff; background-color:#5ead38; padding:15px 0; border-radius:100vh; width:100%; display:block;}
.tFooter_contact a:hover{color:#fff; background-color:#2983ac;}
.tFooter_contact i{margin-right:5px;}

.tFooter_list dt{margin-top:30px;  font-size:75%; margin-bottom:10px;}
.tFooter_list dt span{font-size:1.8rem; display:block; font-weight:bold; margin-bottom:-8px; color:#5ead38;}
.tFooter_list dd{font-size:90%; font-weight:bold;}
.tFooter_list dd::before{content:"－"; margin-right:5px;}
.tFooter_list dd a{color:#69514e;}
.tFooter_col-03{width:300px;}
.tFooter_bottom{display:flex; justify-content:space-between; align-items:center; margin-top:50px;}
.tFooter_copyright{font-weight:bold;}
.tFooter_sub{display:flex; justify-content:flex-end; align-items:center; font-size:85%;}
.tFooter_sub li{margin-right:30px;}


/* -----------sns----------- */
.flowbtn{display:inline-block; font-size:240%;}
ul.sns{margin-top:20px;}
ul.sns li{display:inline-block; margin-right:20px;}
ul.sns li a{color:#5ead38;}
ul.sns li a:hover{color:#2983ac;}

/* -----------page_top----------- */
#page_top{width:80px; height:80px; position:fixed; right:15px; bottom:15px; opacity:0.6; background:#4c2723; z-index:10; border-radius:50%;}
#page_top a{position:relative; display:block; width:80px; height:80px; text-decoration:none;}
#page_top a::before{font-family:'Font Awesome 5 Free'; font-weight:900; content:'\f102'; font-size:20px; color:#fff; position:absolute; width:25px; height:25px; top:10px; right:0; left:0; margin:auto; text-align:center;}
#page_top a::after{content:'PAGE TOP'; font-size:10px; color:#fff; position:absolute; bottom:15px; right:0; left:0; margin:auto; text-align:center;}


/* -----------sp----------- */
@media only screen and (max-width:767px){
.transform .tHeader_ttl{margin:5px 0 -5px 10px;}
.transform .tNav_sub{margin-bottom:5px;}
.transform .tHeader_col-03{width:50px;}
.transform .tMenuBtn{display:block; height:50px; width:50px; border-radius:0;}
.transform .tMenuBtn_bar{right:13px;}
.transform .tMenuBtn span:nth-child(1){top:15px;}
.transform .tMenuBtn span:nth-child(2){top:25px;}
.transform .tMenuBtn span:nth-child(3){top:35px;}
.transform .tMenuBtn.active span:nth-child(1){top:25px;}
.transform .tMenuBtn.active span:nth-child(3){top:25px;}
.tHeader_inner{padding:10px 20px;}
.tHeader_ttl-01{width:30px; margin-right:5px;}
.tHeader_ttl-02{width:120px; margin-right:10px;}
.tHeader_ttl-03{width:60px; padding-left:10px; border:none;}
.tHeader_ttl-03 img{margin:0;}
.tHeader_col-02{display:none;}
.tHeader_col-03{width:50px; margin-left:auto;}
.tMenuBtn{height:50px; width:50px;}
.tMenuBtn_bar{width:24px; right:13px;}
.tMenuBtn span:nth-child(1){top:15px;}
.tMenuBtn span:nth-child(2){top:25px;}
.tMenuBtn span:nth-child(3){top:35px;}
.tMenuBtn.active span:nth-child(1){top:25px;}
.tMenuBtn.active span:nth-child(3){top:25px;}
.tVisual_inner{display:block; height:auto;}
.tVisual_copy{padding:90px 5% 30px;}
.tVisual_catch{padding:0;}
.tVisual_catch img{width:min(78%, 320px); margin:auto;}
.tVisual_text{position:static; width:auto; max-width:none; margin-top:24px; padding-right:0; font-size:1rem;}
.tVisual_banner{position:static; width:100%; margin-top:24px;}
.tVisual_banner img{width:100%;}
.tVisual_main{padding:30px 15px 0;}
.tVisual_dec{display:none;}
.main_dec, .service_dec, .program_dec, .faq_dec{display:none;}
.tVisual_dec li.swallow01{display:none;}
.tVisual_dec li.swallow02{top:150px; left:320px; width:30px;}
.tVisual_dec li.swallow03{top:80px; left:25px; width:30px;}
.tVisual_dec li.cloud01{top:230px; left:10px; width:80px;}
.tVisual_dec li.cloud02{display:none;}
.tVisual_dec li.cloud03{top:190px; left:300px; width:80px;}
.tVisual_dec li.cloud04{display:none;}
.tVisual_dec li.cloud05{top:30px; left:250px; width:80px;}
.tVisual_dec li.cloud06{display:none;}
.tMenu_img{width:0;}
.tMenu_navi{width:100%; padding:15px;}
.tMenu_ttl-01{width:30px; margin-right:5px;}
.tMenu_ttl-02{width:120px; margin-right:10px;}
.tMenu_sub{font-size:85%;}
.tMenu_list{margin:20px 0 30px 0;}
.tMenu_list dt{position:relative; margin-top:15px; margin-bottom:5px;}
.tMenu_list dt.has-children::after{content:'＋'; position:absolute; top:50%; right:0; transform:translateY(-50%); font-size:180%;}
.tMenu_list dt.has-children.open::after{ content:'－'; font-size:180%;}
.tMenu_list dd{display:none;}
.tMenu_contact a{padding:10px 0;}
.tMenu_sub{flex-wrap:wrap; margin-top:30px; font-size:85%;}
.tMenu_sub li{margin:0 0 10px 0; width:50%;}
ul.sns{margin-top:0;}
.tFooter_list dt{position:relative;}
.tFooter_list dt.has-children::after{content:'＋'; position:absolute; top:50%; right:0; transform:translateY(-50%); font-size:180%;}
.tFooter_list dt.has-children.open::after{ content:'－'; font-size:180%;}
.tFooter_list dd{display:none;}
.tFooter_inner{width:100%; max-width:none;}
.tFooter_cols{display:block;}
.tFooter_col-01{margin:auto; padding:0 15px;}
.tFooter_ttl{justify-content:center;}
.tFooter_mail{margin-bottom:0px;}
.tFooter_ttl-02{margin:0;}
.tFooter_col-02{padding:0 15px;}
.tFooter_col-03{display:none;}
.tFooter_bottom{display:block; padding:0 15px;}
.tFooter_sub{flex-wrap:wrap; font-size:80%;}
.tFooter_sub li{margin:0 0 10px 0; width:50%;}
.tFooter_copyright{text-align:center; margin-top:20px;}

.main_bg{margin-top:0; padding:150px 0 300px 0;}
.main_catch{width:300px;}
.main_lead{width:360px; font-size:100%;}
.main_dec li.main_dec_img01{top:-140px; right:20px; width:100px;}
.main_dec li.main_dec_img02{display:none;}
.main_dec li.main_dec_img03{display:none;}
.main_dec li.main_dec_img04{top:600px; left:15px; width:150px;}

.service_bg{padding:40px 0 50px 0;}
.service_inner{width:100%; max-width:none; padding:4%;}
.service_dec li.service_dec_img01{top:-10px; right:5px; width:100px;}
.service_ttl{font-size:200%;}
.service_ttl span{font-size:1.2rem;}
.service_lead{font-size:100%;}
.service_cols{display:block;}
.service_col-01{width:100%; margin-right:0;}
.service_col-02{width:100%; margin-top:15px;}
.service_img li:first-child{margin-right:20px;}

.program_bg{margin-top:10px;}
.program_inner{width:100%; max-width:none; padding:4%;}
.program_cols{flex-direction:column;}
.program_col-01{width:100%; order:2;}
.program_col-02{width:100%; order:1;}
.program_ttl{font-size:200%; writing-mode:horizontal-tb;}
.program_ttl span{font-size:1.2rem;}
.program_lead{font-size:100%; margin:40px 0;}
.program_dec li.program_dec_img01{top:-80px; right:10px; width:100px;}
.program_dec li.program_dec_img02{display:none;}
.program_dec li.program_dec_img03{display:none;}
.program-swiper{margin-top:40px;}
.program-swiper .swiper-slide{margin:5px;}
.program-swiper .swiper-slide span{bottom:20px; padding:3px 6px; font-size:80%; line-height:1.2;}

.faq_bg{padding:50px 0; margin-top:50px;}
.faq_inner{width:100%; max-width:none; padding:4%;}
.faq_ttl{font-size:200%; writing-mode:horizontal-tb;}
.faq_ttl span{font-size:1.2rem;}
.faq_cols{display:block;}
.faq_col-01{width:100%; margin-right:0;}
.faq_col-02{width:100%; margin-top:15px;}
.faq_dec li.faq_dec_img01{top:20px; left:245px; width:100px;}
.faq_list dt{font-size:120%;}
.faq_list dt span{font-size:150%; top:15px;}
.faq_list dd{margin:0 0 15px 50px;}


#page_top{width:50px; height:50px; right:5px; bottom:5px;}
#page_top a{width:50px; height:50px;}
#page_top a::before{font-size:20px; width:25px; height:25px; top:8px; right:0; left:0;}
#page_top a::after{display:none;}


.ctAbout_bg{padding:40px 0 50px 0;}
.ctAbout_inner{width:100%; max-width:none; padding:4%;}
.ctAbout_lead{font-size:100%;}
.ctAbout_cols{display:block;}
.ctAbout_col-01{width:100%; margin-top:15px;}
.ctAbout_col-02{width:100%; margin-left:0;}
.ctAbout_img li:first-child{margin-right:20px;}


}

@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto;}
*, *::before, *::after{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important;}
}

@media (min-width:768px){
.tMenu_list{display:flex; flex-wrap:wrap; gap:24px;}
.tMenu_list .menu-group{flex:1 1 calc(25% - 24px); min-width:200px;}
.tMenu_list .menu-group dt{ font-weight:700; margin-top:0;}
.tMenu_list .menu-group dd{display:block;}
.tMenu_list dd{display:block;}
.tMenu_list dt::after{content:none;}
.tFooter_list{display:flex; flex-wrap:wrap; gap:24px;}
.tFooter_list .menu-group{flex:1 1 calc(25% - 24px); min-width:200px;}
.tFooter_list .menu-group dt{ font-weight:700; margin-top:0;}
.tFooter_list .menu-group dd{ display:block;}
.tFooter_list dd{display:block;}
.tFooter_list dt::after{content:none;}
}

/* -----------narrow desktop / tablet----------- */
@media (min-width:768px) and (max-width:1399px){
.tHeader_inner{padding:18px 24px;}
.tHeader_ttl-01{width:38px;}
.tHeader_ttl-02{width:170px; margin-right:16px;}
.tHeader_ttl-03{width:68px; padding-left:16px;}
.tNav_sub li{padding:0 7px;}
.tNav_list li.large_list{padding:0 8px; font-size:90%;}
.tHeader_col-03{margin-left:10px;}

.tVisual_copy{padding-left:clamp(48px, 7vw, 100px);}
.tVisual_main{padding-left:clamp(50px, 9vw, 120px);}
.tVisual_text{width:auto; max-width:none;}
.tVisual_banner{width:min(460px, 90%);}
.tVisual_banner img{width:100%;}

.service_cols{gap:clamp(32px, 5vw, 72px);}
.service_col-01{flex:0 1 44%; width:auto; margin-right:0;}
.service_col-02{flex:1 1 0; width:auto; min-width:0;}

.program_cols{gap:clamp(32px, 5vw, 72px);}
.program_col-01{flex:0 1 46%; width:auto;}
.program_col-02{flex:1 1 0; min-width:0;}

.faq_cols{gap:clamp(32px, 5vw, 72px);}
.faq_col-01{flex:0 0 32%; width:auto; margin-right:0;}
.faq_col-02{flex:1 1 0; width:auto; min-width:0;}

.ctAbout_ttl, .ctService_ttl, .ctProgram_ttl, .ctFaq_ttl{padding-left:clamp(48px, 14vw, 200px);}
.ctAbout_cols{gap:clamp(32px, 5vw, 72px);}
.ctAbout_col-01, .ctAbout_col-02{flex:1 1 0; width:auto; min-width:0;}
.ctAbout_col-02{margin-left:0;}

.tFooter_inner{max-width:calc(100% - 48px);}
.tFooter_cols{gap:clamp(28px, 4vw, 60px);}
.tFooter_col-01{flex:0 0 300px; margin-right:0;}
.tFooter_col-02{flex:1 1 0; min-width:0;}
.tFooter_col-03{flex:0 1 240px; width:auto;}
.tFooter_list .menu-group{flex-basis:calc(50% - 12px); min-width:0;}
}

@media (min-width:992px) and (max-width:1399px){
.tVisual_dec{opacity:.55;}
.tVisual_dec li.swallow01{left:10vw; width:38px;}
.tVisual_dec li.swallow02{left:38vw; width:40px;}
.tVisual_dec li.swallow03{left:54vw; width:38px;}
.tVisual_dec li.cloud01{right:38vw; left:auto; width:110px;}
.tVisual_dec li.cloud02{right:43vw; left:auto; width:110px;}
.tVisual_dec li.cloud03{right:18vw; left:auto; width:110px;}
.tVisual_dec li.cloud04{right:2vw; left:auto; width:90px;}
.tVisual_dec li.cloud05{right:11vw; left:auto; width:115px;}
.tVisual_dec li.cloud06{display:none;}

.main_dec{opacity:.5;}
.main_dec li.main_dec_img01{left:1vw; width:min(16vw, 200px);}
.main_dec li.main_dec_img02{right:1vw; width:min(14vw, 170px);}
.main_dec li.main_dec_img03{left:1vw; width:min(16vw, 190px);}
.main_dec li.main_dec_img04{right:1vw; width:min(18vw, 220px);}

.service_dec{opacity:.5;}
.service_dec li.service_dec_img01{top:-60px; right:2vw; width:min(16vw, 190px);}

.program_dec{opacity:.5;}
.program_dec li.program_dec_img01{right:22vw; width:100px;}
.program_dec li.program_dec_img02{right:38vw; width:120px;}
.program_dec li.program_dec_img03{top:-90px; left:2vw; width:120px;}

.faq_dec{opacity:.42;}
.faq_dec li.faq_dec_img01{top:460px; left:1vw; width:min(18vw, 200px);}
}

@media (min-width:768px) and (max-width:1199px){
.tHeader_col-02{display:none;}
.tHeader_col-03{width:64px; margin-left:auto;}
.tMenuBtn{width:64px; height:64px;}
.tMenuBtn_bar{right:14px; width:36px;}
.tMenuBtn span:nth-child(1){top:19px;}
.tMenuBtn span:nth-child(2){top:32px;}
.tMenuBtn span:nth-child(3){top:45px;}
.tMenuBtn.active span:nth-child(1), .tMenuBtn.active span:nth-child(3){top:32px;}
.transform .tHeader_col-03{width:60px;}
.transform .tMenuBtn{width:60px; height:60px;}
.transform .tMenuBtn_bar{right:13px; width:34px;}
.transform .tMenuBtn span:nth-child(1){top:18px;}
.transform .tMenuBtn span:nth-child(2){top:30px;}
.transform .tMenuBtn span:nth-child(3){top:42px;}
.transform .tMenuBtn.active span:nth-child(1), .transform .tMenuBtn.active span:nth-child(3){top:30px;}
.tMenu_img{width:25%;}
.tMenu_navi{width:75%; padding:30px 40px; overflow-y:auto;}
.tMenu_list .menu-group{flex-basis:calc(50% - 12px); min-width:0;}

.price-cards{grid-template-columns:repeat(2, minmax(0, 1fr));}
.price-card:last-child{grid-column:1 / -1; max-width:calc(50% - 11px); width:100%; margin:auto;}
.case-cards{grid-template-columns:repeat(2, minmax(0, 1fr));}
.option-cards{grid-template-columns:1fr;}
}

@media (min-width:768px) and (max-width:991px){
.tMenu_img{width:0;}
.tMenu_navi{width:100%;}
.tVisual_inner{grid-template-columns:1fr;}
.tVisual_copy{padding:150px 7% 35px;}
.tVisual_catch img{width:min(55%, 420px);}
.tVisual_main{max-width:680px; margin:auto; padding:30px 40px 0;}
.tVisual_text{font-size:1.05rem;}
.tVisual_banner{width:min(500px, 100%);}
.tVisual_dec, .main_dec, .service_dec, .program_dec, .faq_dec{display:none;}

.service_cols, .faq_cols, .ctAbout_cols{display:block;}
.service_col-01, .service_col-02, .faq_col-01, .faq_col-02, .ctAbout_col-01, .ctAbout_col-02{width:100%;}
.service_col-02, .faq_col-02, .ctAbout_col-01{margin-top:32px;}
.program_cols{flex-direction:column; align-items:stretch;}
.program_col-01{width:100%; order:2;}
.program_col-02{width:100%; order:1;}
.program_ttl{writing-mode:horizontal-tb;}
.program_lead{margin-top:32px;}
.program-list{grid-template-columns:1fr;}

.tFooter_col-01{flex-basis:280px;}
.tFooter_col-03{display:none;}
}




