@charset "utf-8";
/* CSS Document */

#navArea{ display:none;}
.pcno { display:none;}
/*▼ 初期化 ▼*/
body, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, ul, li, blockquote, th, td, tr, img { padding:0px; margin:0px; font-size:16px; line-height:1.5em; letter-spacing:1px; color: #333;-webkit-text-size-adjust:100%; font-weight:600;font-family: "Shippori Mincho", serif;}
table { border-collapse:collapse; }
ul, li { list-style:none; }
h1, h2, h3, h4, h5{ padding:0px; margin:0px; font-size:100%; font-weight:normal;}
a { overflow:hidden; outline:none; }
img { border:none; vertical-align:bottom;max-width:100%;}
table td { border:none; vertical-align:top; }
a:hover { opacity:0.5; filter:alpha(opacity=50);-webkit-transition:0.5s; -moz-transition:0.5s; -ms-transition:0.5s; transition:0.5s; }
.kadomaru{border-radius:5px;}
/*▲ 初期化 ▲*/



/*▼エリア・背景設定▼*/
body{background:#f5f5f5;width:750px; margin:auto;}
#body-top{ overflow:hidden;}
#body-bottom{ position:relative;}

/*▼エリア・共通設定▼*/
.box{width:750px; margin:auto;background:#FFF;}


.cta-box { text-align:center; position:fixed; bottom:0; left:0; right:0; margin:auto; z-index:9;}



#home #box-01 {max-width:750px; width:100%; padding-bottom:1px;}
#home #box-01 .area-01{ margin-bottom:0px; height:420px; overflow:hidden;}
#home #box-01 .area-02{ background: url(../images/common/sec01_juvgen.jpg) 0 0 no-repeat; background-size:100%; text-align:center;}
#home #box-01 .area-02 .tb-01{ padding:150px 0px 0px;}
#home #box-01 .area-02 .tb-01 .p-01{ font-weight:bolder; font-size:46px;}
#home #box-01 .area-02 .tb-01 .p-02{ font-weight:bolder;font-size: 20px; margin-bottom:70px;}
#home #box-01 .area-02 .tb-01 .img-01 {text-align: right; height:992px;}
#home #box-01 .area-02 .tb-01 .img-01 img {;  /* ← 親に対して586÷750の割合 */ }


#home #box-01 .area-02 .tb-02{ position:relative; margin-top:-10vw;}
#home #box-01 .area-02 .tb-02 .p-01{font-size:24px; margin-bottom:1em;}
#home #box-01 .area-02 .tb-02 .text{ margin-bottom:20px; padding:0 8%;}
#home #box-01 .area-02 .tb-02 .text p{font-size:20px;line-height:1.8em;}
#home #box-01 .area-02 .tb-02 .text p span{background:linear-gradient(transparent 60%, #def6ff 60%);}
#home #box-01 .area-02 .tb-02 .p-02{font-size:clamp(12px, 2vw, 20px); margin-bottom:10%;}


#home #box-02 {max-width:750px; width:100%; background:url(../images/common/bk-03.jpg) 0 0 repeat-y;}
#home #box-02 .area-01{ padding:0 5%; text-align:center; padding:60px 20px 0; margin-bottom:70px; overflow:hidden;}

#home #box-02 .area-01 .p-01{ font-size:40px;font-weight:bolder;}
#home #box-02 .area-01 .p-02{ font-size:30px;}
#home #box-02 .area-01  .text { position: relative; display: inline-block; text-align: center; padding: 0px 40px 20px 40px; /* 左右に余白を入れて線のスペース確保 */ }
/* 左の斜めライン */
#home #box-02 .area-01  .text::before, #box-02 .text::after { content: ""; position: absolute; top: 80%; width: 90px; height: 2px; background: #000; transform-origin: center; }
#home #box-02 .area-01  .text::before { left: 0; transform: rotate(-110deg); transform-origin: left center; }
/* 右の斜めライン */
#home #box-02 .area-01  .text::after { right: 0; transform: rotate(110deg); transform-origin: right center; }


#home #box-02 .area-02 { padding: 0 3%; display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; margin-bottom:30px; }
#home #box-02 .area-02 .entry { flex: 1 1 300px; max-width: 338px; text-align: center; margin-bottom: 30px; }
#home #box-02 .area-02 .entry img { margin-bottom: 10px; }




#home #box-02 .area-03 { padding: 0 5%; text-align: center; margin-bottom: 0; overflow: hidden; max-width: 100%; }
#home #box-02 .area-03 .p-01 { font-size: 30px; margin-bottom: 40px; font-weight: bold; }
#home #box-02 .area-03 .p-02 { font-size: 20px; margin-bottom: 20px;font-weight: 500; }
#home #box-02 .area-03 .tb-01 { background: #FFF; border: #CCC solid 2px; margin-bottom: 30px; padding: 30px 5%; box-sizing: border-box; }
#home #box-02 .area-03 .tb-01 img { max-width: 100%; height: auto; margin-top: 20px; }

#home #box-02 .area-04{ overflow:hidden; padding:0 5%; padding-bottom:40px;}
#home #box-02 .area-04 .youtube{height: 0;overflow: hidden;padding-bottom: 56.25%;position: relative; width:100%;margin-bottom:30px;}
#home #box-02 .area-04 .youtube iframe {position: absolute;left: 0;top: 0;height: 100%;width: 100%;}


#home #box-03 {max-width:750px; width:100%; background: url(../images/common/sec03_bg.jpg) 0 0 repeat-y; background-size:100%;}
#home #box-03 .area-01{ padding:0 5%; text-align:center; padding:60px 20px 0; margin-bottom:70px; overflow:hidden;}

#home #box-03 .area-01 img{ margin-bottom:20px;}
#home #box-03 .area-01 .p-01{ font-size:40px;font-weight:bolder;}


#home #box-03 .area-02{padding:0 3%; overflow:hidden; margin-bottom:50px;}
#home #box-03 .area-02 .tb-01 { display: flex; justify-content: space-between; align-items: center; background: #FFF; border: #CCC solid 2px; padding: 20px; margin-bottom: 30px; text-align: center; max-width: 100%; flex-wrap: nowrap; gap: 10px; box-sizing: border-box; }
#home #box-03 .area-02 .tb-01:nth-child(3){ margin-bottom:0px;}
#home #box-03 .area-02 .tb-01 .nomber { flex: 0 0 50px; height: 50px; line-height: 50px; border-radius: 50%; background: linear-gradient(180deg, rgba(233, 249, 255, 1) 0%, rgba(198, 239, 255, 1) 100%); color: #24acdf; font-size: clamp(24px, 5vw, 36px); text-align: center; }
#home #box-03 .area-02 .tb-01 .p-01 { flex: 1 1 auto; font-size: clamp(18px, 3vw, 28px); margin: 0; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#home #box-03 .area-02 .tb-01 .img-01 { flex: 0 0 40px; width: 40px; }

#home #box-03 .area-02 .img-02{ text-align:center;}

#home #box-03 .area-03{ padding:0 5%; text-align:center;margin-bottom:0px; overflow:hidden; padding-bottom:40px;}

#home #box-03 .area-03 .text { margin-bottom: 50px; text-align: center; }
#home #box-03 .area-03 .p-01 { font-size:20px; /* 画面幅に応じて可変 */ margin-bottom: 10px; }
#home #box-03 .area-03 .p-02 { font-size: 30px; /* 大きく強調 */ background: linear-gradient(to top, #2cabdb, #0e8ebf); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; color: transparent; font-weight: bold; }

#home #box-03 .area-03 .tb-01{ background:#FFF; border:#CCC solid 2px;margin-bottom:30px; padding:30px; text-align:center;}



#home #box-04 { max-width: 750px; width: 100%; background: url(../images/common/bk-06.png) 0 0 no-repeat,  url(../images/common/bk-07.png) 0 bottom no-repeat,  #FFF; background-size:100%, 100%, auto;}
#home #box-04 .area-01 { padding: 60px 5% 0; text-align: center; margin-bottom: 60px; }
#home #box-04 .area-01 img { margin-bottom: 20px; max-width: 100%; height: auto; }
#home #box-04 .area-01 .p-01 { font-size:40px;font-weight:bolder;}
#home #box-04 .area-02 { margin-bottom: 60px; padding: 0 5%; }
#home #box-04 .area-02 p { font-size: 18px; text-align: center; line-height:2em; }
#home #box-04 .area-03 { padding: 0 5%; text-align: center; }
#home #box-04 .area-03 p.p-01 { background: #37b5e5; color: #FFF; font-size:30px; padding: 10px 0; margin-bottom: 40px; clear:both;}
#home #box-04 .area-03 p.p-02 { font-size:20px; margin-bottom: 20px; }
#home #box-04 .area-03 .tb-01 { overflow:hidden; margin-bottom:50px; text-align:center; padding:0 30px;}
#home #box-04 .area-03 .tb-01 .entry {width: 280px; text-align: center; float:left;}
#home #box-04 .area-03 .tb-01 .entry:nth-of-type(2n){ float:right;}
#home #box-04 .area-03 .tb-01 .entry img { width: 100%; height: auto; margin-bottom: 10px; }
#home #box-04 .area-03 .tb-01 .entry p { font-size:20px; /* ← フォントサイズ大きめに */ margin: 0; line-height: 1.4; font-weight: 500; }
#home #box-04 .area-03 .tb-01 .sankaku-02 {width:28px; margin: 0 0px; margin-top:120px;
  display: inline-block;}


#home #box-05 {max-width:750px; width:100%; background: url(../images/common/sec05_bg.jpg) 0 bottom no-repeat,#ebeaea;background-size:100%;}
#home #box-05 .area-01{ padding:0 5%; text-align:center; overflow:hidden; padding-top:60px; margin-bottom:60px;}

#home #box-05 .area-01 img{ margin-bottom:20px;}
#home #box-05 .area-01 .p-01{ font-size:40px;}

#home #box-05 .area-02{ margin-bottom:60px; padding:0 5%; }
#home #box-05 .area-02 .youtube{height: 0;overflow: hidden;padding-bottom: 56.25%;position: relative;}
#home #box-05 .area-02 .youtube iframe {position: absolute;left: 0;top: 0;height: 100%;width: 100%;}



#home #box-05 .area-03 { padding: 0 5%; text-align: center; overflow: hidden; margin-bottom: 70px; }
#home #box-05 .area-03 p.p-01 { font-size: clamp(20px, 4.5vw, 28px); text-align: center; margin-bottom: 30px; font-weight: bold; }
#home #box-05 .area-03 p.p-02 { font-size:18px; line-height:2em; margin-bottom: 30px; text-align: center; }
#home #box-05 .area-03 p.p-03 { font-size: clamp(12px, 2.5vw, 14px); max-width: 400px; margin: 0 auto;}



#home #box-05 .area-04 { padding: 0 5%; text-align: center; overflow: hidden; }
#home #box-05 .area-04 p.p-01 { background: #37b5e5; color: #FFF; font-size:30px; padding: 10px 0; margin-bottom: 40px; font-weight: bold; }
#home #box-05 .area-04 .tb-01 {overflow:hidden; text-align:center; margin-bottom:50px;}
#home #box-05 .area-04 .tb-01 .entry { width: 315px; text-align: center; float:left;}
#home #box-05 .area-04 .tb-01 .entry:nth-of-type(2n){ float:right;}
#home #box-05 .area-04 .tb-01 .entry img { width: 100%; height: auto; margin-bottom: 5px; }
#home #box-05 .area-04 .tb-01 .entry p { font-size:20px; margin: 0; }
#home #box-05 .area-04 .tb-01 .sankaku-02 {width:30px;margin-top:95px;display: inline-block;}
#home #box-05 .area-05 { text-align: center; padding: 0 5% 60px; }
#home #box-05 .area-05 p { font-size:18px; line-height: 1.5; margin: 0 auto; max-width: 700px; }



#home #box-06 {max-width:750px; width:100%; background: #FFF; padding-bottom:150px; z-index:999;}
#home #box-06 .area-01{ padding:0 5%; text-align:center; overflow:hidden; padding-top:60px; margin-bottom:60px;}
#home #box-06 .area-01 .p-01{ font-size: 30px; font-weight:bolder;}


#home #box-06 .area-02{ padding:0 5%;margin-bottom:60px;}
.cp_qa *,
.cp_qa *:after,
.cp_qa *:before { -webkit-box-sizing: border-box; box-sizing: border-box; }

.cp_qa { overflow-x: hidden; margin: 0 auto; color: #333333; }
.cp_qa .cp_actab { padding: 5px 20px 20px; border: 2px solid #cccccc; position:relative;border-radius:15px; margin-bottom:30px;}
.cp_qa .cp_actab .p-01{ text-indent:-2.1em; padding-left:2.1em; padding-right:48px; font-size:18px;}
.cp_qa .cp_actab .p-01 span{ font-size:160%; color:#255bab; position:relative; margin-right:4px; top:3px;}


.cp_qa label { font-size: 1.2em; position: relative; display: block; width: 100%; margin: 0; padding: 10px 0px 0 0px; cursor: pointer; z-index:9;}
.cp_qa .cp_actab-content { font-size:18px; position: relative; overflow: hidden; height: 0;padding: 0 0x; -webkit-transition: 0.1s ease; transition: 0.1s ease; opacity: 0; font-weight:800;}
.cp_qa .cp_actab-content span{ font-size:160%; color:#37b5e5; position:relative; margin-right:4px; top:3px;}



.cp_qa .cp_actab input[type=checkbox]:checked ~ .cp_actab-content { height: auto; padding: 14px 0 0px; opacity: 1; padding-left:0px; padding-left:2.1em; text-indent:-2.1em;}
.cp_qa .cp_plus { font-size: 2.4em; line-height: 100%; position: absolute; right:20px; top:15%;z-index: 5; -webkit-transition: 0.2s ease; transition: 0.2s ease; color:#37b5e5;}
.cp_qa .cp_actab input[type=checkbox]:checked ~ .cp_plus { -webkit-transform: rotate(180deg); transform: rotate(180deg);top:5%;}
.cp_qa .cp_actab input[type=checkbox] { display: none; }

#box-06 .area-03{ margin-bottom:60px; padding:0 5%; }
#box-06 .area-03 .area-mailform{ background:#fff;}
#box-06 .area-03 .area-mailform table{ width:100%; margin-bottom:50px;}
#box-06 .area-03 .area-mailform table td{ padding:20px 8px; vertical-align:middle;}
#box-06 .area-03 .area-mailform table td.td-01{ width:230px; font-size:17px; font-weight:bold; vertical-align:top; font-family:"Zen Maru Gothic", serif;}
#box-06 .area-03 .area-mailform table ul li{ margin-bottom:7px;}
#box-06 .area-03 .area-mailform table ul li:last-of-type{ margin-bottom:0px;}
#box-06 .area-03 .area-mailform table ul.ul-01 li{ margin-bottom:0px;}
#box-06 .area-03 .area-mailform table select{ padding:3px; font-size:15px;}
#box-06 .area-03 .area-mailform table input{ padding:3px; font-size:15px;}
#box-06 .area-03 .area-mailform table label img{ display:block; margin:0 auto 3px;}
#box-06 .area-03 .area-mailform table button{}
#box-06 .area-03 .area-mailform .chui{ font-weight:bold; color:#fff; background:#ff3838; font-size:11px; padding:0px 7px; margin-right:7px; position:relative; bottom:3px; float:right;position:relative; top:0px;}
#box-06 .area-03 .area-mailform .chui-01{ float:left;}
#box-06 .area-03 .area-mailform .p-01{ margin-top:5px;}
#box-06 .area-03 .area-mailform .autotext{ margin-bottom:30px;}
#box-06 .area-03 .area-mailform .p-02{ font-weight:bold;}
#box-06 .area-03 .area-mailform .p-min{ font-size:14px; letter-spacing:normal; padding-top:5px;}
#box-06 .area-03 .area-mailform .w01{width:98%;}
#box-06 .area-03 .area-mailform .w02{width:43.7%;}

#box-06 .area-03 .area-mailform .kakunin{ background:#F0F7FC; overflow:hidden; padding:5px 5px;margin-bottom:20px; text-align:center;}
#box-06 .area-03 .area-mailform .tb-01{}
#box-06 .area-03 .area-mailform .tb-03{ text-align:center; position:relative; left:-30px;}
#box-06 .area-03 .area-mailform .tb-03 .chui{ float:none;}
#box-06 .area-03 .area-mailform .tb-02{ text-align:center;}
#box-06 .area-03 .area-mailform .tb-04{ height:200px;overflow-y:scroll;padding:20px; border:#999 solid 1px; background:#FFF; margin:auto; margin-bottom:50px; }
#box-06 .area-03 .area-mailform .p-03{ font-weight:bold; margin-bottom:10px;}
#box-06 .area-03 .area-mailform .p-04{ font-weight:bold;}
#box-06 .area-03 .area-mailform .p-05{margin-bottom:15px;}
#box-06 .area-03 .area-mailform .ul-01{margin-bottom:15px;}
#box-06 .area-03 .area-mailform h2{ font-size:22px; font-weight:bold; margin-bottom:5px;}

#box-06 .area-03 .area-mailform .btn { width: 350px; font-size: 18px; font-weight: bold; color: #fff; background: linear-gradient(to bottom, #50a8d2, #31599e); text-align: center; box-shadow: 0px 2px 0 #2a467c; border: 2px solid #2a467c; padding: 25px 0; display: block; text-decoration: none; border-radius:10px; box-sizing: border-box; position: relative; transition: 0.3s; margin: 40px auto 0; cursor: pointer; }

#box-06 .area-03 .area-mailform .btn:hover{ box-shadow:0 1px 0 #3a7650; transform:translateY(5px); opacity:1;}
@media screen and (max-width: 768px) {
#box-06 .area-03 .area-mailform table,  #box-06 .area-03 .area-mailform table tbody,  #box-06 .area-03 .area-mailform table tr,  #box-06 .area-03 .area-mailform table td { display: block; width: 100%; box-sizing: border-box; }
#box-06 .area-03 .area-mailform table td.td-01 { width: 100%; font-size: 16px; margin-bottom: 5px; }
#box-06 .area-03 .area-mailform table td { padding: 10px 0; }
#box-06 .area-03 .area-mailform .w02 { width: 100% !important; margin-bottom: 10px; }
#box-06 .area-03 .area-mailform .w01 { width: 100% !important; margin-bottom: 10px; }
#box-06 .area-03 .area-mailform .tb-03 { text-align: left; position: static; }
#box-06 .area-03 .area-mailform .btn { width: 100%; padding: 20px 0; font-size: 16px; margin-top: 30px; }
#box-06 .area-03 .area-mailform h2 { font-size: 20px; }
#box-06 .area-03 .area-mailform .p-03,  #box-06 .area-03 .area-mailform .p-04,  #box-06 .area-03 .area-mailform .p-05 { font-size: 15px; line-height: 1.6; }
#box-06 .area-03 .area-mailform .tb-04 { height: 180px; padding: 15px; }
#box-06 .area-03 .area-mailform select,  #box-06 .area-03 .area-mailform textarea { font-size: 16px; width: 100%; }
#box-06 .area-03 .area-mailform ul.ul-01 { padding-left: 15px; }
}

/*{font-size:clamp(12px, 2vw, 20px);}*/


#home .border-line{ height:15px;background: linear-gradient(90deg,rgba(36, 170, 221, 1) 0%, rgba(21, 99, 129, 1) 100%);}
#home #footer{ background:#ff371b; color:#FFF; text-align:center; padding:5px 0px;}

