@charset "UTF-8";

body {
    font-family: YakuHanJP_Narrow, "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    color: #333;
    -webkit-font-smoothing: antialiased;/*macでサイトのフォントが太くなるのを回避：アンチエイリアス制御*/
}
html,body{
	height: 100%;/*高さを100%にして描画エリアをとる*/
}

.wrap{width: 100%; height: auto; }
.header {width: 100%; text-align: left; padding:20px; position: absolute; top: 0; z-index: 3;}
.header .head-logo { width: 40px;}
.header .head-logo img {width: 100%;}
#wrapper{
	width: 100%; padding-top:72px; min-height: 360px; display: flex; align-items: center; flex-direction: column;
    position: relative; top: 0;
    text-align: center;
    overflow: hidden;
    background: url(../images/top-bg.webp) top center no-repeat;
    background-size: cover;
}
.kyun-h1{position: absolute; top: -14%; right: -32%; width: 43%;}
.text-stroke{-webkit-text-stroke: 6px white;
  text-stroke: 6px white;
  paint-order: stroke;
  z-index: 2;
}
.kyn-text.q1{position: absolute; bottom: -20%; right: -2%; font-size: 11px;}
.kyn-text.q2{position: absolute; bottom: -22%; right: -2%; font-size: 11px;}
.kyn-text.q3{position: absolute; bottom: -38%; right: -8%; font-size: 11px;}
.kyn-text.q4{position: absolute; bottom: -46%; right: -2%; font-size: 11px;}
.kyn-text.q5{position: absolute; bottom: -20%; right: -2%; font-size: 11px;}
.kyn-text.q6{position: absolute; bottom: -21%; right: 2%; font-size: 11px;}
.kyn-text.q7{position: absolute; bottom: 2%; right: 16%; font-size: 11px;}

:root{
  --color1: #6bc8f2;
  --color2: #f5a200; 
  --color3: #b71a86;
  --color4: #f0908a;
  --color5: #006fbc;
  --color6: #3cb37a;
  --color7: #e9546c;
  --color8: #3cb37a;
}
.question-num1{background: var(--color1);}
.question-num2{background: var(--color2);}
.question-num3{background: var(--color3);}
.question-num4{background: var(--color4);}
.question-num5{background: var(--color5);}
.question-num6{background: var(--color6);}
.question-num7{border: 1px solid var(--color7);}
.question-num8{border: 1px solid var(--color8);}

.wrap{
	background: #fff; position: relative;
}

 .main_catch {max-width: 700px;
  width: 60%;
  height: auto;}
.main_catch2 {max-width: 600px;     position: relative;
    top: -8px;
    width: 40%;
    height: auto;}
  .main_img{width: 76%; margin-top: 24px;}
  .lottie-wrap.fadeIn{position: relative; top: 4px;}
  .lottie-wrap.fadeIn .kyn-text{font-size: 11px; position: absolute; right: -36%; }

  #wrapper.lower{padding-top: 20px; min-height: 108px;}
  #wrapper.lower .main_catch {width: 30%; max-width: 300px;}
  #wrapper.lower .lottie-wrap.fadeIn {width: 24%; max-width: 264px; }

 .openbtn{
	position: fixed;
  right: 0; top: 0;
	cursor: pointer;
    width: 70px;
    height:50px; z-index: 999;
}

/*ボタン内側*/
.openbtn span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    right: 14px;
    height: 2px;
    border-radius: 2px;
	background: #333;
  }


.openbtn span:nth-of-type(1) {
	top:15px;	
  	width: 20%;
}

.openbtn span:nth-of-type(2) {
	top:23px;
  	width: 35%;
}

.openbtn span:nth-of-type(3) {
	top:31px;
  	width: 45%;
}

/*activeクラスが付与されると線が回転して×になる*/

