header{
  width:100%;
  padding-bottom: 20px;
  background: #FFF;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* ドロップシャドウを追加 */
  }
  .header_wrap{
    width:100%;
  display: flex;
  flex-wrap: wrap;
    }
  header img.logo{
    width:60%;
    margin:auto;
    display: block;
  }
  header ul.menu{
    width: 100%;
    padding:0 2%;
    margin-left: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
  }
  header ul.menu li{
    width:calc((100% - 28px) /3);
  }
  
  
  
  img.visual{
    width:100%;
    margin: auto;
  }
  
  
  
  img.catch{
    width:40%;
    margin: var(--section-margin) 30%;
  }
  #sec_01{
  
    width:100%;
  
  }
  #sec_02{
    width:100%;
    margin: auto;
    
    background-image: url('http://localhost/wordpress/wp-content/themes/asum/img/sec_02_back_sp.svg');
    background-repeat: repeat; /* 縦方向にリピート */
    background-size: contain;
    padding: var(--section-margin) 0;
  
  }
  
  #sec_02 h2{
    width:70%;
    font-size: 4.8rem;
    margin:auto;
    border-bottom: 2px solid #382ECE;
    padding-bottom: 20px;
    text-align: center;
    font-family: "Abyssinica SIL", serif;
    font-weight: 400;
    margin-bottom: 20px;
  }
  
  #sec_02 ul.thumbnail{
    width:100%;
    margin:auto;
    display: flex;
    flex-wrap: wrap;
    padding:0 2%;
    gap: 20px;
    margin-bottom: calc(var(--section-margin) / 2);
  }
  
  #sec_02 ul.thumbnail li{
    width: 100%;
  }
  
  
  #sec_02 ul.thumbnail li img{
    margin:0 0 10px
  }
  
  #sec_02 ul li h3{
    text-align: center;
    font-weight: 500;
    line-height: 1.4;
  }
  #sec_02 img.sec_02_catch{
    width: 90%;
    margin:0 auto 60px;
    display: block;
  }
  .car-animation {
    position: relative;
    width: 100%;
    height: 180px; /* アニメーションエリアの高さ */
  
    overflow: hidden; /* 車がエリア外に出ないようにする */
  }
  
  .car {
    position: absolute;
    width: 90%; /* 車の画像サイズ */
    bottom: 20px; /* 車の位置（下からの距離） */
    left: 100%; /* 初期位置（画面外右側） */
    transition: transform 0.5s ease-in-out; /* アニメーションのスムーズな動き */
  }
  
  .car.animate {
    animation: drive 3s ease-in-out forwards, brake 0.5s ease-in-out 3s forwards;
  }
  
  /* 車が右から左に走るアニメーション */
  @keyframes drive {
    0% {
      left: 100%; /* 画面外右側 */
    }
    80% {
      left: 20%; /* 画面内左側に近づく */
    }
    100% {
      left: 10%; /* ブレーキ後の最終位置 */
    }
  }
  
  /* ブレーキ時のアニメーション（少し揺れる） */
  @keyframes brake {
    0% {
      transform: scale(1) rotate(0deg);
    }
    50% {
      transform: scale(1.1) rotate(-2deg); /* 少し揺れる */
    }
    100% {
      transform: scale(1) rotate(0deg);
    }
  }
  #sec_02 .box_wrap{
    width:100%;
    margin: auto;
    background-image: url('http://localhost/wordpress/wp-content/themes/asum/img/sec_02_square_sp.svg');
    background-repeat:no-repeat ;
    background-size: contain;
    background-position: center;
    padding:40px 4%;
    
  }
  
  #sec_02 .box_wrap h3{
    width:100%;
    font-size: 2.4rem;
    line-height: 1.4;
    text-align: center;
    border-bottom: 1px solid #000;
    padding:0 10px 10px;
    margin:0 0 10px;
  }
  #sec_02 .box_wrap h3 span{
    color:#D13435
  }
  
  #sec_02 .box_wrap p{
    width:100%;
    font-size:1.4rem;
    text-align: center;
  }
  
  #sec_02 .box_wrap p.second{
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center;
    padding:30px 0;
  }
  
  #sec_02 .box_wrap p.second span{
    color:#382ECE ;
  }
  
  ul.btn_thumb{
    width: 100%;
    padding:0 2%;
    margin-left: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
  }
  
  ul.btn_thumb li{
    width:calc((100% - 28px) /3);
  }
 
  #sec_03{
    padding: var(--section-margin) 0;
    border-radius: 20px 20px 0 0;
    background-color: #382ECE;
  }
  #sec_03 .main_wrap{
    padding-inline: 4%;
  }
  #sec_03 .box_wrap{
    width:100;
    display: flex;
    flex-wrap: wrap;
  }
  
  #sec_03 img.sec_03_car{
    width:50px
  }
  #sec_03 h2{
    width:calc(100% - 50px);
    padding-left: 10px;
    color:#FFF;
    font-weight: 700;
    font-size:2.0rem;
    line-height: 1.4;
    text-align: left;
  }
  
  #sec_03 img.sec_03_catch{
    width:100%;
    margin-top:30px
  }
  #sec_04{
    padding-top: calc(var(--section-margin) / 2);
    padding-bottom: calc(var(--section-margin) / 2);
    border-radius: 20px 20px 0 0;
    background-color: #F1FAFF;
    margin-top: -30px;
  }
  
  img.sec_04_title{
    width:90%;
    margin:0 auto 60px;
    display: block
  }
  
  #sec_04 ul{
    width:100%;
  }
  #sec_04 ul li{
    width: 100%;
    padding: 0 0 30px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  
  #sec_04 ul li .contents {
    width: 90%;
    margin:0 auto;
    position: relative;
    order: 2;
  }
  #sec_04 ul li .contents .box{
    width:100%;
    background: #FFF;
    padding: 20px 10px;
    position: relative; /* 必須 */
    z-index: 2; /* 擬似要素より上に配置 */
  }
  #sec_04 ul li .contents::after {
    content: '';
    width: 100%;
    height: 100%;
    background: linear-gradient(26deg, #E5F3FF, #382ECE);
    position: absolute; /* 必須 */
    top: 4px; /* 下に4ピクセルずらす */
    left: 4px; /* 右に4ピクセルずらす */
    z-index: 1; /* 元の要素の下に配置 */
    display: block; /* 擬似要素を表示 */
  }
  
  #sec_04 ul li .contents h3{
    font-size:1.6rem;
    color: #D13435;
    margin:0 0 10px
  }
  #sec_04 ul li .contents p{
    font-size:1.4rem;
    color: #000;
    margin:0 0 10px
  }
  #sec_04 ul li img.thumb{
    width: 80%;
    order: 1;
    margin:auto;
    display: block;
  }

  
  img.sec_04_title_02{
    width:90%;
    margin:0 auto 30px;
    display: block
  }
  
  #sec_05{
    padding: calc(var(--section-margin) / 2) 0 var(--section-margin);
    border-radius: 20px 20px 0 0;
    background: linear-gradient(26deg, #382ECE 0%, #382ECE 59%, #004E8F 100%);
    margin-top: -30px;
  }
  img.sec_05_title{
    width:80%;
    margin:0 auto 30px;
    display: block
  }
  #sec_05 ul{
    width:90%;
    margin:0 5%;
    display: flex;
    padding:20px;
    flex-wrap: wrap;
    background: #FFF;
    border-radius: 20px 0 20px 0;
    box-shadow: 5px 5px 10px #DADADA;
    gap: 20px;
  }
  #sec_05 ul li{
    width:100%;
    background: #DFEFF6;
    padding:20px;
  }
  
  #sec_05 ul li h3{
    font-size:1.8rem;
    padding:10px 0;
  
  }
  
  #sec_06{
    padding-top: calc(var(--section-margin) / 2);
    padding-bottom: calc(var(--section-margin) / 1);
    border-radius: 20px 20px 0 0;
    background: #FFF;
    margin-top: -30px;
  }
  img.sec_06_title{
    width:80%;
    margin:0 auto 30px;
    display: block
  }
  #sec_06 .box_wrap{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 0 4%;
  }
  #sec_06 .box_wrap .box_01 {
    width: calc(20% - 10px);
    background: #382ECE;
    display: flex; /* 子要素を中央揃えするためにflexboxを使用 */
    justify-content: center; /* 横方向の中央揃え */
    align-items: center; /* 縦方向の中央揃え */
  }
  
  #sec_06 .box_wrap .box_01 h3 {
    writing-mode: vertical-rl; /* 縦書き */
    text-orientation: upright; /* 文字を直立させる */
    color: #FFF;
    font-size: 2.4rem;
    font-weight: 700;
    margin: 0; /* 不要な余白を削除 */
  }
  #sec_06 ul{
    width: 80%;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  #sec_06 ul li{
    width: 100%;
      background: #DFEFF6;
      border-top: 3px solid #382ECE;
      border-right: 3px solid #382ECE;
      border-radius: 0 30px 30px 0;
      padding: 30px 10px 30px 10px;
      position: relative;
    
  }
  #sec_06 ul li .time{
    width: 60px;
    position: absolute;
    left: 0;
    top:-1px;
  }
  #sec_06 ul li .time .time_text{
    position: absolute;
    top:40%;
    left: 50%;
    transform: translate(-50%,-50%);
    color: #FFF;
    font-size: 1.4rem;
  }
  #sec_06 ul li h3{
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.4;
  }
  
  #sec_07{
    padding: calc(var(--section-margin) / 2) 0 var(--section-margin);
    border-radius: 20px 20px 0 0;
    background: linear-gradient(26deg, #382ECE 0%, #382ECE 59%, #004E8F 100%);
    margin-top: -30px;
  }
  img.sec_07_title{
    width:80%;
    margin:0 auto 30px;
    display: block
  }
  
  #sec_07 .box_wrap{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 40px 4%;
    background: #FFF;
    border-radius: 50px 0 50px 0;
    box-shadow: 5px 5px 20px #DADADA;
  }
  #sec_07 .box_wrap .box_01 {
    width: calc(20% - 10px);
    background: #2B9C74;
    display: flex; /* 子要素を中央揃えするためにflexboxを使用 */
    justify-content: center; /* 横方向の中央揃え */
    align-items: center; /* 縦方向の中央揃え */
  }
  
  #sec_07 .box_wrap .box_01 h3 {
    writing-mode: vertical-rl; /* 縦書き */
    text-orientation: upright; /* 文字を直立させる */
    color: #FFF;
    font-size: 2.4rem;
    font-weight: 700;
    margin: 0; /* 不要な余白を削除 */
  }
  #sec_07 ul{
    width: 80%;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  #sec_07 ul li{
    width: 100%;
    background: #D5EEDD;
    border-top: 3px solid #2B9C74;
    border-right: 3px solid #2B9C74;
    border-radius: 0 30px 30px 0;
    padding: 30px 10px 30px 10px;
    position: relative;
    
  }
  #sec_07 ul li .time{
    width: 60px;
    position: absolute;
    left: 0;
    top:-1px;
  }
  #sec_07 ul li .time .time_text{
    position: absolute;
    top:40%;
    left: 50%;
    transform: translate(-50%,-50%);
    color: #FFF;
    font-size: 1.4rem;
  }
  #sec_07 ul li h3{
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.4;
  }
  
  #sec_08{
    padding-top: calc(var(--section-margin) / 2);
    padding-bottom: calc(var(--section-margin) / 1);
    border-radius: 20px 20px 0 0;
    background: #E9F7FF;
    background-image: url('http://localhost/wordpress/wp-content/themes/asum/img/sec_08_back.svg');
    background-repeat: repeat; /* 縦方向にリピート */
    background-size: contain;
    margin-top: -30px;
  }
  #sec_08 .box_wrap{
    width: 90%;
    display: flex;
    flex-wrap: wrap;
    padding: 60px 2%;
    background: #FFF;
    border-radius: 50px;
    margin: 0 auto 60px;
    box-shadow: 5px 5px 10px rgba(131, 131, 131, 0.25);
  }
  
  #sec_08 h2{
    width:100%;
    font-weight: 700;
          font-size: 3.2rem;
    margin:auto;
    border-bottom: 2px solid #382ECE;
    padding-bottom: 20px;
    text-align: center;
    margin-bottom: 30px;
  }
  
  #sec_08 dl{
    width:100%;
    font-size: 1.6rem;
    line-height: 1.8;
    display: flex;
    flex-wrap: wrap;
    padding:0 3%;
    margin:0 auto;
    border-bottom: 2px solid #382ECE;
  }
  #sec_08 dl dt{
    width:30%;
    padding:0 2% 20px;
    border-bottom: 2px solid #D9D9D9;
    margin:0 0 20px
  }
  #sec_08 dl dd{
    width:70%;
    padding:0 2% 20px;
    border-bottom: 2px solid #D9D9D9;
    margin:0 0 20px
  }
  
  #sec_08 dl dt:nth-last-child(2){
    border-bottom: 0;
  }
  #sec_08 dl dd:last-child{
    border-bottom: 0;
  }
  #sec_08  p.announce{
    text-align: center;
    font-size: 1.6rem;
  }
  
  #sec_09{
    width:100%;
    padding: var(--section-margin) 0;
  }
  #sec_10{
  
    padding-bottom: calc(var(--section-margin) / 1);
  
  }
  #sec_10 .box_wrap{
    width: 90%;
    display: flex;
    flex-wrap: wrap;
    padding: 60px 5%;
    background: #F1FAFF;
  
    margin: auto;
  
  }
  
  #sec_10 h2{
    width:100%;
    font-weight: 700;
          font-size: 3.2rem;
    margin:auto;
    text-align: center;
    margin-bottom: 20px;
  }
  #sec_10 p{
    width:100%;
    font-weight: 500;
    font-size: 2.0rem;
    margin:auto;
    text-align: center;
    margin-bottom: 60px;
  }
  
  #sec_10  p.announce{
    text-align: center;
    font-size: 2.4rem;
  }
  
  ul.contact_form {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin:0 0 60px;
  }
  
  ul.contact_form li {
    width: 100%;
    margin: 0 0 16px;
    font-size: 1.8rem;
  }
  
  ul.contact_form li:nth-child(2n) {
    margin-bottom: 30px;
  }
  
  ul.contact_form .must {
    background-color: #D13435;
    color: #FFF;
    border-radius: 10px;
    padding: 0 10px;
    margin-right: 20px;
  }
  
  ul.contact_form .gender label {
    margin-right: 20px;
    font-size: 1.4rem;
    cursor: pointer;
  }
  
  ul.contact_form .gender input[type="radio"] {
    margin-right: 8px;
    transform: scale(1.2); /* ラジオボタンを少し大きくする */
    cursor: pointer;
  }
  
  
  /* Internet Explorer */
  ul.contact_form  input[type="text"]{
    width: 100%
  }
  ul.contact_form textarea{
    width: 100%
  }
  
  .send_btn{
  
      width: 300px;
      position: relative;
      background: #E6E4FF;
      color: #000;
      font-size: calc(var(--base-font-size) *  1.2);
      padding:14px 0;
      font-weight: 700;
      display: inline-block;
      text-align: center;
      border: 5px solid #382ECE;
      border-radius: 10px;
      box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
  
  }

#sec_11 {
    padding-bottom:calc(var(--section-margin) / 1);
}

.moca_scroll{
	position: fixed;
    bottom: 0px;
    width: 100%;
    z-index: 100000;
    padding: 10px 10px !important;  
    background-color: #DFEFF6;
    transition: transform 0.3s ease-in-out;
}

.show{
	transform: translateY(0);
}

