@charset "UTF-8";
.NotoSans {
    font-family: "Noto Sans JP", sans-serif;
}
.ZenMaruG {
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    font-style: bold;
}
#scrollArea {
  position: relative;
  transform: translateY(-1000%);
  opacity: 0;
  transition: transform 0.6s ease-out, opacity 0.6s ease-out;
}
.tiikino{
    position: relative;
    transform: rotate(360deg); /* 初期状態で回転 */
    opacity: 0;
    transition: opacity 1s ease-in-out; /* 1秒かけてopacityを変化 */
}
.tiikino.active {
    opacity: 1.0;
}
p{
//  text-align: justify; /* 両端揃え */
//  text-justify: inter-ideograph; /* 日本語に適した文字間調整 */
}
@media (min-width: 480px) {
  #scrollArea.active {
    transform: translateY(0);
    opacity: 1.0;
  }
}
@media screen and (min-width:480px) and (max-width:1680px){
  .hero-section {
     background-image: url('../images/top/kosaka_clinic.webp');
     background-size: cover;
     background-position: center;
     border-radius: 80px;
     z-index:0;
     width:98%;
     height:80vh;
     min-height:800px;
     margin:91px auto 0;
  }
}
@media (max-width: 1536px) {
  .hero-section {
    margin:91px auto 0;
  }
}
@media (max-width: 1023px) {
  .content-box{
    overflow-x: hidden;
  }
}
@media (max-width: 480px) {
  .content-box{
    overflow-x: hidden;
  }
  .hero-section {
    background-image: url('../images/top/kosaka_clinic_sp.webp');
    background-size: cover;
    background-position: center;
    border-radius: 80px 80px 0 0;
    z-index:0;
    width:94%;
    height:calc(80vh - 50px);
    margin:70px auto 0;
  }
}
@media (min-width: 1680px) {
  .hero-section {
    background-image: url('../images/top/kosaka_clinic.webp');
    border-radius: 80px;
    z-index:0;
    width:calc(100% - 112px);
    height:80vh;
    margin:91px 56px 0;
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    animation: zoomInBg 5s ease-out forwards;
  }
}
.hero-section h2{
    margin:0 auto 0 20%;writing-mode: vertical-rl;
}
@media (max-width: 480px) {
  .hero-section h2{
    margin:0 auto;
    font-size:18px !important;
  }
}
.about {
   background-image: url('../images/top/250619_0037L.webp');
   background-size: cover;
   background-position: top;
   z-index:0;
   margin:80px auto 0;
   background-attachment: fixed;
   padding-top:150px;
   padding-bottom:100px;
}
@media (max-width: 600px) {
   .about {
      background-image: url('../images/top/250619_0037L_sp.webp');
      background-size: cover;
      background-position: top;
   }
}
@media (max-width: 480px) {
   .about {
      background-image: url('../images/top/250619_0037L_sp.webp');
      background-size: cover;
      background-position: top;
      z-index: 0;
      margin: 0px auto!important;
      height:auto!important;
      padding-bottom:120px!important;
   }
   .px-14{
      padding-left: 1rem!important;
      padding-right: 1rem!important;
   }
}
.iin-about{
    width:70%;
    max-width:1200px;
    margin:60px auto;
}
@media (min-width: 1023px) {
  .iin-about{
    width:65%;
  }
}
@media (min-width: 1536px) {
  .iin-about{
    width:60%;
    max-width:900px;
    margin:150px auto 125px;
  }
}
@media (max-width: 480px) {
  .iin-about{
    width:100%;
    max-width:480px;
    margin:60px auto;
  }
  .py-16{
    padding-top:3rem!important;
  }
}
.iin-about h3{
    text-align:center;
    margin-bottom:-45px;
    color:#FFF;
}
.iin-about img{
    width:100%;
}
.iin-text{
    padding:30px 10px 20px;
    color:#fff;
    text-align:center;
}
@media (max-width: 480px) {
  .iin-text p{
    font-size:15px;
  }
}
@media (min-width: 480px) {
  .iin-text p{
    font-size:20px;
  }
}
.about .other-kensa{
    background:#fff;
    height:90px;
    border-radius: 999px;
    padding-top:30px;
}
.about .other-kensa2{
    background:#fff;
    height:90px;
    border-radius: 999px;
    padding-top:5px;
}
@media (min-width: 1536px) {
  .about .other-kensa2{
    padding-top:25px;
    height:130px;
  }
  .about .other-kensa{
    padding-top:50px;
    height:130px;
  }
}
@media (max-width: 1536px) {
  .about .other-kensa2{
    line-height:25px;
  }
}
@media (max-width: 1023px) {
  .about .other-kensa2{
    line-height:23px;
    padding-top:10px;
  }
}
@media (max-width: 480px) {
  .about .other-kensa2{
    width: 200px;
  }
  .about .other-kensa{
    width: 200px;
  }
  .about .mt-12{
    margin-top: 6rem !important;
  }
}
.other-ke {
    justify-content: center;
    align-items: center;
    text-align:center;
    line-height:16px;
}
#yoyaku a{
    background:#e88a50;
    justify-content:flex-start;
    position: absolute;
    top: 120px;
    right:90px;
    border-radius:999px;
    width:15vw;
    min-width:339px;
    height:132px;
}
.under-ya{
    position: relative;
    margin:20px 0 20px auto;
    width:50px;
    z-index:999;
}
.under-ya img{
    width:50px !important;
    height:50px !important;
    margin:0 0 0 auto !important;
}
.parts .yoyaku-botton{
    padding:10px 0 10px 20px;
    line-height:1.5em;
}
.parts img{
    height:63px;
    widht:63px;
    float:right;
}
.parts .konzatu{
    justify-content:flex-end;
    position: absolute;
    right:0px;
    border-radius:50px 0 0 50px;
    width:15vw;
    height:150px;
    min-width:430px;
}
#services-naika{
    position: relative;
}
@media (max-width: 480px) {
  #yoyaku a{
    background: #e88a50;
    justify-content: flex-start;
    position: absolute;
    top: 120px;
    right: 30px;
    border-radius: 999px;
    width: 15vw;
    min-width: 339px;
    height: 132px;
  }
  .parts .konzatu {
    min-width: 390px;
  }
}
.parts .konzatu2{
    justify-content:flex-end;
    position: absolute;
    right:0px;
    border-radius:0;
    width:50px;
    height:104px;
    text-align:center;
    padding:18px;
    writing-mode: vertical-rl;
    border-left:2px solid rgba(8,8,8,0.2);
}
@media (min-width: 480px) {
  .parts .konzatu{
    top: 290px;
  }
}
@media (max-width: 480px) {
  .parts .konzatu{
    bottom: 15vh;
    opacity: 0.8;
    height:104px;
    min-width:340px;
  }
  .parts .konzatu2{
    bottom: 15vh;
    opacity: 1;
  }
}
.parts .uketsuke{
    justify-content:flex-end;
    position: absolute;
    bottom: 17vh;
    right:90px;
}
.parts .uketsuke .uketsukein{
    border-radius:32px;
    width:480px;
}
.parts .news{
    max-width:660px;
    margin:122px auto 90px;
    border-radius:32px;
}
.parts .news h3{
    margin: -35px 0 0;
    padding: 8px;
    width: 145px;
    height: 45px;
    background: #44b7dc;
    border-radius: 999px;
    text-align: center;
    color: #fff;
    font-size:19px;
    letter-spacing: 0.2em;
}
.parts .news ul{
    padding:20px 20px 0;
}
.parts .news li{
    display: flex;
}
.blog-box{
    display:none;
    padding:20px 60px;
    font-family: Noto Sans JP;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px;
    margin-bottom:80px;

    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    background:#daf1f8;
    margin-top:-45px;
    margin-bottom:-150px;
    z-index:555;
}
.blog-title {
    background:#44b7dc;
    width:317px;
    margin:0 auto 40px;
    height:54px;
    font-size:28px;
    text-align:center;
    padding-top: 10px;
    border-radius:999px;
    color:#fff;
    font-family: Zen Maru Gothic;
}
.blog-message{
    font-size:20px;
    border-top:1px solid #535353;
    padding:0;
}
@media (min-width: 1024px) {
  .blog-content{
    max-width:1100px;
    margin:80px auto;
  }
  .blog-message{
    display:flex;
    gap:80px;
  }
}
.blog-message p{
    border-bottom:1px solid #535353;
    padding:5px 0;
}
.under-ya.active{
    transform: rotate(-180deg);
    animation: .5s rotate-anim ease-in-out alternate;
}
@media (max-width: 1000px) {
  .blog-box{
    margin-top:-45px;
    padding: 80px 30px;
    height:850px;
    margin-bottom:-190px;
    margin-left: calc(16% - 16vw);
  }
}
@media (max-width: 480px) {
  .blog-box{
    margin-top:-45px;
    padding: 80px 30px;
    height:850px;
    margin-bottom:-26px;
    margin-left: calc(50% - 50vw);
  }
  .blog-content{
    width:100%;
  }
  .blog-message{
    font-size:18px;
  }
  .parts .news{
    width: 94%;
    margin:200px auto 80px;
    border-radius:32px;
  }
  .parts .news h3{
    margin:-35px auto 0;
  }
  .parts .news li{
    display: flex;
    flex-wrap: wrap;
  }
  .parts .news ul{
    padding:20px 0px 0;
  }
  .parts .news .text-center{
    text-align: left !important;
  }
}
#services img{
  width:90%;
  margin:0 auto;
}
@media (max-width: 1536px) {
  #services img{
    width:60%;
  }
}
@media (max-width: 480px) {
  #services img{
    width:50%;
  }
  #services h3{
    text-align:center !important;
  }
  #services .p-6{
    padding:1.5rem 0 !important;
  }
  #services .br13{
    border-right:none !important;
    padding-bottom:20px;
    border-bottom:1px solid #333;
  }
  .under-ya {
    margin:20px auto;
  }
}
@media (min-width: 1536px) {
  #services img{
    width:40%;
  }
}
#doctor{
    background:#b4e2f1;
    padding-top: 10rem;
    padding-bottom: 8rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
}
@media (max-width: 1023px) {
    #doctor {
       padding-left: 4rem;
       padding-right: 0rem;
    }
    #doctor .h-auto {
	min-height: 450px !important;
    }
}
@media (max-width: 769px) {
    #doctor {
       padding-left: 4rem;
       padding-right: 4rem;
    }
}
@media (max-width: 480px) {
    #doctor {
       padding-left: 1rem;
       padding-right: 1rem;
    }
    #doctor .h-auto {
	min-height: 200px !important;
    }
}
#doctor h2{
    position: absolute;
    top: -105px;
    right: 110px;
    padding: 20px 10px 10px;
    writing-mode: vertical-rl;
    background: #44b7dc;
    letter-spacing: 0.2em;
    font-size: 42px;
    line-height: 2.5rem;
    z-index: 100;
}
.doctor-box{
    margin-top:60px;
    z-index:10;
}
@media (min-width: 1800px) {
    .doctor-box {
        justify-content: flex-end;

	max-width: 1000px;
	margin: 0 auto;//20250722
    }
    .doctor-box h3{
	text-align:center;
    }
}
@media screen and (min-width: 1350px) and (max-width:1800px) {
    .doctor-box {
        justify-content: flex-end;

	max-width: 900px;
	margin: 0 auto;//20250722
    }
    .doctor-box h3{
	text-align:center;
    }
}
@media screen and (min-width: 1200px) and (max-width:1350px) {
    .doctor-box {
        justify-content: flex-end;

	max-width: 800px;
	margin: 0 auto;//20250722
    }
    .doctor-box h3{
	text-align:center;
    }
}
@media screen and (min-width: 1100px) and (max-width:1200px) {
    .doctor-box {
        justify-content: flex-end;

	max-width: 760px;
	margin: 0 auto;//20250722
    }
    .doctor-box h3{
	text-align:center;
    }
}
@media screen and (min-width: 768px) and (max-width:1100px) {
    .doctor-box {
        justify-content: flex-end;

	max-width: 95%;
	margin: 0 auto;//20250722
    }
}
.doctor-box2{
    margin-top:160px;
    z-index:10;
}
@media (min-width: 2000px) {
    .doctor-box2 {
        justify-content: flex-end;
    }
}
@media (max-width: 1048px) {
    .doctor-box2 {
	gap: 0.5rem !important;
    }
}
.top-doctor{
    position: relative;
    width: 572px;
    height: 485px;
}
.sec-doctor{
    margin-left: 14%;
    width: 572px;
    height: 485px;
}
.sec-doctor img{
    width: 572px;
    height: 485px;
}
@media (max-width: 1024px) {
   .sec-doctor{
      margin-left: 0;
   }
}
.sec-doctor img{
	height:450px;
}
@media (min-width: 1920px) {
   .doctor-box2{
	height:485px;
	margin-left: 100px;
   }
}
@media (max-width: 480px) {
   .top-doctor {
      padding: 0 10px;
      width: 100%;
      height: 250px;
    }
   .sec-doctor {
      padding: 0 10px;
      width: 100%;
      height: 250px;
   }
   .sec-doctor img{
	height:auto;
   }
}
.doctor-title{
    width:300px;
    height:auto;
}
.doctor-title1{
    position: absolute;
    bottom: 10px;
    left:-80px;
}
.doctor-title2{
    position: absolute;
    bottom: 140px;
    left:130px;
}
@media (max-width: 1024px) {
    .doctor-title2 {
       bottom: 230px;
       left:0px;
    }
}
.doctor-text{
    position: absolute;
    bottom:-80px;
    top:480px;
    left:0px;
    text-align:center;
    width:100%;
    font-family: "Noto Sans JP", sans-serif;
}
.doctor-text span{
    font-size: 1.5rem;
    line-height: 2rem;
}
.doctor-text2{
    position: relative;
    height:370px;
    width:50%;
    padding:0;
    font-family: "Noto Sans JP", sans-serif;
}
.doctor-message{
    height:468px;
    padding:0;
//    writing-mode: vertical-rl;//20250722
    -webkit-text-combine-upright: all;
    -ms-text-combine-upright: all;
    font-feature-settings: "vchw" 1;
    hanging-punctuation: force-end;
    letter-spacing: 0em;
}
.text-15em{
   font-size:1.5em;
}
@media (max-width: 480px) {
  .text-15em{
    font-size: 2.1em !important;
  }
}
.text-12em{
   font-size:1.2em;
}
.text-ss{
   font-size: 0.8rem;
}
.w150{
   width:150px;
}
.w60v{
   width:60vw;
}
.text-23p{
   font-size: 23px;
   letter-spacing: 0.1em;
}
.text-23p2{
   font-size: 23px;
   letter-spacing: 0.2em;
}
.text-20p{
   font-size: 20px;
   letter-spacing: 0.1em;
}
.text-18p0{
   font-size: 18px;
   letter-spacing: 0em;
}
.text-18p{
   font-size: 18px;
   letter-spacing: 0.1em;
}
.text-18p2{
   font-size: 18px;
   letter-spacing: 0.2em;
}
.text-14p{
   font-size: 14px;
   letter-spacing: 0.1em;
}
.text-15p{
   font-size: 15px;
   letter-spacing: 0.1em;
}
.text-16p{
   font-size: 16px;
   letter-spacing: 0.01em;
}
.text-16p1{
   font-size: 16px;
   letter-spacing: 0.1em;
   line-height: 26px;
}
.text-19p{
   font-size: 19px;
   letter-spacing: 0.1em;
   line-height: 42px;
}
.text-20p2{
   font-size: 20px;
   letter-spacing: 0.2em;
   line-height: 25px;
}
@media (max-width: 1023px) {
  .text-20p2 {
    font-size: 18px;
    letter-spacing: 0em;
    line-height: 25px;
  }
}
.text-25p2{
   font-size: 25px;
   letter-spacing: 0.2em;
}
.text-28p2{
   font-size: 28px;
   letter-spacing: 0.2em;
}
.text-30p2{
   font-size: 30px;
   letter-spacing: 0.2em;
}
.text-35p2{
   font-size: 35px;
   letter-spacing: 0.2em;
}
.container3 h1{
   font-family: "Noto Sans JP", sans-serif;
   font-size: 24px;
   margin:20px 0;
}
.container3 h2 img{
    width: 222px;
    height:auto;
    margin:0 auto;
}
.container3 .panf{
   margin:40px 0;
}
@media screen and (min-width: 1100px){
  .container3 .panf{
    border-bottom:1px solid #333;
  }
}
.container3 .panf p{
   font-size: 14px;
   font-weight: 600;
   margin-bottom:10px;
}
.container3 .panf img{
   margin-bottom:20px;
}
.container3 .comment{
   padding-right: 1em; /* 要素内余白 */
   padding-left: 3em; /* 要素内余白 */
   text-indent: -1em; /* インデント */
}
.innai-poster{
   padding:55px 0;
   border-bottom:1px solid #333;
   font-family: "Noto Sans JP", sans-serif;
   font-weight: 300;
   font-size:18px;
   gap: 80px;
}
.innai-poster h4{
   font-family: "Noto Sans JP", sans-serif;
   font-weight: 500;
   color:#44b7dc;
   margin:50px 0 20px;
}
.innai-poster ul{
   list-style:disc;
   margin-top:1em;
   margin-left:2em;
}
@media (max-width: 1048px) {
 .innai-poster{
   font-size:14px;
   line-height:26px;
   gap: 0px;
   padding: 55px 44px;
 }
 .innai-poster h4{
   font-size:19px;
   margin:45px 0 20px;
 }
}
@media (max-width: 480px) {
 .innai-poster{
  margin-top: -40px;
  gap: 0px;
   padding: 0px 0px 40px;
 }
}