.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 30px;
    transform: translateY(6px) rotate(-135deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 30px;
    transform: translateY(-6px) rotate(135deg);
    width: 30%;
}

  /*========= ナビゲーションのためのCSS ===============*/

  #g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 998;
    /*ナビのスタート位置と形状*/
  top:0;
    right: -120%;
  width:100%;
    height: 100vh;/*ナビの高さ*/
  background:linear-gradient(45deg, rgba(88, 182, 211, .9), rgb(197 238 214 / 90%));
    /*動き*/
  transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    right: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top:35%;
    left:50%;
    transform: translate(-50%,-50%);
    width: 100%;
}

/*リストのレイアウト設定*/

#g-nav li{
  list-style: none;
    text-align: center;
}

#g-nav li a{
  color: #333;
  text-decoration: none;
  padding:10px 0;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: bold;
}





@keyframes line{
0%{stroke-dashoffset: 1500px;}
100%{stroke-dashoffset: 0;}
}

.slide-wrap{width: 100%; 
    padding:4px 0;
    overflow: hidden; }
.test-slick {
    width: 94%;
    max-width: 800px;
    margin: 6px auto;
}

.test-slick__item {
    margin-right: 3px;
    margin-left: 3px;
    border-radius: 3px;
    overflow: hidden;
}

.test-slick__item img {
    height: auto;
    width: 100%;
}


