@charset "UTF-8";
/*! Writen  by SCSS */
html {
  scroll-behavior: smooth; }

.wrap {
  /*overflow-y: inherit !important;
  overflow-x: clip !important;*/ }

.read {
  font-size: clamp(14px, 1.667vw, 20px); }

.mainvisual {
  position: relative;
  width: 100%;
  background: url("../images/top/bg01.jpg") center center/cover no-repeat;
  text-align: center;
  padding-block: clamp(80px, 13.334vw, 160px) clamp(80px, 16.667vw, 200px); }
  .mainvisual .img01 {
    max-width: 387px;
    margin: 0 auto 60px; }
    @media screen and (max-width: 480px) {
      .mainvisual .img01 {
        width: 25%;
        text-align: center;
        margin-bottom: 25px; } }
  .mainvisual .maincopy_wrap {
    margin: clamp(25, 1200, 90) auto clamp(50px, 8.334vw, 100px);
    flex-direction: column;
    row-gap: 60px;
    color: #FFF; }
    @media screen and (max-width: 480px) {
      .mainvisual .maincopy_wrap {
        row-gap: 25px; } }
    .mainvisual .maincopy_wrap .head {
      font-size: clamp(20px, 2.5vw, 30px); }
      @media screen and (max-width: 480px) {
        .mainvisual .maincopy_wrap .head {
          font-size: 5vw; } }
    .mainvisual .maincopy_wrap .read {
      font-size: clamp(12px, 1.334vw, 16px);
      line-height: 2.2; }
      @media screen and (max-width: 480px) {
        .mainvisual .maincopy_wrap .read {
          line-height: 1.8; } }
  .mainvisual .main_box {
    max-width: 900px;
    margin: 80px auto 0;
    position: relative;
    /*&:after{
    	content:"";
    	position: absolute;
    	inset:0;
    	border: 1px solid #FFF;
    	pointer-events: none;
    }*/ }
    @media screen and (max-width: 768px) {
      .mainvisual .main_box {
        margin: 40px auto 0; } }
    @media screen and (max-width: 480px) {
      .mainvisual .main_box {
        margin: 30px auto 0; } }
    .mainvisual .main_box .logo_txt_wrap {
      max-width: 697px;
      margin: 0 auto clamp(30px, 6.667vw, 80px);
      flex-direction: column;
      row-gap: 50px;
      color: #FFF; }
      @media screen and (max-width: 480px) {
        .mainvisual .main_box .logo_txt_wrap {
          row-gap: 30px; } }
      @media screen and (max-width: 480px) {
        .mainvisual .main_box .logo_txt_wrap .img02 {
          width: 70%;
          margin: 0 auto; } }
      .mainvisual .main_box .logo_txt_wrap .read2 {
        font-size: clamp(16px, 1.834vw, 22px);
        line-height: 1.84; }
        @media screen and (max-width: 480px) {
          .mainvisual .main_box .logo_txt_wrap .read2 {
            font-size: 3.6vw; } }
    .mainvisual .main_box .main_box_in {
      flex-direction: column; }
      @media screen and (max-width: 480px) {
        .mainvisual .main_box .main_box_in {
          margin-top: 40px; } }
      .mainvisual .main_box .main_box_in .item {
        text-align: left;
        padding-bottom: 20px;
        margin-bottom: 20px;
        position: relative;
        /*@include mq($br_tb){
        	padding-bottom: 40px;
        	margin-bottom:40px;
        }*/ }
        @media screen and (max-width: 480px) {
          .mainvisual .main_box .main_box_in .item {
            flex-direction: column;
            row-gap: 10px;
            padding-bottom: 15px;
            margin-bottom: 15px;
            /*padding-bottom: 50px;
            margin-bottom:50px;*/ } }
        .mainvisual .main_box .main_box_in .item:last-of-type {
          padding-bottom: 0;
          margin-bottom: 0; }
          .mainvisual .main_box .main_box_in .item:last-of-type:after {
            content: none; }
        .mainvisual .main_box .main_box_in .item:after {
          content: "";
          position: absolute;
          inset: 0;
          top: auto;
          border-bottom: 1px dotted rgba(255, 255, 255, 0.4); }
        .mainvisual .main_box .main_box_in .item .price_ttl {
          width: 50%;
          text-align: left;
          margin-left: 5.96%; }
          @media screen and (max-width: 480px) {
            .mainvisual .main_box .main_box_in .item .price_ttl {
              width: 100%;
              text-align: center;
              margin-left: 0;
              display: flex;
              align-items: flex-end;
              justify-content: center; } }
          @media screen and (max-width: 960px) {
            .mainvisual .main_box .main_box_in .item .price_ttl img {
              height: 6.4vw; } }
          @media screen and (max-width: 768px) {
            .mainvisual .main_box .main_box_in .item .price_ttl img {
              height: 7vw; } }
          @media screen and (max-width: 480px) {
            .mainvisual .main_box .main_box_in .item .price_ttl img {
              height: 10vm; } }
          @media screen and (max-width: 480px) {
            .mainvisual .main_box .main_box_in .item .price_ttl .price_read {
              width: fit-content;
              line-height: 1;
              margin-left: 0.5em; } }
        .mainvisual .main_box .main_box_in .item .price_read {
          width: 50%;
          font-size: clamp(12px, 1.954vw, 20px);
          color: #FFF; }
          @media screen and (max-width: 768px) {
            .mainvisual .main_box .main_box_in .item .price_read {
              font-size: 16px; } }
          @media screen and (max-width: 480px) {
            .mainvisual .main_box .main_box_in .item .price_read {
              width: 100%;
              text-align: center;
              font-size: 4vw; } }
          .mainvisual .main_box .main_box_in .item .price_read .big {
            display: block;
            font-size: 110%; }
        .mainvisual .main_box .main_box_in .item .cross {
          display: none;
          /*position: absolute;
          inset:0;
          top:auto;
          width:fit-content;
          margin:auto;
          transform:translateY(50%);*/ }

.sec01 {
  padding-top: 20px;
  padding-bottom: clamp(80px, 11.667vw, 140px);
  position: relative; }
  .sec01::before {
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: -3;
    height: 100lvh;
    background: url("../images/common/bg02.jpg") center center/cover no-repeat; }
  .sec01 .slider_sec {
    margin-bottom: clamp(50px, 8.334vw, 100px); }
    .sec01 .slider_sec .swiper {
      overflow: visible; }
      .sec01 .slider_sec .swiper .swiper-wrapper {
        align-items: center;
        transition-timing-function: linear; }
        @media screen and (max-width: 480px) {
          .sec01 .slider_sec .swiper .swiper-wrapper {
            align-items: flex-start; } }
        .sec01 .slider_sec .swiper .swiper-wrapper .swiper-slide {
          width: fit-content !important; }
          @media screen and (max-width: 768px) {
            .sec01 .slider_sec .swiper .swiper-wrapper .swiper-slide {
              width: 30vw !important; }
              .sec01 .slider_sec .swiper .swiper-wrapper .swiper-slide.long {
                width: 43vw !important; } }
          @media screen and (max-width: 480px) {
            .sec01 .slider_sec .swiper .swiper-wrapper .swiper-slide {
              width: 40vw !important; }
              .sec01 .slider_sec .swiper .swiper-wrapper .swiper-slide.long {
                width: 57.4vw !important; } }
          .sec01 .slider_sec .swiper .swiper-wrapper .swiper-slide .photo_name {
            display: flex;
            flex-direction: column;
            row-gap: 10px; }
            @media screen and (max-width: 480px) {
              .sec01 .slider_sec .swiper .swiper-wrapper .swiper-slide .photo_name {
                row-gap: 5px; } }
            .sec01 .slider_sec .swiper .swiper-wrapper .swiper-slide .photo_name .achieve_name {
              font-size: 18px;
              font-weight: bold;
              text-align: center; }
              @media screen and (max-width: 768px) {
                .sec01 .slider_sec .swiper .swiper-wrapper .swiper-slide .photo_name .achieve_name {
                  font-size: 10px;
                  line-height: 1.6;
                  letter-spacing: -0.07em; } }
  .sec01 .head {
    font-size: clamp(20px, 2.5vw, 30px); }
  .sec01 .read2 {
    font-size: clamp(12px, 1.334vw, 16px);
    line-height: 2.2; }
  .sec01 .border_head {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #0068b7;
    gap: 0 0.73em;
    margin-bottom: clamp(40px, 5.84%, 70px);
    width: 100%; }
    .sec01 .border_head::before, .sec01 .border_head::after {
      content: "";
      display: block;
      width: 100%;
      border-top: 1px solid; }
    .sec01 .border_head .text {
      flex-shrink: 0; }
  .sec01 .head:not(.border_head) {
    color: #14326e; }
  .sec01 .read_min {
    font-size: clamp(11px, 1.2vw, 15px); }
  .sec01 .wrap_top_lead_box {
    width: 100%;
    margin-bottom: clamp(40px, 5%, 60px);
    text-align: left; }
    .sec01 .wrap_top_lead_box .head {
      margin-bottom: 10px; }
  .sec01 .wrap01 .wrap_top_lead_box {
    text-align: center;
    margin-bottom: 0; }
    .sec01 .wrap01 .wrap_top_lead_box .read2 {
      margin-bottom: clamp(40px, 5%, 60px); }
  @media screen and (max-width: 480px) {
    .sec01 .wrap01 .wrap_lead_box {
      text-align: left; } }
  .sec01 .wrap01 .wrap_lead_box .wrap_head {
    font-size: clamp(15px, 1.61vw, 20px);
    line-height: 1;
    margin-bottom: clamp(15px, 1.667vw, 20px); }
  .sec01 .wrap01 .wrap_lead_box .wrap_lead {
    line-height: 1.34;
    margin-bottom: 10px; }
  .sec01 .wrap01 .map_group {
    position: relative;
    margin-bottom: clamp(60px, 10vw, 120px);
    display: flex;
    flex-direction: column;
    align-items: center; }
    @media screen and (max-width: 480px) {
      .sec01 .wrap01 .map_group {
        margin-bottom: 40px; } }
    .sec01 .wrap01 .map_group .map_title {
      width: 14.17%;
      margin: 0 auto 54px; }
      @media screen and (max-width: 480px) {
        .sec01 .wrap01 .map_group .map_title {
          width: 29.86%;
          margin: 0 auto 30px; } }
    .sec01 .wrap01 .map_group .border_head {
      margin-bottom: clamp(15px, 1.61vw, 20px); }
    .sec01 .wrap01 .map_group .map_img_wrap {
      width: 100%;
      position: relative; }
      .sec01 .wrap01 .map_group .map_img_wrap .wrap_lead_box {
        width: 40%;
        margin-bottom: clamp(-240px, -20%, -40px); }
        @media screen and (max-width: 768px) {
          .sec01 .wrap01 .map_group .map_img_wrap .wrap_lead_box {
            width: 50%; } }
        @media screen and (max-width: 480px) {
          .sec01 .wrap01 .map_group .map_img_wrap .wrap_lead_box {
            width: 100%;
            margin-bottom: 25px;
            text-align: left; } }
      .sec01 .wrap01 .map_group .map_img_wrap .map_img {
        max-width: 900px;
        width: 75%; }
        @media screen and (max-width: 480px) {
          .sec01 .wrap01 .map_group .map_img_wrap .map_img {
            width: 100%; } }
      .sec01 .wrap01 .map_group .map_img_wrap .map_img_sub {
        position: absolute;
        z-index: 2;
        right: 0;
        bottom: -20px;
        max-width: 522px;
        width: 43.5%; }
    @media screen and (max-width: 480px) {
      .sec01 .wrap01 .map_group .read {
        width: 100%;
        text-align: center;
        font-size: 12px;
        background-color: #cccccc;
        margin-top: 10px;
        line-height: 1;
        padding-block: 5px; } }
  .sec01 .wrap01 .brand_cont {
    position: relative;
    max-width: 980px;
    width: 100%;
    margin: -40px auto 80px;
    row-gap: clamp(20px, 3.334vw, 40px); }
    @media screen and (max-width: 768px) {
      .sec01 .wrap01 .brand_cont {
        top: 8%; } }
    @media screen and (max-width: 480px) {
      .sec01 .wrap01 .brand_cont {
        margin-top: 40px;
        margin-bottom: 50px;
        row-gap: 30px; } }
  .sec01 .wrap01 .brand_in {
    width: 31.12%;
    align-items: center;
    margin: 0;
    justify-content: space-between; }
    @media screen and (max-width: 480px) {
      .sec01 .wrap01 .brand_in {
        width: 100%;
        flex-direction: column;
        justify-content: flex-start; } }
    .sec01 .wrap01 .brand_in .brand_logo {
      width: 32.86%;
      text-align: center; }
      @media screen and (max-width: 480px) {
        .sec01 .wrap01 .brand_in .brand_logo {
          width: 60px;
          flex-shrink: 0;
          padding-bottom: 10%; } }
    .sec01 .wrap01 .brand_in .text_group {
      width: 57.15%;
      display: flex;
      flex-direction: column;
      row-gap: 15px; }
      @media screen and (max-width: 480px) {
        .sec01 .wrap01 .brand_in .text_group {
          width: calc(100% - 10px); } }
      .sec01 .wrap01 .brand_in .text_group .b01 {
        font-size: clamp(14px, 1.667vw, 20px);
        font-weight: 700;
        line-height: 1; }
        @media screen and (max-width: 480px) {
          .sec01 .wrap01 .brand_in .text_group .b01 {
            font-size: 16px; } }
      .sec01 .wrap01 .brand_in .text_group .b02 {
        font-size: clamp(10px, 1.167vw, 14px);
        letter-spacing: -0.05em; }
        @media screen and (max-width: 480px) {
          .sec01 .wrap01 .brand_in .text_group .b02 {
            font-size: 13px; } }
    @media screen and (max-width: 480px) {
      .sec01 .wrap01 .brand_in:nth-child(2) .brand_logo {
        padding-bottom: 19%; } }
    .sec01 .wrap01 .brand_in:last-child {
      width: 33.34%; }
      @media screen and (max-width: 480px) {
        .sec01 .wrap01 .brand_in:last-child {
          width: 100%;
          flex-direction: column;
          justify-content: flex-start; } }
      .sec01 .wrap01 .brand_in:last-child .brand_logo {
        width: 30.67%; }
        @media screen and (max-width: 480px) {
          .sec01 .wrap01 .brand_in:last-child .brand_logo {
            width: 60px;
            flex-shrink: 0;
            padding-bottom: 16%; } }
      .sec01 .wrap01 .brand_in:last-child .text_group {
        width: 66.67%; }
        @media screen and (max-width: 480px) {
          .sec01 .wrap01 .brand_in:last-child .text_group {
            width: calc(100% - 10px); } }
  .sec01 .wrap01 .wrap_01_inner {
    align-items: flex-start; }
    @media screen and (max-width: 480px) {
      .sec01 .wrap01 .wrap_01_inner {
        margin-top: 40px;
        flex-direction: column;
        gap: 25px 0; } }
    .sec01 .wrap01 .wrap_01_inner .wrap_lead_box {
      width: 46.67%; }
      @media screen and (max-width: 480px) {
        .sec01 .wrap01 .wrap_01_inner .wrap_lead_box {
          width: 100%; } }
    .sec01 .wrap01 .wrap_01_inner .image_wrap {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: flex-start;
      max-width: 560px;
      width: 46.67%;
      gap: clamp(15px, 3.34vw, 40px) 0; }
      @media screen and (max-width: 768px) {
        .sec01 .wrap01 .wrap_01_inner .image_wrap {
          width: 48%; } }
      @media screen and (max-width: 480px) {
        .sec01 .wrap01 .wrap_01_inner .image_wrap {
          width: 100%; } }
      .sec01 .wrap01 .wrap_01_inner .image_wrap .image_box .image .cap {
        font-size: clamp(13px, 1.2vw, 15px);
        text-shadow: none;
        bottom: auto;
        top: 0;
        line-height: 1;
        background: #595757;
        padding: 0.5em 1em; }
        @media screen and (max-width: 480px) {
          .sec01 .wrap01 .wrap_01_inner .image_wrap .image_box .image .cap {
            padding: 0.3em 0.6em; } }
      .sec01 .wrap01 .wrap_01_inner .image_wrap .image_box .image_name_wrap {
        margin-top: 15px; }
        @media screen and (max-width: 480px) {
          .sec01 .wrap01 .wrap_01_inner .image_wrap .image_box .image_name_wrap {
            margin-top: 10px; } }
        .sec01 .wrap01 .wrap_01_inner .image_wrap .image_box .image_name_wrap .image_name {
          font-weight: 700;
          line-height: 1.4;
          margin-bottom: 0.4em; }
        .sec01 .wrap01 .wrap_01_inner .image_wrap .image_box .image_name_wrap .read_min {
          line-height: 1.6; }
          @media screen and (max-width: 480px) {
            .sec01 .wrap01 .wrap_01_inner .image_wrap .image_box .image_name_wrap .read_min {
              line-height: 1.4; } }
      .sec01 .wrap01 .wrap_01_inner .image_wrap .image_box_01 {
        width: 100%; }
      .sec01 .wrap01 .wrap_01_inner .image_wrap .image_box_02,
      .sec01 .wrap01 .wrap_01_inner .image_wrap .image_box_03 {
        width: 46.43%; }
        @media screen and (max-width: 768px) {
          .sec01 .wrap01 .wrap_01_inner .image_wrap .image_box_02,
          .sec01 .wrap01 .wrap_01_inner .image_wrap .image_box_03 {
            width: 48%; } }
  .sec01 .wrap02 .wrap02_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 2.5%; }
    @media screen and (max-width: 480px) {
      .sec01 .wrap02 .wrap02_list {
        max-width: 380px;
        margin-left: auto;
        margin-right: auto;
        grid-template-columns: 1fr;
        gap: 20px 0; } }
    .sec01 .wrap02 .wrap02_list .item {
      display: flex;
      flex-direction: column; }
      @media screen and (max-width: 480px) {
        .sec01 .wrap02 .wrap02_list .item {
          flex-direction: row; } }
      .sec01 .wrap02 .wrap02_list .item .read2 {
        line-height: 1.88; }
      .sec01 .wrap02 .wrap02_list .item .text_box {
        flex-grow: 1;
        margin-bottom: 10px;
        text-align: center;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 10px; }
        @media screen and (max-width: 480px) {
          .sec01 .wrap02 .wrap02_list .item .text_box {
            margin-right: 20px;
            width: 55%; } }
        .sec01 .wrap02 .wrap02_list .item .text_box .logo_box {
          margin-top: auto;
          margin-bottom: auto; }
          @media screen and (max-width: 480px) {
            .sec01 .wrap02 .wrap02_list .item .text_box .logo_box {
              margin-top: inherit;
              margin-bottom: inherit; } }
      .sec01 .wrap02 .wrap02_list .item .image_box {
        flex-shrink: 0; }
        @media screen and (max-width: 480px) {
          .sec01 .wrap02 .wrap02_list .item .image_box {
            flex-shrink: 10; } }
    .sec01 .wrap02 .wrap02_list .item01 .text_box .logo_box {
      max-width: 157px;
      width: 41.32%; }
      @media screen and (max-width: 480px) {
        .sec01 .wrap02 .wrap02_list .item01 .text_box .logo_box {
          width: 70%; } }
    .sec01 .wrap02 .wrap02_list .item02 .text_box .logo_box {
      max-width: 170px;
      width: 44.74%; }
      @media screen and (max-width: 480px) {
        .sec01 .wrap02 .wrap02_list .item02 .text_box .logo_box {
          width: 70%; } }
    .sec01 .wrap02 .wrap02_list .item03 .text_box .logo_box {
      max-width: 157px;
      width: 41.32%; }
      @media screen and (max-width: 480px) {
        .sec01 .wrap02 .wrap02_list .item03 .text_box .logo_box {
          width: 70%; } }
  .sec01 .wrap03 .wrap03_head_wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1.5em; }
    @media screen and (max-width: 480px) {
      .sec01 .wrap03 .wrap03_head_wrap {
        flex-direction: column;
        gap: 0.6em; } }
    .sec01 .wrap03 .wrap03_head_wrap .head_text {
      text-align: left; }
      @media screen and (max-width: 480px) {
        .sec01 .wrap03 .wrap03_head_wrap .head_text {
          letter-spacing: -0.06em; } }
    .sec01 .wrap03 .wrap03_head_wrap .wrap03_logo {
      width: 4.9em; }
      @media screen and (max-width: 480px) {
        .sec01 .wrap03 .wrap03_head_wrap .wrap03_logo {
          width: 6em; } }
  .sec01 .wrap03 .wrap03_list {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 4.16%;
    text-align: center; }
    @media screen and (max-width: 480px) {
      .sec01 .wrap03 .wrap03_list {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px; } }
    .sec01 .wrap03 .wrap03_list .item {
      max-width: 270px; }
      @media screen and (max-width: 480px) {
        .sec01 .wrap03 .wrap03_list .item {
          margin-left: auto;
          margin-right: auto; } }
      .sec01 .wrap03 .wrap03_list .item .text_box {
        text-align: center;
        border: 1px solid #595757;
        background: #dfeaf8; }
        .sec01 .wrap03 .wrap03_list .item .text_box .item_address {
          line-height: 1;
          padding: 0.8em 0.2em;
          color: #fff;
          background: #595757; }
        .sec01 .wrap03 .wrap03_list .item .text_box .item_name {
          color: #595757;
          font-size: clamp(14px, 1.45vw, 18px);
          line-height: 1.4;
          padding: 0.4em 0.2em; }
  .sec01 .wrap04 .wrap04_top {
    align-items: flex-start;
    padding-bottom: 180px; }
    @media screen and (max-width: 480px) {
      .sec01 .wrap04 .wrap04_top {
        flex-direction: column;
        gap: 25px 0;
        padding-bottom: 120px; } }
    .sec01 .wrap04 .wrap04_top .wrap04_t_box {
      width: 46.67%;
      display: flex;
      align-items: flex-start;
      justify-content: space-between; }
      @media screen and (max-width: 480px) {
        .sec01 .wrap04 .wrap04_top .wrap04_t_box {
          width: 100%; }
          .sec01 .wrap04 .wrap04_top .wrap04_t_box.reverse {
            flex-direction: row-reverse; } }
      .sec01 .wrap04 .wrap04_top .wrap04_t_box .text_box {
        width: 42.86%; }
        .sec01 .wrap04 .wrap04_top .wrap04_t_box .text_box .box_head {
          text-align: left;
          font-size: clamp(16px, 1.61vw, 20px);
          font-weight: 700;
          line-height: 1;
          margin-bottom: 1em; }
          @media screen and (max-width: 480px) {
            .sec01 .wrap04 .wrap04_top .wrap04_t_box .text_box .box_head {
              margin-bottom: 0.6em; } }
        .sec01 .wrap04 .wrap04_top .wrap04_t_box .text_box .read_min {
          line-height: 2; }
      .sec01 .wrap04 .wrap04_top .wrap04_t_box .image_box {
        max-width: 280px;
        width: 50%; }
  .sec01 .wrap04_bottom {
    position: relative;
    padding-top: clamp(25px, 3.34%, 40px);
    padding-bottom: clamp(25px, 3.34%, 40px); }
    @media screen and (max-width: 480px) {
      .sec01 .wrap04_bottom {
        padding-top: 20px;
        padding-bottom: 20px; } }
    .sec01 .wrap04_bottom::after {
      content: "";
      display: block;
      position: absolute;
      inset: 0;
      z-index: 2;
      pointer-events: none;
      border: 1px solid #cccccc; }
    .sec01 .wrap04_bottom .wrap04_bottom_inner {
      max-width: 1130px;
      width: calc(100% - 40px);
      margin-left: auto;
      margin-right: auto;
      align-items: flex-start; }
      @media screen and (max-width: 480px) {
        .sec01 .wrap04_bottom .wrap04_bottom_inner {
          width: calc(100% - 30px);
          flex-direction: column;
          gap: 20px 0; } }
      .sec01 .wrap04_bottom .wrap04_bottom_inner .text_box {
        width: 49.56%; }
        @media screen and (max-width: 480px) {
          .sec01 .wrap04_bottom .wrap04_bottom_inner .text_box {
            width: 100%; } }
        .sec01 .wrap04_bottom .wrap04_bottom_inner .text_box .box_head {
          font-size: clamp(18px, 1.93vw, 24px);
          line-height: 1.4;
          color: #0068b7;
          margin-bottom: 1em; }
          @media screen and (max-width: 480px) {
            .sec01 .wrap04_bottom .wrap04_bottom_inner .text_box .box_head {
              margin-bottom: 0.6em; } }
        .sec01 .wrap04_bottom .wrap04_bottom_inner .text_box .text_box_inner {
          border-top: 1px solid #cccccc;
          padding-top: 3.58%;
          margin-top: 3.58%; }
          .sec01 .wrap04_bottom .wrap04_bottom_inner .text_box .text_box_inner .sub_text {
            font-size: clamp(11px, 1.12vw, 14px);
            line-height: 2.15;
            margin-bottom: 7.15%; }
          .sec01 .wrap04_bottom .wrap04_bottom_inner .text_box .text_box_inner .cap_l {
            font-size: clamp(10px, 0.96vw, 12px);
            line-height: 1.43; }
      .sec01 .wrap04_bottom .wrap04_bottom_inner .image_box {
        max-width: 500px;
        width: 44.25%; }
        @media screen and (max-width: 480px) {
          .sec01 .wrap04_bottom .wrap04_bottom_inner .image_box {
            width: 100%; } }
        .sec01 .wrap04_bottom .wrap04_bottom_inner .image_box .image_name {
          margin-top: 5px; }
  .sec01 .wrap_01_border {
    position: relative;
    margin-top: clamp(60px, 10%, 80px);
    padding: 30px 0; }
    @media screen and (max-width: 480px) {
      .sec01 .wrap_01_border {
        margin-top: 40px;
        padding: 20px 0; } }
    .sec01 .wrap_01_border::after {
      content: "";
      display: block;
      position: absolute;
      inset: 0;
      z-index: 2;
      pointer-events: none;
      border: 1px solid #cccccc; }
    .sec01 .wrap_01_border .wrap_01_border_inner {
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto;
      width: calc(100% - 40px);
      align-items: center; }
      @media screen and (max-width: 480px) {
        .sec01 .wrap_01_border .wrap_01_border_inner {
          width: calc(100% - 30px);
          flex-direction: column;
          gap: 20px 0; } }
      .sec01 .wrap_01_border .wrap_01_border_inner .text_box {
        width: 43.86%; }
        @media screen and (max-width: 480px) {
          .sec01 .wrap_01_border .wrap_01_border_inner .text_box {
            width: 100%; } }
        .sec01 .wrap_01_border .wrap_01_border_inner .text_box .logo_box {
          max-width: 230px;
          width: 42.6%;
          margin-left: auto;
          margin-right: auto; }
          @media screen and (max-width: 480px) {
            .sec01 .wrap_01_border .wrap_01_border_inner .text_box .logo_box {
              width: 60%; } }
        .sec01 .wrap_01_border .wrap_01_border_inner .text_box .lead {
          text-align: center;
          font-size: clamp(16px, 1.93vw, 24px);
          line-height: 1.4;
          color: #0068b7;
          margin-top: 0.8em;
          margin-bottom: 1em; }
    .sec01 .wrap_01_border .image_box {
      max-width: 600px;
      width: 52.64%; }
      @media screen and (max-width: 480px) {
        .sec01 .wrap_01_border .image_box {
          width: 100%; } }

.sec01_wrap + .sec01_wrap {
  margin-top: clamp(80px, 10%, 120px); }

.sec02 {
  position: relative; }
  .sec02 .bg_wrap {
    position: relative; }
    .sec02 .bg_wrap .text_img {
      position: absolute;
      bottom: 0;
      width: 62.5%; }
      @media screen and (max-width: 480px) {
        .sec02 .bg_wrap .text_img {
          width: 100.49%;
          left: 0;
          right: 0; } }
  .sec02 .sec02_wrap {
    position: absolute;
    top: clamp(20px, 6.667vw, 80px);
    width: 52.17%;
    max-width: 626px; }
    @media screen and (max-width: 1400px) {
      .sec02 .sec02_wrap {
        top: 30px; } }
    @media screen and (max-width: 1200px) {
      .sec02 .sec02_wrap {
        top: clamp(5px, 1.667vw, 20px); } }
    @media screen and (max-width: 480px) {
      .sec02 .sec02_wrap {
        top: 0; } }
    @media screen and (max-width: 480px) {
      .sec02 .sec02_wrap {
        width: 89.38%;
        margin-top: 20px; } }
    .sec02 .sec02_wrap .ttl {
      font-size: clamp(20px, 2.5vw, 30px);
      text-align: center;
      margin-bottom: clamp(10px, 3.75vw, 45px);
      line-height: 1; }
    .sec02 .sec02_wrap .flex_wrap {
      align-items: flex-start; }
      .sec02 .sec02_wrap .flex_wrap .item {
        width: 46.33%;
        cursor: pointer; }
        @media (hover: hover) {
          .sec02 .sec02_wrap .flex_wrap .item:hover .img::after {
            transform: scale(1.1); } }
        .sec02 .sec02_wrap .flex_wrap .item .img {
          position: relative;
          width: 100%;
          aspect-ratio: 290/163;
          display: block;
          overflow: hidden; }
          .sec02 .sec02_wrap .flex_wrap .item .img::after {
            content: '';
            width: 100%;
            height: 100%;
            position: absolute;
            inset: 0;
            background: center center / cover no-repeat;
            transition: all 0.4s ease-in-out 0s; }
          .sec02 .sec02_wrap .flex_wrap .item .img.first::after {
            background-image: url("../images/common/tvcm_img01.jpg"); }
          .sec02 .sec02_wrap .flex_wrap .item .img.next::after {
            background-image: url("../images/common/tvcm_img02.jpg"); }
        .sec02 .sec02_wrap .flex_wrap .item span {
          font-size: clamp(14px, 1.667vw, 20px);
          display: block;
          line-height: 1;
          margin-top: clamp(5px, 0.834vw, 10px);
          color: #333; }
          @media screen and (max-width: 480px) {
            .sec02 .sec02_wrap .flex_wrap .item span {
              font-size: 14px; } }

.sec03 {
  position: relative;
  padding-top: clamp(40px, 7.917vw, 95px);
  padding-bottom: clamp(70px, 11.667vw, 140px); }
  .sec03::before, .sec03::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    pointer-events: none;
    inset: 0; }
  .sec03::before {
    background: #fff;
    z-index: -2; }
  .sec03::after {
    background: url("../images/common/bg03.jpg") center center/cover no-repeat;
    opacity: .3;
    z-index: -1; }
  .sec03 .sec03_t_text_wrap {
    margin-bottom: clamp(40px, 6.667vw, 80px);
    text-align: center; }
    .sec03 .sec03_t_text_wrap .img {
      max-width: 171px;
      margin: 0 auto clamp(30px, 3.334vw, 40px); }
      @media screen and (max-width: 480px) {
        .sec03 .sec03_t_text_wrap .img {
          width: 29.86%; } }
    .sec03 .sec03_t_text_wrap .head {
      font-size: clamp(20px, 2.5vw, 30px);
      color: #223b6b;
      margin-bottom: clamp(30px, 5vw, 60px); }
    .sec03 .sec03_t_text_wrap .read {
      font-size: clamp(12px, 1.334vw, 16px);
      line-height: 2.2; }
  .sec03 .sec03_wrap {
    margin-bottom: clamp(40px, 6.667vw, 80px); }
    .sec03 .sec03_wrap:nth-last-child(1) {
      margin-bottom: 0; }
    .sec03 .sec03_wrap .head {
      width: 100%;
      color: #fff;
      font-size: clamp(20px, 2.709vw, 26px);
      box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
      background: linear-gradient(to right, #0f2041 0%, #284578 50%, #0f2041 100%);
      text-align: center;
      margin-bottom: clamp(30px, 4.167vw, 50px);
      font-weight: bold;
      letter-spacing: 0.3em;
      line-height: 1;
      cursor: pointer;
      position: relative;
      padding-block: 15px; }
      @media screen and (max-width: 480px) {
        .sec03 .sec03_wrap .head {
          font-size: 16px;
          margin-bottom: 20px; } }
      .sec03 .sec03_wrap .head .acc_icon {
        right: 10px;
        top: 50%;
        position: absolute;
        display: block;
        width: 40px;
        height: 40px;
        background: #FFF;
        transform: translateY(-50%);
        /*＋、－切り替え*/ }
        @media screen and (max-width: 768px) {
          .sec03 .sec03_wrap .head .acc_icon {
            width: 30px;
            height: 30px; } }
        @media screen and (max-width: 480px) {
          .sec03 .sec03_wrap .head .acc_icon {
            right: 10px; } }
        .sec03 .sec03_wrap .head .acc_icon:before, .sec03 .sec03_wrap .head .acc_icon:after {
          position: absolute;
          content: "";
          display: block;
          transition: transform 0.4s;
          background: #000;
          left: 50%;
          top: 50%;
          width: 50%;
          height: 1px;
          transform: translate(-50%, -50%); }
        .sec03 .sec03_wrap .head .acc_icon:before {
          transform: translate(-50%, -50%) rotate(0deg); }
        .sec03 .sec03_wrap .head .acc_icon.open:before {
          transform: translate(-50%, -50%) rotate(90deg); }
    .sec03 .sec03_wrap .accordion_wrap {
      display: none; }
    .sec03 .sec03_wrap .list_wrap {
      position: relative;
      padding-inline: 20px; }
      @media screen and (max-width: 480px) {
        .sec03 .sec03_wrap .list_wrap {
          padding-inline: 0; } }
      .sec03 .sec03_wrap .list_wrap.border {
        margin-bottom: clamp(30px, 4.167vw, 50px);
        padding-bottom: clamp(30px, 4.167vw, 50px); }
        .sec03 .sec03_wrap .list_wrap.border::after {
          content: '';
          width: 100%;
          height: 1px;
          position: absolute;
          bottom: 0;
          left: 0;
          background-color: #cccccc; }
      .sec03 .sec03_wrap .list_wrap .sud_ttl {
        width: 100%;
        color: #223b6b;
        font-weight: bold;
        background: rgba(0, 0, 0, 0);
        box-shadow: none;
        text-align: left;
        margin-bottom: clamp(15px, 2.5vw, 30px);
        line-height: 1;
        padding-block: 0; }
      .sec03 .sec03_wrap .list_wrap .list {
        flex-wrap: wrap;
        grid-row-gap: clamp(20px, 4.167vw, 50px); }
        .sec03 .sec03_wrap .list_wrap .list a {
          width: 48.28%;
          align-items: center; }
          @media screen and (max-width: 480px) {
            .sec03 .sec03_wrap .list_wrap .list a {
              width: 100%; } }
          .sec03 .sec03_wrap .list_wrap .list a.none {
            pointer-events: none; }
          .sec03 .sec03_wrap .list_wrap .list a .item {
            width: 100%;
            align-items: center; }
            .sec03 .sec03_wrap .list_wrap .list a .item .img {
              width: 32.15%; }
            .sec03 .sec03_wrap .list_wrap .list a .item .text_wrap {
              width: 62.5%; }
              .sec03 .sec03_wrap .list_wrap .list a .item .text_wrap .ttl {
                font-size: clamp(15px, 1.667vw, 20px);
                margin-bottom: clamp(10px, 1.667vw, 20px);
                font-weight: bold;
                line-height: 1;
                color: #333; }
                .sec03 .sec03_wrap .list_wrap .list a .item .text_wrap .ttl.lh {
                  line-height: 1.6; }
                @media screen and (max-width: 768px) {
                  .sec03 .sec03_wrap .list_wrap .list a .item .text_wrap .ttl.sp_small {
                    font-size: clamp(15px, 1.751vw, 21px); } }
              .sec03 .sec03_wrap .list_wrap .list a .item .text_wrap .read {
                font-size: clamp(10px, 1.167vw, 14px); }
    .sec03 .sec03_wrap .btn_wrap {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      column-gap: clamp(30px, 4.167vw, 50px); }
      @media screen and (max-width: 480px) {
        .sec03 .sec03_wrap .btn_wrap {
          flex-direction: column;
          row-gap: 20px;
          align-items: flex-start; } }
      .sec03 .sec03_wrap .btn_wrap .head {
        width: fit-content;
        margin-bottom: 0; }
      @media screen and (max-width: 480px) {
        .sec03 .sec03_wrap .btn_wrap .btn {
          margin-inline: auto; } }
      .sec03 .sec03_wrap .btn_wrap .btn a {
        font-size: clamp(14px, 1.5vw, 18px);
        font-weight: bold;
        padding: clamp(10px, 1.084vw, 13px) clamp(15px, 2.5vw, 30px);
        box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
        border-radius: 40px;
        background-color: #fff;
        line-height: 1;
        display: flex;
        justify-content: space-between;
        align-items: center;
        letter-spacing: 0.15em;
        column-gap: clamp(10px, 2.156vw, 25px); }
        .sec03 .sec03_wrap .btn_wrap .btn a span {
          transition: all 0.2s ease-in-out 0s; }
        @media (hover: hover) {
          .sec03 .sec03_wrap .btn_wrap .btn a:hover span {
            transform: translate(5px, 0px); } }

.page_obj {
  position: fixed;
  right: 40px;
  bottom: 30px;
  transform: translate(104px, 0);
  transition: all 0.3s ease-in-out 0s; }
  @media screen and (max-width: 768px) {
    .page_obj {
      right: 20px;
      transform: translate(84px, 0); } }
  @media screen and (max-width: 480px) {
    .page_obj {
      right: 10px;
      transform: translate(74px, 0);
      bottom: 10px; } }
  .page_obj a {
    background-color: #14326e;
    width: clamp(55px, 5.334vw, 64px);
    aspect-ratio: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column; }
    .page_obj a .obj {
      width: 12px;
      aspect-ratio: 1;
      border-left: 1px solid #fff;
      border-top: 1px solid #fff;
      display: block;
      transform: rotate(45deg);
      margin-inline: auto; }
    .page_obj a .text {
      font-size: 9px;
      text-align: center;
      margin-inline: auto;
      color: #fff;
      display: flex;
      justify-content: center;
      font-weight: bold; }

body.scrolled .page_obj {
  transform: translate(0px, 0); }

@media screen and (max-width: 480px) {
  .vpc480 {
    display: none !important; } }

/*	モーダル	*/
/* youtube MODAL */
.modal {
  position: fixed;
  z-index: 999999999;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.7);
  opacity: 0;
  pointer-events: none; }

.loaded .modal {
  transition: all 0.3s ease-in-out 0s; }

.modal.opened {
  opacity: 1;
  pointer-events: all;
  cursor: pointer; }

.modal_in {
  position: absolute;
  top: 0;
  bottom: 50px;
  left: 0;
  right: 0;
  width: 1000px;
  margin: auto;
  width: calc(100vw - 40px);
  max-width: calc((100vh - 300px)/0.5625);
  height: calc((100vw - 40px) * 0.5625);
  max-height: calc(100vh - 300px);
  transform: scale(0.95);
  opacity: 0;
  transition: all 0.3s ease-in-out 0s,opacity 0.3s ease-in-out 0.3s; }

.modal.opened .modal_in {
  transform: scale(1);
  opacity: 1; }

.video {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }

.video iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: 0.3s opacity ease-in-out 0s;
  pointer-events: none; }

.video iframe.active {
  opacity: 1;
  pointer-events: all; }

.modal_close {
  position: absolute;
  right: 0;
  bottom: calc(100% + 10px);
  font-size: clamp(20px, 3.334vw, 40px);
  color: #000;
  border: none;
  background: none;
  cursor: pointer;
  display: block;
  line-height: 1;
  transform-origin: center; }
  @media screen and (max-width: 480px) {
    .modal_close {
      font-size: 20px; } }