header .tel-add{
   flex-direction:column;
}
header .tel-add img {
    width: 15px;
    height: 15px;
    float: right;
    margin-left: 6px;
    margin-top: 5px;
}
header .flex-end{
   justify-content:flex-end;
}
.text-blue{
   color:#44b7dc;
}
@media screen and (min-width: 1100px) and (max-width:1238px) {
  .text-16p{
    font-size: 14px;
    letter-spacing: 0.01em;
  }
  header .tel-add img {
    margin-top: 3px;
  }
  nav .px-4{
    padding-left: 0.5rem!important;
    padding-right: 0.5rem!important;
  }
}
@media screen and (min-width: 1100px) and (max-width:1182px) {
  .space-x-16 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0rem * var(--tw-space-x-reverse))!important;
    margin-left: calc(3vw * calc(1 - var(--tw-space-x-reverse)))!important;
  }
}
@media screen and (min-width:765px) and (max-width:800px){
  .doctor-message {
    margin:0px auto 120px;
    height: 548px;
  }
}

@media (max-width: 765px) {
  .doctor-message {
    margin:100px auto 0px;
    height: 248px;
//    height: 548px;
  }
}
@media screen and (min-width:480px) and (max-width:690px){
   .doctor-text2 {
      margin-left: 60px;
      width: 80%;
   }
}
@media (max-width: 480px) {
   .container3 h2 img{
      width: 163px;
      height:auto;
      margin:0 auto;
   }
   .doctor-message {
      margin: 140px auto 80px;
      height: 366px;
      width: 246px;
   }
   .doctor-text2 {
      margin-left: 60px;
      width: 80%;
   }
   .doctor-text2 .text-19p{
      font-size: 13px!important;
      line-height: 20px!important;
   }
   .doctor-message .text-28p2{
      font-size: 21px;
      letter-spacing: 0.2em;
   }
   .doctor-message .text-18p{
      font-size: 13.5px;
      letter-spacing: 0.1em;
   }
}
.btm10{
   position: absolute;
   bottom: -58px;
}
.btm10 span{
    font-size: 1.5rem;
    line-height: 2rem;
}
@media (max-width: 1000px) {
   .btm10 .text-19p {
       font-size: 16px;
   }
   .btm10 .text-19p span{
       font-size: 1rem;
       line-height: 1.5rem;
   }
}
@media (max-width: 480px) {
   .btm10 .text-19p {
       line-height: 30px;
   }
   .btm10 .text-19p span{
       font-size: 12px;
       line-height: 18px;
   }
}
	#access{
	    padding-top: 12rem;
	    padding-bottom: 8rem;
	}
	@media (max-width: 769px) {
	  header li .text-18p {
	   font-size: 17px;
	   letter-spacing: 0em;
	  }
	  #doctor h2 {
	    right: 70px;
	  }
	}
	@media (max-width: 480px) {
	  #doctor{
	    padding-top: 3rem;
	    padding-left: 0;
	    padding-right: 0;
	  }
	  #doctor h2 {
	    top: -40px;
	    right: 55px;
	    padding: 10px 3px 10px;
	    letter-spacing: 0.2em;
	    font-size: 1.4rem;
	  }
	  .doctor-title1 {
	    position: absolute;
	    bottom: -50px;
	    left: -20px;
	   }
	  .doctor-text {
	    top: 310px;
	    bottom: -110px;
	    font-size: 0.8rem;
	  }
	  .doctor-text span{
	    font-size: 1.2rem;
    	    line-height: 1.5rem;
	  }
	  .doctor-box2 {
	    margin-top: 0px;
	  }
	  .btm10 {
	    top: 60px;
	    padding: 0;
	    font-size: 0.8rem;
	  }
	  .btm10 span{
	    font-size: 1.2rem;
	    line-height: 1.5rem;
	  }
	  .h160{
	    height:220px;
	  }
	  .doctor-title {
	    width: 260px!important;
	  }
	  .doctor-title2 {
	    bottom: 90px;
	    left: 50px;
	    width: 260px!important;
	  }
	  #access{
	    padding-top: 6rem !important;
	    padding-bottom: 6rem !important;
	  }
	}
	footer{
	    padding-top: 3rem;
	    padding-bottom: 3rem;
	}
	footer img{
	    width:290px;
	    height:auto;
	    margin: 0 0 0 auto;
	}
	footer a img{
	    width:280px;
	    height:auto;
	    margin:0 auto 0 0;
	}
	@media screen and (max-width: 769px) and (min-height:800px) {
	  footer img{
	    margin: 0 auto;
	  }
	  footer a img{
	    margin: 0 auto;
	  }
	  footer table{
	    max-width:600px;
	    margin:0 auto;
	  }
	  footer .container2{
	    text-align:center;
	  }
	  footer .container2 td{
	    text-align:left;
	  }
	}
	@media (max-width: 480px) {
	  footer{
	    padding-top: 0rem;
	    padding-bottom: 0rem;
	    text-align:center !important;
	  }
	  footer img{
	    width:80%;
	    margin: 0 auto;
	  }
	  .sp-none{
	    display:none;
	  }
	}
	@media screen and (min-width:480px) and (max-width:1280px){
	  .tab-none{
	    display:none;
	  }
	  .px-14 {
	     padding-left: 2rem!important;
	     padding-right: 2rem!important;
	  }
	}
	@media (max-width:1100px){
	  .minitab-none{
	    display:none;
	  }
	}
	@media (min-width: 1026px) {
	  .pc-none{
	    display:none;
	  }
	}
	@media (min-width: 1536px) {
	  footer img{
	    width:360px;
	  }
	}
	.title-line{
	    width:100px !important;
	    height:auto !important;
	    margin:0 auto 80px !important;
	}
	.title-line2{
	    width:100px !important;
	    height:auto !important;
	    margin:10px auto 80px !important;
	}
	.text-shadow {
//	    text-shadow: rgba(89,195,225,1.0) 1px 0px 10px !important;
	    text-shadow: rgba(9,115,145,1.0) 1px 0px 20px !important;
	    filter: drop-shadow(1px 0px 20px rgba(9, 115, 145, 1.0));
	}
	.text-shadow2 {
//	    text-shadow: rgba(89,195,225,1.0) 1px 0px 10px !important;
	    text-shadow: rgba(0,105,135,1.0) 1px 0px 20px !important;
	    filter: drop-shadow(4px 4px 10px rgba(0, 0, 0, 1.0));
	}
	_::-webkit-full-page-media, _:future, :root .text-shadow{
//ここにsafariブラウザのみ適用したいCSSプロパティを入れる
	    text-shadow: rgba(89,195,225,1.0) 1px 0px 20px !important;
	    filter: drop-shadow(1px 0px 20px rgba(89, 195, 225, 1.0));
	}
	_::-webkit-full-page-media, _:future, :root .text-shadow2{
//ここにsafariブラウザのみ適用したいCSSプロパティを入れる
	    text-shadow: rgba(89,195,225,1.0) 1px 0px 20px !important;
	    filter: drop-shadow(1px 0px 20px rgba(89, 195, 225, 1.0));
	}
        input:focus, button:focus {
            outline: none;
        }
	.noto-gothic-regular {
          font-family: 'Noto Sans JP', sans-serif;
	  font-weight: 400;
	  font-style: normal;
	}
        .custom-checkbox {
            appearance: none;
            -webkit-appearance: none;
            width: 20px;
            height: 20px;
            border: 2px solid #4A90E2;
            border-radius: 4px;
            position: relative;
            cursor: pointer;
        }
        .custom-checkbox:checked {
            background-color: #4A90E2;
        }
        .custom-checkbox:checked::after {
            content: '';
            position: absolute;
            top: 2px;
            left: 6px;
            width: 6px;
            height: 10px;
            border: solid white;
            border-width: 0 2px 2px 0;
            transform: rotate(45deg);
        }
	.container {
	    position: relative;
	    max-width: 100% !important;
	}
	@media (max-width: 1023px) {
	  .container ul{
		margin-top:0px;
	  }
	}
	@media (max-width: 768px) {
	  .container {
	     max-width: 100vw!important;
	  }
	}
	@media (min-width: 1024px) {
	  .container ul::before{
	    position: absolute;
	    content: "";
	    background-position: top right 0px;
	    background-image: url('../images/top/right_ya.svg');
	    background-size: cover;
	    width: 10px;
	    height: 16px;
	    bottom: 0px;
	    top: 15px;
	    left: 0;
	    transform: translateX(-100%);
	  }
	}
	.hero-overlay .tiikino {
	    position: absolute;
	    top:108px;
//	    left:380px;
	    left:0px;
	    width:100%;
	}
	.hero-overlay .tiikino img{
	    margin:0 auto 0 380px;
	}
	@media screen and (max-width: 1680px) and (max-height:800px) {
	  .parts .uketsuke {
	    justify-content: flex-end;
	    position: absolute;
	    top: 520px;
	    right: 90px;
	    bottom: auto;
	  }
	}
	@media (max-width: 1280px) {
	  .text-shadow {
//	    text-shadow: rgba(89,195,225,1.0) 1px 0px 10px !important;
//	    text-shadow: rgba(0,46,136,1.0) 1px 0px 20px !important;
	  }
	}
	@media (max-width: 1023px) {
	   .hero-overlay .tiikino {
	       position: absolute;
	       top:108px;
//	       left:200px;
	       width:100%;
	   }
	   .hero-overlay .tiikino img{
	       margin:0 auto 0 200px;
	   }
	  .parts .uketsuke {
	    justify-content: flex-end;
	    position: absolute;
	    top: auto;
	    right: 70px;
	    bottom: 15vh;
	  }
	}
	@media (max-width: 767px) {
	  .hero-overlay .tiikino {
        	position: absolute;
        	top: 148px;
//        	left: 80px;
	        width:100%;
	   }
	   .hero-overlay .tiikino img{
	       margin:0 auto 0 80px;
	   }
	  .parts .uketsuke {
	    justify-content: flex-end;
	    position: absolute;
	    top:auto;
	    bottom: 15vh;
	    right: 10px;
	  }
	}
	@media (max-width: 480px) {
	  .hero-overlay .tiikino {
        	position: absolute;
        	top: 10px;
//        	left: 38%;
	        width:100%;
	   }
	   .hero-overlay .tiikino img{
	       margin:0 auto;
	   }
	}
	.container2{
	    position: relative;
	}
	.container3{
	    position: relative;
	}
	@media (min-width: 1536px) {
	    .container2{
	        max-width: 85% !important;
	    }
	    .container3{
	        max-width: 55% !important;
	    }
	}
	.cstm-wave-top {
	    --height: 42px;
	  --mask:
	    radial-gradient(76.03px at 50% 102px,#000 99%,#0000 101%) calc(50% - 68px) 0/136px 100%,
	    radial-gradient(76.03px at 50% -68px,#0000 99%,#000 101%) 50% 34px/136px 100% repeat-x;
	  -webkit-mask: var(--mask);
	    mask: var(--mask);
	    margin-top: calc(-1 * var(--height));
	
	  @media (max-width: 1023px) {
	    --mask:
	    radial-gradient(76.03px at 50% 102px,#000 99%,#0000 101%) calc(50% - 68px) 0/136px 100%,
	    radial-gradient(76.03px at 50% -68px,#0000 99%,#000 101%) 50% 34px/136px 100% repeat-x;
	
	    @media (max-height: 500px) {
	      --mask:
		radial-gradient(25.82px at 50% 35.7px,#000 99%,#0000 101%) calc(50% - 28px) 0/56px 100%,
		radial-gradient(25.82px at 50% -21.7px,#0000 99%,#000 101%) 50% 14px/56px 100% repeat-x;
	    }
	  }
	
	  @media (max-width: 480px) {
	    --mask:
		radial-gradient(25.82px at 50% 35.7px,#000 99%,#0000 101%) calc(50% - 28px) 0/56px 100%,
		radial-gradient(25.82px at 50% -21.7px,#0000 99%,#000 101%) 50% 14px/56px 100% repeat-x;
	  }
	}

/* 初期状態では非表示 */
section {
//    opacity: 0;
//    transition: opacity 1s;
}

.fade-in-up{
    -webkit-transform:translate(0,50px);
    transform:translate(0,50px);
}

.fade-in-up2{
    -webkit-transform:translate(0,1px);
    transform:translate(0,1px);
}

.fade-in {
    opacity: 0;
    -webkit-transition-duration: 1.5s;
    transition-duration: 1.5s;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
}

.scroll-in{
    opacity:1;
    -webkit-transform:translate(0,0);
    transform:translate(0,0);
    filter: blur(0);
}

.blur{
    transition: all 0.5s;
    filter: blur(10px);
}


header h1{
   margin-left:60px;
}
header h1 img{
   width:200px;
   height:auto;
   margin-bottom:-180px;
}
@media (max-width: 1023px) {
   header h1 img{
      width:130px;
      height:auto;
      margin-bottom:-120px;
   }
   header h1{
      margin-left:0px;
   }
}
@media (max-width: 1536px) {
  .w60v{
     width:90vw;
  }
}
.m0a{
   margin:0 auto;
}
.br13{
   border-right:1px solid #333;
}
.bb13{
   border-bottom:1px solid #333;
}
.p20{
   padding:20px;
}
.p40{
   padding:40px 20px;
}
.lh16p{
   line-height:16px!important;
}
.lh24p{
   line-height:24px!important;
}
.lh38p{
   line-height:38px;
}

.ls01m{
   letter-spacing: 0.1em;
}
.line245 {
   line-height:24px;
}
.text-black53{
    color:#535353 !important;
}
.text-black75{
    color:#757575 !important;
}
.bg-gray-200{
    background-color:#e5f5fa!important;
}

@media screen and (min-width:680px) and (max-width:768px){
  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

#ybb13 {
   padding:40px 20px;
}

@media (min-width: 1023px) {
  #lbb13{
    border-bottom:none;
  }
  #lbb13::after{
    position: absolute; /*positionをabsoluteに指定*/
    content: "";
    background-color: #333; /*下線の色*/
    width: 90%; /*線の幅*/
    height: 1px; /*線の太さ*/
    bottom: 0px; /*線のタテ位置*/
    left: 55%;  /*線のヨコ位置*/
    transform: translateX(-50%);　/*線のヨコ位置*/
  }
  #rbb13::after{
    position: absolute; /*positionをabsoluteに指定*/
    content: "";
    background-color: #333; /*下線の色*/
    width: 90%; /*線の幅*/
    height: 1px; /*線の太さ*/
    bottom: 0px; /*線のタテ位置*/
    left: 45%;  /*線のヨコ位置*/
    transform: translateX(-50%);　/*線のヨコ位置*/
  }
  #mbb13{
    border-right:1px solid #333;
    border-left:1px solid #333;
  }
  #mbb13::after{
    position: absolute; /*positionをabsoluteに指定*/
    content: "";
    background-color: #333; /*下線の色*/
    width: 100%; /*線の幅*/
    height: 1px; /*線の太さ*/
    bottom: 0px; /*線のタテ位置*/
    left: 50%;  /*線のヨコ位置*/
    transform: translateX(-50%);　/*線のヨコ位置*/
  }
  #ybb13{
    border-left:1px solid #333;
    border-right:1px solid #333;
    padding:40px 20px 0px;
  }
}
@media screen and (min-width:679px) and (max-width:1023px){
  #lbb13{
    border-bottom:1px solid #333;
  }
  #rbb13{
    border-right:1px solid #333;
    border-bottom:1px solid #333;
  }
  #mbb13{
    border-left:1px solid #333;
    border-bottom:1px solid #333;
  }
  #kbb13{
    padding: 20px 20px !important;
    border-bottom:1px solid #333;
  }
  #ybb13{