.fadeIn{
animation-name:fadeInAnime;
animation-duration:2s;
animation-fill-mode:forwards;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.link-el{text-decoration: underline; color: #00a0d9;}


.icon-wrap {width: 100%; margin: 130px auto 0 auto; text-align: center;}
.icon-wrap img {width: 40px;}
.icon-wrap.innavi {position: relative; top: 53%;}
#navi-close {color: #333; position: relative; top: 74%; text-align: center; cursor: pointer;}

#footer {width: 100%; position: relative; text-align: center; line-height: 1.5em; padding: 30px 16px; margin-top: 96px; color: #333; 
  background: url(../images/top-bg.webp) top center no-repeat;
    background-size: cover;}
.footer-text {font-weight: 600; font-size: 16px; text-align: left;}
.footer-content-wrap {display: flex; margin: 20px auto; justify-content: space-between; margin-bottom: 50px;}
#footer address { font-size: 12px; text-align: left; }
.footer-link {text-align: right; font-size: 12px;}
.footer-logo-wrap {width: 100%; text-align: center; margin: 0 auto 28px auto;
  display: flex; justify-content: center; align-items: center; flex-direction: column;}
.footer-logo-wrap img {width: 60%;}
.footer-logo-wrap #main-svg {width: 100%;}

span.smoothText {
    overflow: hidden;
    display: block; color: #333; font-size: 11px;
}

.video-wrap {width: 100%;}
.video-wrap iframe {width: 100%; height: auto; aspect-ratio: 16 / 9;}


/*全て共通：hideエリアをはじめは非表示*/
.hide-area{
	display: none;
}

/*全て共通：モーダルのボタンの色を変更したい場合*/
.modaal-close:after, 
.modaal-close:before{
	background:#ccc;	
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before{
	background:#888;
}

.content-wrap{width: 100%; margin: 0 auto; position: relative;}
.content1{width: 100%; padding: 5%;}
.content1 .content-title{width: 100%; height: 92px; font-size: 15px; color: var(--color7); padding-left: 10px; padding-top: 15px; text-align: center; font-weight: 700; margin: 0 auto; background: url(../images/title-bg.svg) no-repeat top center; background-size: contain;}
.content1 .content-text{width: 100%; margin-top: 16px; line-height: 1.5em; font-size: 16px;}
.content1 .flex-item .img-wrap{width: 100%; text-align: center;}
.content1 .flex-item .img-wrap img{width: 100%;}
.content1 .flex-item .img-wrap img.p1-1{width: 80%; margin-top: 12px;}
.content1 .flex-item{margin-bottom: 40px;}
.content2{width: 100%;}
.content2 h3{width: 90%; margin: 0 5%; text-align: center; font-size: 20px; font-weight: bold; padding:4% 0; color: white; background: #3cb37a; 
  border-bottom-left-radius: 20px; border-bottom-right-radius: 20px;}
.content2 .question-title{width: 100%; padding:0 8%; margin-top: 16px; position: relative;}
.content2 .question-title .img-wrap{width: 100%; text-align: center;}
.content2 .question-title .img-wrap img{width: 100%;}
.content2 .question-title .question-sub{font-size: 20px;position: relative; top: -30px; left: 8px;}
.content2 .question-title .question-sub span{font-size: 52px; color: #EB5F1A;}
.content2 .question-list{width: 100%; padding:0 5%;}
.content2 .question-list .question-item{margin-bottom: 20px; width: 100%;}
.content2 .question-list .question-item a {display: flex;}
.content2 .question-list .question-item a .question-num{width: 24%; font-weight: 700; display: flex; justify-content: center; align-items: center; font-size: 13px; 
  color: #fff; border-radius: 8px; border-top-right-radius: 0; border-bottom-right-radius: 0;}
.content2 .question-list .question-item a .question-words{width: 76%; background: #fff; position: relative; font-weight: 700; padding: 12px 6px; border: 1px solid #ccc; border-radius: 8px; font-size: 16px;
   line-height: 1.5em; border-top-left-radius: 0; border-bottom-left-radius: 0;}
.content2 .question-title .kyn-text{font-size: 11px; position: absolute;bottom: 22%; right: 5%;}

.content3 .question-list .question-item a::before,
.content3 .question-list .question-item a::after,
.question-words::before,
.question-words::after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 8px;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.content3 .question-list .question-item a::before,
.question-words::before{
	box-sizing: border-box;
	width: 20px;
	height: 20px;
	border: 1px solid #00a0d9;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.content3 .question-list .question-item a::after,
.question-words::after{
	right: 8px;
	box-sizing: border-box;
	width: 6px;
	height: 6px;
	border: 6px solid transparent;
	border-left: 6px solid #00a0d9;
}
.content3{width: 100%; margin-top: 40px;}
.content3 .for-parent{width: 100%; text-align: center; font-size: 20px; font-weight: bold; padding:8%;}
.content3 .question-list{width: 100%; padding:0 5%;}
.content3 .question-list .question-item{margin-bottom: 20px; width: 100%;}
.content3 .question-list .question-item a { position: relative; display: block; width: 100%; font-weight: 700; display: flex; align-items: center; font-size: 16px; 
 border-radius: 8px; font-weight: 700; padding: 16px 12px; }
 .content4{width: 100%; padding: 5%; margin-top: 52px;}
.content4 .for-parent{width: 100%; text-align: center; font-size: 20px; font-weight: bold; padding:4% 0; background: #fdd000; 
  border-bottom-left-radius: 20px; border-bottom-right-radius: 20px;}
.content4 .sponser-text{width: 100%; margin-top: 20px; line-height: 1.5em; font-size: 16px;}
.content4 .sponser-text span{font-weight: 700; font-size: 18px;}
.content4 .sponser-list{width: 100%; margin-top: 20px;}
.content4 .sponser-list .sponser-item{ width: 100%;}
.content4 .sponser-list .sponser-item .w100{width: 100%; margin-bottom: 8px;}
.content4 .sponser-list .sponser-item .w100 img{width: 100%;}
.content4 .sponser-list .sponser-item .col3{display: flex; gap: 2%; margin-bottom: 8px;}
.content4 .sponser-list .sponser-item .col3 a{width: 32%;}
.content4 .sponser-list .sponser-item .col3 a img{width: 100%;}

.content-wrap.lower{padding: 0 5%; max-width: 600px;}
.q-title-wrap{width: 100%; position: relative; z-index: 2;}
.q-title-wrap.q1{border-top: 3px solid var(--color1);}
.q-title-wrap.q2{border-top: 2px solid var(--color2);}
.q-title-wrap.q3{border-top: 2px solid var(--color3);}
.q-title-wrap.q4{border-top: 2px solid var(--color4);}
.q-title-wrap.q5{border-top: 2px solid var(--color5);}
.q-title-wrap.q6{border-top: 2px solid var(--color6);}
.q-title-wrap.q7{border-top: 2px solid var(--color7);}
.q-title-wrap.q8{border-top: 2px solid var(--color8);}
.q-title-wrap.q1 .q-title{background: var(--color1);}
.q-title-wrap.q2 .q-title{background: var(--color2);}
.q-title-wrap.q3 .q-title{background: var(--color3);}
.q-title-wrap.q4 .q-title{background: var(--color4);}
.q-title-wrap.q5 .q-title{background: var(--color5);}
.q-title-wrap.q6 .q-title{background: var(--color6);}
.q-title-wrap.q7 .q-title{background: var(--color7);}
.q-title-wrap.q8 .q-title{background: var(--color8);}
.q-title{width: 60%; margin: 0 auto; text-align: center; font-size: 20px; font-weight: bold; padding: 13px 0 16px 0; color: white;  
  border-bottom-left-radius: 20px; border-bottom-right-radius: 20px;}

.q-text-wrap{width: 100%; margin-top: 20px; line-height: 1.5em; font-size: 18px; font-weight: 700;}
.q-img-wrap{width: 100%; margin-top: 20px;}
.q-img-wrap img{width: 100%;}
.q-choices-wrap{width: 100%; margin-top: 40px; display: flex; gap: 2%;}
.choise{ display: block; width: 49%; background: #f2f2f3; position: relative; padding: 16px 12px; padding-bottom: 20px; 
  border-radius: 12px; font-size: 16px; font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.5em;
  box-shadow: 0px 2px 2px 0px rgba(24, 24, 24, 0.5), inset 0px -3px 6px -2px rgba(24, 24, 24, 0.3);}
  .choise::after{content: ">>"; position: absolute; bottom: -3px; font-size: 13px; color: #00a0d9;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);}
.q-choices-wrap.q1 .choise{border: 3px solid var(--color1);}
.q-choices-wrap.q2 .choise{border: 3px solid var(--color2);}
.q-choices-wrap.q3 .choise{border: 3px solid var(--color3);}
.q-choices-wrap.q4 .choise{border: 3px solid var(--color4);}
.q-choices-wrap.q5 .choise{border: 3px solid var(--color5);}
.q-choices-wrap.q6 .choise{border: 3px solid var(--color6);}
.q-choices-wrap.q7 .choise{border: 3px solid var(--color7);}
.q-choices-wrap.q8 .choise{border: 3px solid var(--color8);}
.choise .lottie-wrap.lower{position: absolute; top: -24%; left: -5%; width: 48px;}
.kyn-wrap{width: 100%; margin: 0; position: relative; height: 86px;}
.kyn1{position: absolute; bottom: 0; right: -10%; width: 34%;}
.kyn2{width: 28%;right: 4%; bottom: -7%;}
.kyn3{width: 36%;right: -7%; bottom: -23%;}
.kyn4{width: 32%;right: 4%; bottom: -26%;}
.kyn5{width: 38%;right: 8%; bottom: 5%;}
.kyn6{width: 32%;right: 8%; bottom: -5%;}
.kyn-bike{width: 30%;right: 2%; bottom: -3%;}
.kyn-flag{width: 40%;right: 2%; bottom: -4%;}

.kyn-text.q2-a{position: absolute; bottom: -21%; right: 4%; font-size: 11px;}
.kyn-text.q6-a{position: absolute; bottom: -21%; right: 8%; font-size: 11px;}

.answer-true,.answer-false{width: 100%; margin-bottom: 60px; position: relative; z-index: 2;}
.answer-true .head-line,.answer-false .head-line{ position: relative; width: 100%; margin-top: 20px; font-size: 32px; font-weight: 700; display: flex; justify-content: center; align-items: center;}
.answer-true .head-line .mark-svg,.answer-false .head-line .mark-svg{position: absolute; margin-left: 13%; width: 18%; z-index: 1;}
.answer-true .head-line .circle-svg,.answer-false .head-line .circle-svg{width: 40px; }
.answer-true .head-line .circle-svg{margin-right: 8px;}
.answer-false .head-line .circle-svg{margin-right: 8px;}
.head-line .circle-svg img{width: 100%;}
.answer-true .img-wrap,.answer-false .img-wrap{width: 100%; margin-top: 20px;}
.answer-true .img-wrap img,.answer-false .img-wrap img{width: 100%;}
.answer-true .text-wrap,.answer-false .text-wrap{font-size: 20px; margin-top: 20px; line-height: 1.5em; font-weight: 700; text-align: center;}
.advices{width: 100%; margin-bottom: 40px; font-size: 26px; font-weight: bold;}
.movie-wrap{width: 100%; padding: 8px; border-radius: 12px; margin: 20px 0; background: #fff; margin-bottom: 40px;}
.movie-wrap .video-wrap{width: 100%;}
.movie-wrap .video-wrap video{width: 100%; height: auto; aspect-ratio: 16 / 9;}
.movie-wrap.q1{border: 3px solid var(--color1);}
.movie-wrap.q2{border: 3px solid var(--color2);}
.movie-wrap.q3{border: 3px solid var(--color3);}
.movie-wrap.q4{border: 3px solid var(--color4);}
.movie-wrap.q5{border: 3px solid var(--color5);}
.movie-wrap.q6{border: 3px solid var(--color6);}
.movie-wrap.q7{border: 3px solid var(--color7);}
.movie-wrap.q8{border: 3px solid var(--color8);}
.movie-wrap .text-wrap{font-size: 16px; margin-top: 20px; line-height: 1.5em; }

.text-wrap.q7{margin-top: 20px; line-height: 1.5em;}
.text-wrap.q8{margin-top: 20px; font-size: 24px; line-height: 1.5em; font-weight: 700;}

.content2.answer{margin-top: 80px;}
.content2.answer h3{width: 100%; margin: 0;}
.content2.answer .flex-wrap{ margin-top: 20px;}
.content2.answer .question-list{padding: 0;}

.bg-false{position: absolute; top: 0; left: 0; width: 100%; z-index: 1; opacity: 0.6;}
.img-wrap.q7{width: 100%; margin-top: 12px; text-align: center; position: relative;}
.img-wrap.q7 img{width: 80%;}
.img-wrap.q7.q8 img{width: 60%;}
.img-wrap.promise{width: 100%; position: relative; margin-top: 20px; text-align: center;}
.img-wrap.promise img{width: 100%;}
.rule{width: 100%; margin-top: 0; line-height: 1.5em; font-size: 16px; font-weight: 700; background: #f6d233; text-align: center; padding:8px 0;}

h3.q7{    width: 100%;
  margin: 40px auto 20px auto;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  padding: 4% 0;
  color: white;
  background:var(--color7);
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;}

  h3.q7.q8{background:var(--color8);margin-top: 0;}

.line {
    display: block;
    position: relative;
}
.line::after {
    background: #333;
    content: '';
    display: block;
    height: 1px;
    width: 100%;
}

.js-text-effect span{
    display: inline-block;
    opacity: 0;
    visibility: visible;
    transform: rotateY(90deg);
}

.button19 {margin-top:100px;}
.button19 a {
    display: flex;
    justify-content: center;
    position: relative;
    margin: 0 auto;
    padding: 1em 2em;
    width: 250px;
    color: #333;
    font-weight: 600;
    border: 1px solid #333;
    transition: 0.3s;
  }
  
  .button19 a::before {
    content: '';
    position: absolute;
    top: calc(50% - 2px);
    right: -1.5em;
    transform: translateY(calc(-50% - 2px)) rotate(30deg);
    width: 12px;
    height: 1px;
    background-color: #fff;
    transition: 0.3s;
  }
  
  .button19 a::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -1.5em;
    transform: translateY(-50%);
    width: 50px;
    height: 1px;
    background-color: #fff;
    transition: 0.3s;
  }
  .button19.inactive a::before,
  .button19.inactive a::after {display: none;}
  
  .button19 a:hover::before,
  .button19 a:hover::after {
    right: -2.0em;
  }

  #page-top a{
    display: flex;
    justify-content:center;
    align-items:center;
    background:#e1dccf;
    border-radius: 5px;
    width: 40px;
    height: 40px;
    color: #fff;
    text-align: center;
    text-transform: uppercase; 
    text-decoration: none;
    font-size:0.8rem;
    transition:all 0.3s;
    opacity: 0.8;
  }
  
  
  /*リンクを右下に固定*/
  #page-top {
    position: fixed;
    right: 18px;
    bottom:18px;
    z-index: 2;
      /*はじめは非表示*/
    opacity: 0;
    transform: translateY(100px);
  }
  
  /*　上に上がる動き　*/
  
  #page-top.UpMove{
    animation: UpAnime 0.5s forwards;
  }
  @keyframes UpAnime{
    from {
      opacity: 0;
    transform: translateY(100px);
    }
    to {
      opacity: 1;
    transform: translateY(0);
    }
  }
  
  /*　下に下がる動き　*/
  
  #page-top.DownMove{
    animation: DownAnime 0.5s forwards;
  }
  @keyframes DownAnime{
    from {
      opacity: 1;
    transform: translateY(0);
    }
    to {
      opacity: 1;
    transform: translateY(100px);
    }
  }
  .scrolldown1{
    /*描画位置※位置は適宜調整してください*/
	position:absolute;
	left:50%;
	bottom:-17px;
	height:50px;
  opacity: 0.9;
}

/*Scrollテキストの描写*/
.scrolldown1 span{
    /*描画位置*/
	position: absolute;
	left:-15px;
	top: -15px;
    /*テキストの形状*/
	color: #eee;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
}

/* 線の描写 */
.scrolldown1::after{
	content: "";
    /*描画位置*/
	position: absolute;
	top: 0;
    /*線の形状*/
	width: 1px;
	height: 30px;
	background: #eee;
    /*線の動き1.4秒かけて動く。永遠にループ*/
	animation: pathmove 1.4s ease-in-out infinite;
	opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
	0%{
		height:0;
		top:0;
		opacity: 0;
	}
	30%{
		height:30px;
		opacity: 1;
	}
	100%{
		height:0;
		top:50px;
		opacity: 0;
	}
}

#particles-js{ 
	position:fixed;/*描画固定*/
	width: 100%;
	height: 100%;
	background-color:#fff;/*背景色*/
}

.underlayer.content-wrap h1 { color: #333; margin-top: 16px; padding-left: 5px;}
.underlayer.content-wrap.contact h1 { color: #333; }
.underlayer.content-wrap.contact h2 { margin-top: 16px; padding-left: 5px;}
.underlayer .companys_wrap {margin-top: 60px;}

.privacy_wrap {max-width: 800px;
  margin: 0 auto;
  padding: 20px 10px;
  margin-top: 30px;
  line-height: 1.5em;
  color: #333;
  font-size: 15px;
}
.privacy_wrap h2 {
    border-bottom: 2px solid #333;
    padding-bottom: 5px;     font-size: large;
    font-weight: 600; margin-top: 30px;
}
.privacy_wrap h3 { margin-top: 30px; font-size: large;}
.privacy_wrap p {
    margin: 10px 0;
}
.privacy_wrap .date {
    text-align: right;
    margin-top: 20px;
}
.privacy_wrap .contact-info {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 2px solid #333;
}

.disp-pc { display: none; }

.company_wrap {width: 100%; margin-top: 40px; line-height: 1.5em; font-size: 15px;}
.company_wrap .overview a {text-decoration: underline;}
.company_wrap .image-main {width: 100%; padding: 0 3%; }
.company_wrap .image-main img {width: 100%; }
.company_wrap .intro {width: 94%; margin: 20px auto 0 auto; text-align: center;}
.company_wrap .intro h2 {font-size: large; padding: 0 3%;}
.company_wrap .overview {width: 100%; margin-top: 50px; text-align: left; padding: 0 3%;}
.heading08 {font-size: 26px; line-height: 1.5em; color: #1b2265; position: relative; }
.heading08 span {	display: flex; align-items: center; font-size: 18px; position: relative; left: -3%;}
.heading08 span::before {	content: '';	display: inline-block;	margin-right: 8px;	width: 40px;	height: 1px;	background-image: linear-gradient(90deg, rgba(248, 15, 15, 1), rgba(207, 63, 245, 1));}
.overview-text {margin-top: 30px; padding: 0 10px;}
.overview-img {margin-top: 20px; padding: 0 10px; text-align: center;}
.overview-img img {width: 100%; display: block; margin-bottom: 8px; }
.overview-img span {margin-top: 8px;}
.shonan-el .overview-img {text-align: left;}
.overview .dl-wrap {margin-top: 30px; padding: 0 10px;}
.overview .dl-wrap dl {margin-bottom: 20px;}
.overview .dl-wrap dt {font-size: 16px; margin-bottom: 4px;}
.company_wrap .overview-odo {background-color: #fafafa; padding-top: 20px; padding-bottom: 30px;}
.company-head {width: 94%; margin: 0 auto;}
.company_wrap .btn-wrap .button19 { margin-top: 50px; }
.company_wrap .btn-wrap .button19 a { color: #1b2265;; border: 1px solid #1b2265; }
.company_wrap .btn-wrap .button19 a::before { background-color: #1b2265; }
.company_wrap .btn-wrap .button19 a::after { background-color: #1b2265; }


.contact_wrap {margin-top: 60px; max-width: 800px; line-height: 1.5em; margin-right: auto; margin-left: auto;}
.contact-head { padding: 12px;}
.contact_wrap h3 { width: 100%; text-align: center; font-size: 20px; font-weight: 600;}

/*contact*/
.contact_wrap form {
	width: 94%;
	margin: 0 auto;
	text-align: center;
  margin-top: 30px;
}

.contact_wrap label {
	margin-bottom: 3px;
	text-align: left;
	display: block;
  font-weight: 600;
}

.contact_wrap label span {
	padding-left: 5px;
	color: red;
}

.contact_wrap input:not(input[type="submit"]) {
	width: 100%;
	margin-bottom: 25px;
	padding: 7px 7px;
	border: 1px solid #CCC;
	border-radius: 5px;
	text-align: left;
	display: block;
}

.contact_wrap textarea {
	width: 100%;
	margin-bottom: 25px;
	padding: 7px 7px;
	border: 1px solid #CCC;
	border-radius: 5px;
	text-align: left;
	display: block;
}

.contact_wrap input[type="submit"] {
	margin: 20px;
	padding: 10px 15px;
	background-color: #EEE;
	border: 1px solid #BBB;
	border-radius: 5px;
	display: inline-block;
}

.contact_wrap p:not(.complete) {
	width: 100%;
	min-height: calc(1em * 1.15 + 7px * 2 + 2px);
	margin-bottom: 25px;
	padding: 7px 7px;
	border-radius: 5px;
	text-align: left;
	display: block;
}
.contact_wrap .complete {
	text-align: center;
}

.contact_wrap .error {
	width: 60%;
	margin: 30px auto;
}
.contact_wrap .error li {
	color: red;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
}

.breadcrumb p::after {
  content: ">";
  margin-left: 0.6em; /* 記号の左右の余白 */
  color: #333; /* 記号の色 */
}

.breadcrumb p { margin-top: 16px; margin-left: 6px; }
.breadcrumb p a { color: white; text-decoration: underline; }
.company-content .breadcrumb p::after,
.company-content .breadcrumb p a,
.contact .breadcrumb p::after,
.contact .breadcrumb p a { color: #333; }
.breadcrumb p.breadcrumb-current::after { content: ""; }
.company-content .breadcrumb {width: 94%; margin-left: auto; margin-right: auto;}
.modaal-image .modaal-container { width:80%; }
/* .modaal-gallery-control { display: none; } */

/* for tablet */
@media (min-width: 481px) {
  form.confirm {width: 60%;}
  #wrapper.lower {min-height: 170px;}
}

/* for pc */
@media (min-width: 960px) {
  .header {padding-left: 3%;}
  .header .head-logo {font-size: 24px;}
    .test-slick {max-width: 1000px; }
    .disp-pc { display: inline-block; }
    #wrapper {padding: 100px; padding-bottom: 24px;}
    .header .head-logo {width: 72px;}
    .main_img {
      width: 52%;
      margin-top: 40px;
    }  

    .lottie-wrap.fadeIn{width: 400px;}
    .content1{display: flex;padding: 0;
      margin: 40px auto;
      gap: 4%;
      max-width: 1000px;}
    .content1 .flex-item {width: 50%;}
    .content1 .flex-item .img-wrap img.p2-1{width: 60%;}
    .content2{max-width: 1000px; margin: 40px auto;}
    .content2 h3{width: 100%; margin: 0; padding: 3% 0; font-size: 32px;}
    .content2 .question-title {display: flex; width: 60%; align-items: center; margin: 20px auto; padding: 0;}
    .content2 .question-title .question-sub{width: 40%; font-size: 24px; position: static;}
    .content2 .question-title .question-sub span{font-size: 28px;}
    .content2 .question-title .img-wrap {width: 60%;}
.content2 .flex-wrap{display: flex; gap: 4%; margin-top: 24px;}
.content2 .question-list{width: 48%; padding: 0;}
.content2 .question-list .question-item a .question-num{font-size: 16px;}
.content2 .question-list .question-item a .question-words{font-size: 20px;}
.content3 {max-width: 1000px; margin: 80px auto 40px auto;}
.content3 .for-parent{font-size: 32px; padding:0;}
.content3 .question-list{width: 100%; padding:0; display: flex; gap: 4%; margin-top: 24px;}
.content3 .question-list .question-item{margin-bottom: 20px; width: 48%;}
.content3 .question-list .question-item a { font-size: 20px;}
.content4{max-width: 1000px; padding: 0; margin: 100px auto 30px auto;}
.content4 .for-parent{ font-size: 32px; padding:3% 0; }
.content4 .sponser-text{width: 100%; margin-top: 20px; line-height: 1.5em; font-size: 18px; text-align: center;}
.content4 .sponser-text span{font-size: 20px;}
.content4 .sponser-list .sponser-item .w100{margin-bottom: 20px;}
.content4 .sponser-list .sponser-item .col3{ margin-bottom: 20px;}
.content2.answer .flex-wrap{ display: block;}
.content2.answer .question-list{width: 100%;}
.answer-true .head-line .mark-svg,.answer-false .head-line .mark-svg{width: 14%;}
.disp-pc { display: inline-block; }
.lottie-wrap.fadeIn .kyn-text{font-size: 12px; right: -26%; }
.content2 .question-title .kyn-text{font-size: 12px; position: absolute;bottom: 4%; right: 37%;}
.kyn-text.q7{position: absolute; bottom: 2%; right: 20%; font-size: 12px;}

    .companys_wrap {display: flex; flex-flow: wrap; gap: 20px 30px;}
    .companys_item {width: calc((100% - 60px) / 3);}

    .company_wrap {max-width: 1000px; margin-left: auto; margin-right: auto; line-height: 1.8em;}
    .company_wrap .image-main {padding: 0;}

    .contact-head {text-align: center;}
    form.confirm {width: 60%;}

    .modaal-image .modaal-container { width:30%; }
    .disp-sp { display: none; }
    .h3-white,
    .text-white,
    /* .underlayer.content-wrap h1, */
    .underlayer.content-wrap .breadcrumb,
    .underlayer.content-wrap #companys,
    .underlayer.content-wrap.contact h2 
     {max-width: 1000px; margin-right: auto; margin-left: auto;}


     #footer { margin-top: 100px; }
    .footer-text { margin: auto;}
    .footer-text,.footer-content-wrap { max-width: 1200px; }
    .wrap.company-item span.smoothText { color: #1b2265; }
    .footer-logo-wrap{width: 32%;}
    .footer-logo-wrap .lottie-wrap.fadeIn {width: 254px; }
    #footer address,.footer-link { font-size: 16px; }
    .footer-link{line-height: 1.8em;}
}