//    border-left:1px solid #333;
    border-right:1px solid #333;
    padding:40px 20px 0;
  }
  .text-xl{
    font-size: 1rem !important;
  }
  .text-15p{
    font-size:13.6px;
  }
}
@media screen and (max-width:679px){
  #lbb13{
    border-bottom:1px solid #333;
    border-right:none;
    padding: 40px 20px !important;
  }
  #rbb13{
    border-bottom:1px solid #333;
    border-right:none;
    padding: 40px 20px !important;
  }
  #mbb13{
    border-bottom:1px solid #333;
    border-right:none;
    padding: 40px 20px !important;
  }
  #kbb13{
    border-bottom:1px solid #333;
    border-right:none;
    padding: 40px 20px !important;
  }
  #ybb13 {
    border-bottom:1px solid #333;
    border-right:none;
    padding:40px 20px 0px;
  }
  .text-xl{
    font-size: 1rem !important;
  }
}

.konzatu-in {
  position: relative;
  transform: translateX(100%);
  opacity: 0;
  transition: transform 0.6s ease-out, opacity 0.6s ease-out;
}

#tiikino img{
  width:114px;
  height:auto;
}

@media (min-width: 480px) {
  #tiikino img{
    width:108px;
    height:auto;
  }
  .konzatu-in.active {
    transform: translateX(0);
    opacity: 1.0;
  }
}
@media (max-width: 480px) {
  .konzatu-in.active {
    transform: translateX(0);
    opacity: 0.8;
  }
}
@keyframes zoomInBg {
  from {
    background-size: 100%;
  }
  to {
    background-size: 105%;
  }
}
.fixedd{
   position: fixed;
   top:0px;
//   right:0px;
//   left:0px;
   width:100vw;
}
