
/* base
------------------------------------------------------------------------------------------------------------------------ */
:root{
  --base-size: 1px;
  --flexible-size: calc(1vw / 1440 * 100);
}
@media screen and (max-width: 1440px) {
  :root{
    --base-size: calc(1vw / 1440 * 100);
  }
}
@media screen and (max-width: 768px) {
  :root{
    --base-size: calc(1vw / 375 * 100);
    --base-size: calc(1vw / 375 * 100);
  }
}

html{
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  scroll-behavior: smooth;
  scroll-padding: calc(110 * var(--base-size));
}
body{
  padding-top: calc(110 * var(--base-size));
}
img{
  width: 100%;
  vertical-align: top;
}


/* component
------------------------------------------------------------------------------------------------------------------------ */

/* c-headline
---------------------------------------- */
.c-headline01{
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  font-size: calc(40 * var(--base-size));
  font-weight: 500;
  line-height: 1;
  text-align: left;
}
.c-headline01 small{
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  margin-left: calc(16 * var(--base-size));
  font-size: calc(20 * var(--base-size));
  line-height: 1;
  color: #EA6100;
}
.c-headline01 small::before{
  content: "";
  display: block;
  width: calc(105 * var(--base-size));
  height: 1px;
  margin-right: calc(16 * var(--base-size));
  background-color: #C0C0C0;
}

.c-headline01-white-center{
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: calc(40 * var(--base-size));
  font-weight: 500;
  line-height: 1;
  color: #fff;
}
.c-headline01-white-center small{
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  margin-left: calc(16 * var(--base-size));
  font-size: calc(20 * var(--base-size));
  line-height: 1;
}
.c-headline01-white-center small::before{
  content: "";
  display: block;
  width: calc(105 * var(--base-size));
  height: 1px;
  margin-right: calc(16 * var(--base-size));
  background-color: #fff;
}


@media screen and (max-width:768px) {
  .c-headline01{
    font-size: calc(28 * var(--base-size));
  }
  .c-headline01 small{
    margin-left: calc(8 * var(--base-size));
    font-size: calc(12 * var(--base-size));
  }
  .c-headline01 small::before{
    width: calc(36 * var(--base-size));
    margin-right: calc(8 * var(--base-size));
  }

  .c-headline01-white-center{
    font-size: calc(28 * var(--base-size));
  }
  .c-headline01-white-center small{
    margin-left: calc(8 * var(--base-size));
    font-size: calc(12 * var(--base-size));
  }
  .c-headline01-white-center small::before{
    width: calc(36 * var(--base-size));
    margin-right: calc(12 * var(--base-size));
  }
}


/* button
---------------------------------------- */
.c-button{
  position: relative;
  display: inline-block;
  padding: calc(16 * var(--base-size)) calc(70 * var(--base-size)) calc(16 * var(--base-size)) calc(60 * var(--base-size)) ;
  border-radius: calc(infinity * 1px);
  font-size: calc(16 * var(--base-size));
  line-height: 1.7;
  font-weight: 500;
  color: #fff;
  background-color: #EA6100;
  transition: opacity .2s;
}
.c-button:hover{
  opacity: .5;
}
.c-button::after{
  content: "";
  position: absolute;
  top: 0;
  right: calc(26 * var(--base-size));
  bottom: 0;
  display: block;
  width: calc(12 * var(--base-size));
  height: calc(12 * var(--base-size));
  margin: auto;
  background-image: url(../img/icon_arrow.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}

.c-button-href{
  position: relative;
  display: inline-block;
  padding: calc(16 * var(--base-size)) calc(70 * var(--base-size)) calc(16 * var(--base-size)) calc(60 * var(--base-size)) ;
  border-radius: calc(infinity * 1px);
  font-size: calc(16 * var(--base-size));
  line-height: 1.7;
  font-weight: 500;
  color: #fff;
  background-color: #EA6100;
  transition: opacity .2s;
}
.c-button-href:hover{
  opacity: .5;
}
.c-button-href::after{
  content: "";
  position: absolute;
  top: 0;
  right: calc(26 * var(--base-size));
  bottom: 0;
  display: block;
  width: calc(16 * var(--base-size));
  height: calc(16 * var(--base-size));
  margin: auto;
  background-image: url(../img/icon_blank.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}

.c-button-large{
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: calc(22 * var(--base-size)) calc(121 * var(--base-size)) calc(22 * var(--base-size)) calc(158 * var(--base-size)) ;
  border-radius: calc(infinity * 1px);
  font-size: calc(24 * var(--base-size));
  line-height: 1.7;
  font-weight: 500;
  color: #fff;
  background-color: #EA6100;
  transition: opacity .2s;
}
.c-button-large:hover{
  opacity: .5;
}
.c-button-large::after{
  content: "";
  display: block;
  width: calc(12 * var(--base-size));
  height: calc(12 * var(--base-size));
  margin-left: calc(31 * var(--base-size));
  background-image: url(../img/icon_arrow.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}

@media screen and (max-width:768px) {
  .c-button{
    padding: calc(16 * var(--base-size)) calc(70 * var(--base-size)) calc(16 * var(--base-size)) calc(60 * var(--base-size)) ;
  }
  .c-button::after{
    right: calc(23 * var(--base-size));
    width: calc(12 * var(--base-size));
    height: calc(12 * var(--base-size));
  }

  .c-button-href{
    position: relative;
    display: inline-block;
    padding: calc(16 * var(--base-size)) calc(70 * var(--base-size)) calc(16 * var(--base-size)) calc(60 * var(--base-size)) ;
    border-radius: calc(infinity * 1px);
    font-size: calc(16 * var(--base-size));
    line-height: 1.7;
    font-weight: 500;
    color: #fff;
    background-color: #EA6100;
  }
  .c-button-href::after{
    content: "";
    position: absolute;
    top: 0;
    right: calc(26 * var(--base-size));
    bottom: 0;
    display: block;
    width: calc(16 * var(--base-size));
    height: calc(16 * var(--base-size));
    margin: auto;
    background-image: url(../img/icon_blank.svg);
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
  }

  .c-button-large{
    padding: calc(22 * var(--base-size)) 0 calc(22 * var(--base-size)) calc(32 * var(--base-size));
    width: calc(320 * var(--base-size));
    font-size: calc(24 * var(--base-size));
    line-height: 1.7;
  }
  .c-button-large::after{
    width: calc(17 * var(--base-size));
    height: calc(17 * var(--base-size));
    margin-left: calc(31 * var(--base-size));
  }
}


/* layout
------------------------------------------------------------------------------------------------------------------------ */


/* header
---------------------------------------- */

.l-header{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background-color: #fff;
}
.l-header_wrap{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.l-header_logo{
  position: relative;
  display: block;
  width: calc(210 * var(--base-size));
  margin-left: calc(30 * var(--base-size));
  z-index: 100;
}
.l-header_nav{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  padding-right: calc(34 * var(--base-size));
}
.l-header_nav_link{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: calc(14 * var(--base-size));
  line-height: 1;
  font-weight: 600;
  margin-right: calc(34 * var(--base-size));
}
.l-header_nav_link small{
  display: block;
  margin-top: calc(6 * var(--base-size));
  font-size: calc(12 * var(--base-size));
  line-height: 1;
  font-weight: 600;
  color: #EA6100;
}
.l-header_nav_sns{
  width: calc(40 * var(--base-size));
}
.l-header_subnav{
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: stretch;
  z-index: 100;
}
.l-header_contact{
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(200 * var(--base-size));
  height: calc(110 * var(--base-size));
  font-size: calc(20 * var(--base-size));
  line-height: 1;
  font-weight: 500;
  background-color: #EA6100;
  color: #fff;
}
.l-header_button{
  display: none;
}

@media screen and (max-width:768px) {
  .l-header{

  }
  .l-header_wrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .l-header_logo{
    display: block;
    width: calc(150 * var(--base-size));
    margin-left: calc(16 * var(--base-size));
  }
  .l-header_nav{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    padding: calc(150 * var(--base-size)) 0;
    background-color: #fff;
    z-index: 10;
    overflow-y: scroll;
  }
  .l-header_nav.is-open{
    display: block;
  }
  .l-header_nav_link{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-size: calc(20 * var(--base-size));
    margin-top: calc(40 * var(--base-size));
    margin-right: unset;
  }
  .l-header_nav_link small{
    display: block;
    margin-top: calc(6 * var(--base-size));
    font-size: calc(12 * var(--base-size));
    line-height: 1;
    font-weight: 600;
    color: #EA6100;
  }
  .l-header_nav_sns{
    display: none;
    /* width: calc(40 * var(--base-size)); */
  }
  .l-header_contact{
    width: calc(73 * var(--base-size));
    height: calc(69 * var(--base-size));
  }
  .l-header_contact img{
    width: calc(37 * var(--base-size));
  }
  .l-header_button{
    position: relative;
    display: block;
    width: calc(73 * var(--base-size));
    height: calc(69 * var(--base-size));
    background-color: #FFDBC2;
  }
  .l-header_button span{
    position: absolute;
    display: block;
    margin: auto;
    right: 0;
    left: 0;
    width: calc(32 * var(--base-size));
    height: calc(2 * var(--base-size));
    background-color: #EA6100;
    transition: transform .3s;
  }
  .l-header_button span:nth-child(1){
    top: calc(24 * var(--base-size));
  }
  .l-header_button span:nth-child(2){
    top: 0;
    bottom: 0;
  }
  .l-header_button span:nth-child(3){
    bottom: calc(24 * var(--base-size));
  }
  .l-header_button.is-open span:nth-child(1){
    top: 0;
    bottom: 0;
    transform: rotate(45deg);
  }
  .l-header_button.is-open span:nth-child(2){
    top: 0;
    bottom: 0;
    transform: scaleX(0);
  }
  .l-header_button.is-open span:nth-child(3){
    top: 0;
    bottom: 0;
    transform: rotate(-45deg);
  }
}


/* l-floatNav
---------------------------------------- */

.l-floatNav{
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 80;
}
.l-floatNav_button{
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  background-color: #EA6100;
  padding: calc(25 * var(--base-size)) calc(10 * var(--base-size));
  letter-spacing: .1em;
  font-weight: 600;
  color: #fff;
  font-size: calc(18 * var(--base-size));
  line-height: 1;
  border-radius: calc(8 * var(--base-size)) 0 0 calc(8 * var(--base-size));
  transition: opacity .2s;
}
.l-floatNav_button:hover{
  opacity: .5;
}
.l-floatNav_button::after{
  content: "";
  display: inline-block;
  margin-top: calc(10 * var(--base-size));
  width: calc(24 * var(--base-size));
  height: calc(24 * var(--base-size));
  background-image: url(../img/icon_arrow02.svg);
  background-size: contain;
  background-position: center center;
}

@media screen and (max-width:768px) {
  .l-floatNav{
    position: fixed;
    top: unset;
    right: 0;
    bottom: 3vh;
    left: 0;
    width: calc(336 * var(--base-size));
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 30;
  }
  .l-floatNav_button{
    -ms-writing-mode: unset;
    writing-mode: unset;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #EA6100;
    padding: 0;
    width: calc(160 * var(--base-size));
    height: calc(40 * var(--base-size));
    letter-spacing: .1em;
    font-weight: 600;
    color: #fff;
    font-size: calc(16 * var(--base-size));
    line-height: 1;
    border-radius: calc(1px * infinity);
  }
  .l-floatNav_button::after{
    content: "";
    display: inline-block;
    margin-top: 0;
    margin-left: calc(15 * var(--base-size));
    width: calc(17 * var(--base-size));
    height: calc(17 * var(--base-size));
    background-image: url(../img/icon_arrow.svg);
    background-size: contain;
    background-position: center center;
  }
}



/* footer
---------------------------------------- */
.l-footer{
  padding: calc(33 * var(--base-size)) 0 calc(100 * var(--base-size));
  background-color: #EA6100;
}
.l-footer_nav{
  display: flex;
  justify-content: center;
  align-items: center;
}
.l-footer_nav_link{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin-top: calc(30 * var(--base-size));
  font-size: calc(14 * var(--base-size));
  line-height: 1;
  font-weight: 600;
  color: #fff;
  margin-right: calc(40 * var(--base-size));
}
.l-footer_nav_link small{
  display: block;
  margin-top: calc(6 * var(--base-size));
  font-family: "Zen Old Mincho", serif;
  font-size: calc(12 * var(--base-size));
  line-height: 1;
  font-weight: 400;
  color: #fff;
}
.l-footer_sns{
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: calc(30 * var(--base-size));
}
.l-footer_sns_icon{
  width: calc(40 * var(--base-size));
  filter: invert(1);
}

.l-footer_copy{
  display: block;
  border-top: 1px solid #fff;
  margin-top: calc(30 * var(--base-size));
  padding: calc(24 * var(--base-size)) 0 0;
  font-size: calc(14 * var(--base-size));
  line-height: 1;
  text-align: center;
  color: #fff;
}



@media screen and (max-width:768px) {
  .l-footer{
    padding: calc(40 * var(--base-size)) 0 calc(140 * var(--base-size));
  }
  .l-footer_nav{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: calc(304 * var(--base-size));
    margin: auto;
  }
  .l-footer_nav_link{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    min-width: calc(126 * var(--base-size));
    margin-top: unset;
    font-size: calc(14 * var(--base-size));
    margin: auto;
  }
  .l-footer_nav_link:nth-of-type(n+3){
    margin-top: calc(52 * var(--base-size));
  }
  .l-footer_nav_link small{
    display: block;
    margin-top: calc(6 * var(--base-size));
    font-family: "Zen Old Mincho", serif;
    font-size: calc(12 * var(--base-size));
    line-height: 1;
    font-weight: 400;
    color: #fff;
  }
  .l-footer_sns{
    margin-top: calc(26 * var(--base-size));
  }
  .l-footer_sns_icon{
    width: calc(40 * var(--base-size));
    filter: invert(1);
  }
  .l-footer_copy{
    margin-top: calc(25 * var(--base-size));
    padding: calc(28 * var(--base-size)) 0 0;
    font-size: calc(10 * var(--base-size));
  }

}


/* top
------------------------------------------------------------------------------------------------------------------------ */


/* kv
---------------------------------------- */
.kv{
  margin: 0 auto calc(101 * var(--base-size));
}
.kv_image{
  position: relative;
  width: 100%;
  height: calc(700 * var(--flexible-size));
}
.kv_image img{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}
.kv_image_text{
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: calc(32 * var(--base-size));
  line-height: 1.6;
  font-weight: 500;
  color: #fff;
  z-index: 5;
}
.kv_image picture:nth-child(2){
  opacity: 0;
  animation-name: kv_image;
  animation-fill-mode: forwards;
  animation-duration: 12s;
  animation-iteration-count: infinite;
}
@keyframes kv_image {
  0%{
    opacity: 0;
  }
  30%{
    opacity: 0;
  }
  50%{
    opacity: 1;
  }
  70%{
    opacity: 1;
  }
  100%{
    opacity: 0;
  }
}
.kv_copy{
  display: block;
  margin: calc(153 * var(--base-size)) auto 0;
  width: calc(1158 * var(--base-size));
  font-size: calc(60 * var(--base-size));
  line-height: 1.7;
  font-weight: 500;
  color: #EA6100;
  text-align: center;
}
.kv_copy_sub{
  display: block;
  margin: calc(44 * var(--base-size)) auto 0;
  width: calc(1158 * var(--base-size));
  font-size: calc(24 * var(--base-size));
  line-height: 2;
  text-align: center;
}
.kv_copy_bottom{
  margin: calc(96 * var(--base-size)) auto 0;
  text-align: center;
}

@media screen and (max-width:768px) {
  .kv{
    margin: 0 auto calc(185 * var(--base-size));
  }
  .kv_image{
    position: relative;
    width: 100%;
    height: calc(562 * var(--base-size));
  }
  .kv_image img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
  }
  .kv_image_text{
    font-size: calc(32 * var(--base-size));
    line-height: 1.6;
    font-weight: 500;
  }
  .kv_copy{
    display: block;
    margin: calc(14 * var(--base-size)) auto 0;
    width: 100%;
    font-size: calc(32 * var(--base-size));
    line-height: 1.7;
  }
  .kv_copy_sub{
    display: block;
    margin: calc(44 * var(--base-size)) auto 0;
    width: 100%;
    font-size: calc(18 * var(--base-size));
    line-height: 2;
  }
  .kv_copy_bottom{
    margin: calc(44 * var(--base-size)) auto 0;
  }
}




/* message
---------------------------------------- */

.message{
  margin: calc(101 * var(--base-size)) auto calc(157 * var(--base-size));
}
.message_box{
  width: calc(1200 * var(--base-size));
  margin: auto;
  box-sizing: border-box;
  padding: calc(80 * var(--base-size)) calc(67 * var(--base-size)) calc(51 * var(--base-size));
  background-image: url(../img/message_img.jpg);
  background-size: auto 100%;
  background-position: top right;
  background-repeat: no-repeat;
}
.message_wrap{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.message_text{
  margin-top: calc(46 * var(--base-size));
  width: calc(561 * var(--base-size));
  font-size: calc(20 * var(--base-size));
  line-height: 1.6;
  text-align: justify;
}
.message_name{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: calc(75 * var(--base-size));
  width: calc(561 * var(--base-size));
  font-family: "Zen Old Mincho", serif;
  font-size: calc(40 * var(--base-size));
  line-height: 1;
  font-weight: 600;
}
.message_name small{
  display: block;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  margin-right: calc(42 * var(--base-size));
  font-size: calc(18 * var(--base-size));
  line-height: 1;
  font-weight: 400;
}

@media screen and (max-width:768px) {
  .message{
    margin: calc(185 * var(--base-size)) auto calc(55 * var(--base-size));
  }
  .message_box{
    width: calc(328 * var(--base-size));
    margin: auto;
    box-sizing: border-box;
    padding: 0;
    background: none;
  }
  .message_wrap{
    flex-direction: column-reverse;
  }
  .message_text{
    margin-top: calc(32 * var(--base-size));
    width: 100%;
    font-size: calc(16 * var(--base-size));
    line-height: 1.7;
  }
  .message_name{
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    flex-direction: column;
    margin-top: calc(32 * var(--base-size));
    width: calc(328 * var(--base-size));
    height: calc(218 * var(--base-size));
    padding: calc(21 * var(--base-size)) calc(12 * var(--base-size));
    font-size: calc(25 * var(--base-size));
    background-image: url(../img/message_img-sp.jpg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
  }
  .message_name small{
    display: block;
    font-family: "Zen Kaku Gothic Antique", sans-serif;
    margin-right: calc(42 * var(--base-size));
    margin-bottom: calc(12 * var(--base-size));
    font-size: calc(11 * var(--base-size));
    line-height: 1.3;
  }
  .message_name span{
    color: #fff;
  }
}


/* action
---------------------------------------- */
.action{
  width: 100%;
  background-color: #FFFBE8;
  padding: calc(64 * var(--base-size)) 0;
}
.action_wrap{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: calc(1200 * var(--base-size));
  margin: auto;
}
.action_image{
  width: calc(477 * var(--base-size));
}
.action_image_nav{
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: calc(30 * var(--base-size));
}
.action_image_nav span{
  width: calc(10 * var(--base-size));
  height: calc(10 * var(--base-size));
  margin: 0 calc(9 * var(--base-size));
  border-radius: 100%;
  background-color: #D9D9D9;
  cursor: pointer;
}
span.tns-nav-active{
  background-color: #909090;
}
.action_main{
  width: calc(683 * var(--base-size));
}
.action_message{
  display: block;
  margin-top: calc(50 * var(--base-size));
  font-size: calc(60 * var(--base-size));
  line-height: 1;
  font-weight: 500;
  text-align: left;
  color: #EA6100;
}
.action_text{
  margin-top: calc(25 * var(--base-size));
  font-size: calc(16 * var(--base-size));
  line-height: 1.8;
  text-align: justify;
}
.action_button{
  margin-top: calc(36 * var(--base-size));
  text-align: right;
}

@media screen and (max-width: 768px) {
  .action{
    
  }
  .action_wrap{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    width: 100%;
    margin: auto;
  }
  .action_image{
    margin-top: calc(40 * var(--base-size));
    width: calc(335 * var(--base-size));
  }
  .action_main{
    width: calc(335 * var(--base-size));
  }
  .action_message{
    display: block;
    margin-top: calc(50 * var(--base-size));
    font-size: calc(34 * var(--base-size));
  }
  .action_text{
    margin-top: calc(25 * var(--base-size));
    font-size: calc(16 * var(--base-size));
    line-height: 1.8;
  }
  .action_button{
    margin-top: calc(36 * var(--base-size));
    text-align: center;
  }
}


/* service
---------------------------------------- */

.service{
  padding: calc(88 * var(--base-size)) 0 calc(106 * var(--base-size));
  background-image: url(../img/service_bg.jpg);
  background-size: cover;
  background-position: top left;
}
.service_top{
  text-align: center;
}
.service_container{
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  overflow-x: scroll;
  margin: calc(64 * var(--base-size)) auto 0;
}
.service_box{
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-direction: column;
  margin: 0 calc(20 * var(--base-size));
  width: calc(373 * var(--base-size));
  padding: calc(24 * var(--base-size)) calc(24 * var(--base-size)) calc(49 * var(--base-size));
  flex: 0 0 auto;
  box-sizing: border-box;
  background-color: #fff;
}
.service_box_bottom{
  margin: calc(24 * var(--base-size)) auto 0;
  text-align: center;
}
.service_box:first-child{
  margin-left: calc(124 * var(--base-size));
}
.service_box:last-child{
  margin-right: calc(124 * var(--base-size));
}
.service_box_title{
  font-size: calc(30 * var(--base-size));
  line-height: 1;
  font-weight: 600;
  color: #EA6100;
}
.service_box_image{
  width: 100%;
  margin: calc(24 * var(--base-size)) auto 0;
}
.service_box_text{
  width: 100%;
  margin: calc(24 * var(--base-size)) auto 0;
  font-size: calc(16 * var(--base-size));
  line-height: 1.8;
}
@media screen and (min-width: 1701px) {
  .service_container{
    display: flex;
    justify-content: center;
    align-items: stretch;
  }
}
@media screen and (max-width: 768px) {
  .service{
    padding: calc(44 * var(--base-size)) 0 calc(90 * var(--base-size));
    background-image: url(../img/service_bg.jpg);
    background-size: cover;
    background-position: top left;
  }
  .service_top{
    text-align: center;
  }
  .service_container{
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    overflow-x: auto;
    flex-direction: column;
    margin: calc(57 * var(--base-size)) auto 0;
  }
  .service_box{
    margin: calc(40 * var(--base-size)) auto 0;
    width: calc(310 * var(--base-size));
    padding: calc(24 * var(--base-size)) calc(24 * var(--base-size)) calc(49 * var(--base-size));
  }
  .service_box:first-child{
    margin: auto;
  }
  .service_box:last-child{
    margin: calc(40 * var(--base-size)) auto 0;
  }
  .service_box_title{
    font-size: calc(25 * var(--base-size));
  }
  .service_box_image{
    width: 100%;
    margin: calc(24 * var(--base-size)) auto 0;
  }
  .service_box_text{
    width: 100%;
    margin: calc(24 * var(--base-size)) auto 0;
    font-size: calc(16 * var(--base-size));
    line-height: 1.8;
  }
}


/* product
---------------------------------------- */
.product{
  margin: calc(96 * var(--base-size)) auto calc(96 * var(--base-size));
}
.product_wrap{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: calc(1110 * var(--base-size));
  margin: auto;
}
.product_main{
  width: calc(446 * var(--base-size));
}
.product_text{
  margin: calc(51 * var(--base-size)) 0 calc(36 * var(--base-size));
  font-size: calc(16 * var(--base-size));
  line-height: 1.8;
}
.product_image{
  position: relative;
  width: calc(642 * var(--base-size));
  height: calc(390 * var(--base-size));
}
.product_image img{
  position: absolute;
  width: calc(342 * var(--base-size));
}
.product_image img:first-child{
  top: 0;
  left: 0;
  z-index: 0;
}
.product_image img:last-child{
  bottom: 0;
  right: 0;
  z-index: 1;
}


@media screen and (max-width: 768px) {
  .product{
    margin: calc(96 * var(--base-size)) auto calc(96 * var(--base-size));
  }
  .product_wrap{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: column-reverse;
    width: calc(320 * var(--base-size));
    margin: auto;
  }
  .product_main{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    width: 100%;
  }
  .product_text{
    margin: calc(40 * var(--base-size)) 0 calc(36 * var(--base-size));
    font-size: calc(16 * var(--base-size));
    line-height: 1.8;
  }
  .product_image{
    position: relative;
    width: 100%;
    height: calc(200 * var(--base-size));
    margin-top: calc(40 * var(--base-size));
  }
  .product_image img{
    position: absolute;
    width: calc(175 * var(--base-size));
  }
}



/* recruit
---------------------------------------- */
.recruit{
  margin: calc(156 * var(--base-size)) auto calc(156 * var(--base-size));
}
.recruit_wrap{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: calc(1202 * var(--base-size));
  margin: auto;
  padding: calc(65 * var(--base-size));
  box-sizing: border-box;
  background-color: #FFFBE8;
}
.recruit_image{
  width: calc(477 * var(--base-size));
}
.recruit_main{
  width: calc(555 * var(--base-size));
}
.recruit_message{
  display: block;
  margin-top: calc(50 * var(--base-size));
  font-size: calc(40 * var(--base-size));
  line-height: 1.3;
  font-weight: 500;
  color: #EA6100;
}
.recruit_text{
  margin-top: calc(25 * var(--base-size));
  font-size: calc(16 * var(--base-size));
  line-height: 1.8;
}
.recruit_button{
  margin-top: calc(36 * var(--base-size));
  text-align: right;
}

@media screen and (max-width: 768px) {
  .recruit{
    margin: calc(156 * var(--base-size)) auto 0;
  }
  .recruit_wrap{
    /* align-items: center; */
    flex-direction: column;
    width: 100%;
    margin: auto;
    padding: calc(65 * var(--base-size)) calc(20 * var(--base-size));
  }
  .recruit_image{
    width: calc(335 * var(--base-size));
    margin: calc(40 * var(--base-size)) auto 0;
  }
  .recruit_main{
    width: calc(335 * var(--base-size));
    margin: auto;
  }
  .recruit_message{
    margin-top: calc(25 * var(--base-size));
    font-size: calc(33 * var(--base-size));
  }
  .recruit_text{
    margin-top: calc(25 * var(--base-size));
    font-size: calc(16 * var(--base-size));
    line-height: 1.8;
  }
  .recruit_button{
    margin-top: calc(36 * var(--base-size));
    text-align: center;
  }
}



/* tv
---------------------------------------- */
.tv{
  margin: calc(93 * var(--base-size)) auto 0;
  padding: calc(49 * var(--base-size)) 0;
  background-color: #EA6100;

}
.tv_headline{
  display: block;
  font-size: calc(40 * var(--base-size));
  font-weight: 500;
  color: #fff;
  text-align: center;
}
.tv_wrap{
  display: flex;
  justify-content: space-between;
  margin: calc(68 * var(--base-size)) auto 0;
  width: calc(1032 * var(--base-size));
}
.tv_wrap iframe{
  width: calc(477 * var(--base-size));
  height: calc(358 * var(--base-size));
}

@media screen and (max-width: 768px) {
  .tv{
    margin: 0 auto 0;
    padding: calc(62 * var(--base-size)) 0;
  }
  .tv_headline{
    font-size: calc(28 * var(--base-size));
  }
  .tv_wrap{
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    margin: calc(24 * var(--base-size)) auto 0;
    width: calc(335 * var(--base-size));
  }
  .tv_wrap iframe{
    width: calc(335 * var(--base-size));
    height: calc(251 * var(--base-size));
  }
  .tv_wrap iframe:not(:first-child){
    margin-top: calc(40 * var(--base-size));
  }
}


/* sns
---------------------------------------- */
.sns{
  margin: calc(122 * var(--base-size));
}
.sns_top{
  text-align: center;
}
.sns_container{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: calc(1197 * var(--base-size));
  margin: calc(76 * var(--base-size)) auto calc(72 * var(--base-size));
}
.sns_headline{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: calc(40 * var(--base-size));
  line-height: 1;
  font-weight: 500;
}
.sns_headline_icon{
  display: block;
  width: calc(40 * var(--base-size));
  margin-right: calc(16 * var(--base-size));
}
.sns_sns{
  width: calc(370 * var(--base-size));
  text-align: center;
}
.sns_image{
  display: block;
  margin: calc(30 * var(--base-size)) 0;
  width: calc(370 * var(--base-size));
  height: calc(370 * var(--base-size));
  background-size: cover;
  background-position: center center;
}
.sns_info{
  width: calc(683 * var(--base-size));
}
.sns_info_bottom{
  margin-top: calc(31 * var(--base-size));
  text-align: right;
}
.sns_list{
  margin-top: calc(31 * var(--base-size));
}
.sns_list_link{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  border-top: 1px solid #000;
  padding-top: calc(16 * var(--base-size));
}
.sns_list_link:not(:first-child){
  margin-top: calc(40 * var(--base-size));
}
.sns_list_link time{
  display: block;
  width: calc(103 * var(--base-size));
  font-size: calc(16 * var(--base-size));
  line-height: 1;
  flex: 0 0 auto;
}
.sns_list_link span{
  display: -webkit-box;
  width: calc(580 * var(--base-size));
  font-size: calc(16 * var(--base-size));
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

@media screen and (max-width: 768px) {
  .sns{
    margin: calc(68 * var(--base-size)) auto;
  }
  .sns_top{
    width: calc(320 * var(--base-size));
    margin: auto;
    text-align: left;
  }
  .sns_container{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: column;
    width: calc(320 * var(--base-size));
    margin: calc(64 * var(--base-size)) auto calc(72 * var(--base-size));
  }
  .sns_headline{
    font-size: calc(28 * var(--base-size));
  }
  .sns_headline_icon{
    width: calc(40 * var(--base-size));
    margin-right: calc(16 * var(--base-size));
  }
  .sns_sns{
    width: 100%;
  }
  .sns_image{
    margin: calc(16 * var(--base-size)) 0;
    width: 100%;
    height: calc(376 * var(--base-size));
  }
  .sns_info{
    margin-top: calc(49 * var(--base-size));
    width: 100%;
  }
  .sns_info_bottom{
    margin-top: calc(58 * var(--base-size));
    text-align: center;
  }
  .sns_list{
    margin-top: calc(31 * var(--base-size));
  }
  .sns_list_link{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    border-top: 1px solid #000;
    padding-top: calc(16 * var(--base-size));
  }
  .sns_list_link:not(:first-child){
    margin-top: calc(40 * var(--base-size));
  }
  .sns_list_link time{
    display: block;
    width: calc(103 * var(--base-size));
    font-size: calc(16 * var(--base-size));
    line-height: 1;
    flex: 0 0 auto;
  }
  .sns_list_link span{
    display: -webkit-box;
    width: calc(226 * var(--base-size));
    font-size: calc(16 * var(--base-size));
    line-height: 1.3;
    -webkit-line-clamp: 3;
  }
}



/* company
---------------------------------------- */
.company{
  padding: calc(96 * var(--base-size)) 0 calc(96 * var(--base-size));
  background-color: #FFFBE8;
}
.company_top{
  text-align: center;
}
.company_info{
  margin: calc(59 * var(--base-size)) auto 0;
  width: calc(910 * var(--base-size));
}
.company_info_block{
  display: flex;
  justify-content: center;
  align-items: stretch;
  margin-top: calc(40 * var(--base-size));
  width: calc(910 * var(--base-size));
}
.company_info_term{
  width: calc(267 * var(--base-size));
  font-size: calc(22 * var(--base-size));
  line-height: 1.3;
  text-align: right;
  padding-right: calc(24 * var(--base-size));
  padding-bottom: calc(22 * var(--base-size));
  box-sizing: border-box;
  border-bottom: 1px solid #000;
  flex: 0 0 auto;
}
.company_info_details{
  width: calc(579 * var(--base-size));
  font-size: calc(22 * var(--base-size));
  line-height: 1.3;
  text-align: left;
  padding-left: calc(64 * var(--base-size));
  padding-bottom: calc(22 * var(--base-size));
  box-sizing: border-box;
  border-bottom: 1px solid #B9BDC5;
}
.company_info_details a{
  text-decoration: underline;
}
.company_info_details img{
  display: inline-block;
  width: calc(24 * var(--base-size));
  margin-top: .2em;
  margin-left: calc(10 * var(--base-size));
}
.company_bottom{
  margin-top: calc(59 * var(--base-size));
  text-align: center;
}

@media screen and (max-width: 768px) {
  .company{
    padding: calc(60 * var(--base-size)) 0 calc(60 * var(--base-size));
  }
  .company_top{
    text-align: center;
  }
  .company_info{
    margin: calc(59 * var(--base-size)) auto 0;
    width: calc(320 * var(--base-size));
  }
  .company_info_block{
    margin: calc(23 * var(--base-size)) auto 0;
    width: 100%;
  }
  .company_info_term{
    width: calc(89 * var(--base-size));
    font-size: calc(14 * var(--base-size));
    line-height: 1.3;
    text-align: left;
    padding-right: calc(12 * var(--base-size));
    padding-bottom: calc(21 * var(--base-size));
  }
  .company_info_details{
    width: calc(227 * var(--base-size));
    font-size: calc(14 * var(--base-size));
    line-height: 1.3;
    text-align: left;
    padding-left: 0;
    padding-bottom: calc(21 * var(--base-size));
  }
  .company_info_details a{
    text-decoration: underline;
  }
  .company_info_details img{
    display: inline-block;
    width: calc(18 * var(--base-size));
    margin-top: .2em;
    margin-left: calc(12 * var(--base-size));
  }
  .company_bottom{
    margin-top: calc(59 * var(--base-size));
    text-align: center;
  }
}


/* map
---------------------------------------- */
.map{
  display: block;
  width: 100%;
  height: calc(367 * var(--base-size));
}

@media screen and (max-width: 768px) {
  .map{
    height: calc(217 * var(--base-size));
  }
}





/* about
------------------------------------------------------------------------------------------------------------------------ */


/* about
---------------------------------------- */
.about{
  margin: calc(72 * var(--base-size)) auto calc(120 * var(--base-size));
}
.about_headline{
  font-size: calc(48 * var(--base-size));
  line-height: 1.7;
  font-weight: 500;
  color: #EA6100;
  text-align: center;
}
.about_image{
  display: block;
  margin: calc(42 * var(--base-size)) auto 0;
  width: calc(786 * var(--base-size));
}
.about_container{
  margin: calc(49 * var(--base-size)) auto calc(80 * var(--base-size));
  width: calc(994 * var(--base-size));
}
.about_block:not(:first-child){
  margin-top: calc(64 * var(--base-size));
}
.about_block_headline{
  font-size: calc(20 * var(--base-size));
  line-height: 1.7;
  color: #EA6100;
}
.about_block_main{
  margin-top: calc(16 * var(--base-size));
  margin-left: calc(104 * var(--base-size));
}
.about_block_text{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin-top: calc(32 * var(--base-size));
  font-size: calc(18 * var(--base-size));
  line-height: 1.5;
}
.about_block_text span{
  display: inline-block;
  margin-right: 1em;
  flex: 0 0 auto;
}
.about_phot{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: calc(80 * var(--base-size)) auto calc(120 * var(--base-size));
  width: calc(947 * var(--base-size));
}
.about_phot_image{
  width: calc(292 * var(--base-size));
}

.about_certification{
  margin: calc(120 * var(--base-size)) auto calc(120 * var(--base-size));
  width: calc(821 * var(--base-size));
}

.about_certification_box{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.about_certification_box:not(:first-child){
  margin-top: calc(40 * var(--base-size));
}
.about_certification_logo{
  margin-right: calc(12 * var(--base-size));
  width: calc(220 * var(--base-size));
  flex: 0 0 auto;
}
.about_certification_title{
  font-size: calc(20 * var(--base-size));
  line-height: 1.5;
  font-weight: 600;
  color: #EA6100;
}
.about_certification_text{
  margin-top: calc(12 * var(--base-size));
  font-size: calc(16 * var(--base-size));
  line-height: 1.5;
}
.about_certification_button{
  position: relative;
  display: inline-block;
  margin-top: calc(47 * var(--base-size));
  padding: calc(10 * var(--base-size)) calc(57 * var(--base-size)) calc(10 * var(--base-size)) calc(51 * var(--base-size)) ;
  border-radius: calc(4 * var(--base-size));
  font-size: calc(14 * var(--base-size));
  line-height: 1.7;
  font-weight: 600;
  color: #fff;
  background-color: #EA6100;
}
.about_certification_button::after{
  content: "";
  position: absolute;
  top: 0;
  right: calc(12 * var(--base-size));
  bottom: 0;
  display: block;
  width: calc(13 * var(--base-size));
  height: calc(13 * var(--base-size));
  margin: auto;
  background-image: url(../img/icon_blank.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}


@media screen and (max-width: 768px) {
  .about{
    margin: calc(41 * var(--base-size)) auto calc(80 * var(--base-size));
  }
  .about_headline{
    font-size: calc(32 * var(--base-size));
  }
  .about_image{
    margin: calc(27 * var(--base-size)) auto 0;
    width: calc(375 * var(--base-size));
  }
  .about_container{
    margin: calc(27 * var(--base-size)) auto calc(80 * var(--base-size));
    width: calc(320 * var(--base-size));
  }
  .about_block:not(:first-child){
    margin-top: calc(64 * var(--base-size));
  }
  .about_block_headline{
    font-size: calc(20 * var(--base-size));
    line-height: 1.7;
  }
  .about_block_main{
    margin-top: calc(16 * var(--base-size));
    margin-left: 0;
  }
  .about_block_text{
    margin-top: calc(24 * var(--base-size));
    font-size: calc(14 * var(--base-size));
    line-height: 1.5;
  }
  .about_block_text span{
    display: inline-block;
    margin-right: 1em;
    flex: 0 0 auto;
  }
  .about_phot{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    margin: calc(80 * var(--base-size)) auto calc(120 * var(--base-size));
    width: calc(320 * var(--base-size));
  }
  .about_phot_image{
    margin: calc(18 * var(--base-size)) auto 0;
    width: 100%;
  }

  .about_certification{
    margin: calc(120 * var(--base-size)) auto calc(120 * var(--base-size));
    width: calc(320 * var(--base-size));
  }
  .about_certification_details{
    text-align: center;
  }
  .about_certification_box{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
  }
  .about_certification_box:not(:first-child){
    margin-top: calc(60 * var(--base-size));
  }
  .about_certification_logo{
    margin: calc(18 * var(--base-size)) auto 0;
    width: calc(200 * var(--base-size));
    flex: 0 0 auto;
  }
  .about_certification_title{
    font-size: calc(18 * var(--base-size));
  }
  .about_certification_text{
    margin-top: calc(18 * var(--base-size));
    font-size: calc(16 * var(--base-size));
    line-height: 1.5;
    text-align: left;
  }
  .about_certification_button{
    position: relative;
    display: inline-block;
    margin: calc(18 * var(--base-size)) auto 0;
    padding: calc(10 * var(--base-size)) calc(57 * var(--base-size)) calc(10 * var(--base-size)) calc(51 * var(--base-size)) ;
    border-radius: calc(4 * var(--base-size));
    font-size: calc(14 * var(--base-size));
  }
  .about_certification_button::after{
    right: calc(12 * var(--base-size));
    width: calc(13 * var(--base-size));
    height: calc(13 * var(--base-size));
  }

}



/* action
------------------------------------------------------------------------------------------------------------------------ */


/* action
---------------------------------------- */
.action02{
  margin: calc(72 * var(--base-size)) auto calc(120 * var(--base-size));
}
.action02_headline{
  font-size: calc(48 * var(--base-size));
  line-height: 1.7;
  font-weight: 500;
  color: #EA6100;
  text-align: center;
}
.action02_case_media{
  margin: calc(112 * var(--base-size)) auto 0;
  width: calc(786 * var(--base-size));
  height: calc(442 * var(--base-size));
}
.action02_case_media iframe{
  width: 100%;
  height: 100%;
}
.action02_case_image{
  margin: calc(32 * var(--base-size)) auto 0;
  width: calc(786 * var(--base-size));
}
.action02_case_image img{
  width: 100%;
}
.action02_case{
  margin: calc(120 * var(--base-size)) auto 0;
  width: calc(786 * var(--base-size));
}
.action02_case_box{
  margin: calc(112 * var(--base-size)) auto;
  border-top: 1px solid #000;
  padding-top: calc(32 * var(--base-size));
}
.action02_case_headline{
  font-size: calc(44 * var(--base-size));
  line-height: 1.5;
  font-weight: 500;
}
.action02_case_text{
  margin-top: calc(27 * var(--base-size));
  font-size: calc(16 * var(--base-size));
  line-height: 1.5;
}
.action02_case_text-sub{
  margin-top: calc(32 * var(--base-size));
  font-size: calc(14 * var(--base-size));
  line-height: 2;
}
.action02_case_text-sub + .action02_case_text-sub{
  margin-top: calc(16 * var(--base-size));
}



@media screen and (max-width: 768px) {
  .action02{
    margin: calc(72 * var(--base-size)) auto calc(120 * var(--base-size));
  }
  .action02_headline{
    font-size: calc(32 * var(--base-size));
  }
  .action02_case_media{
    margin: calc(63 * var(--base-size)) auto 0;
    width: calc(320 * var(--base-size));
    height: calc(180 * var(--base-size));
  }
  .action02_case_media iframe{
    width: 100%;
    height: 100%;
  }
  .action02_case_image{
    margin: calc(12 * var(--base-size)) auto 0;
    width: calc(320 * var(--base-size));
  }
  .action02_case_image img{
    width: 100%;
  }
  .action02_case{
    margin: calc(80 * var(--base-size)) auto 0;
    width: calc(320 * var(--base-size));
  }
  .action02_case_box{
    margin: calc(112 * var(--base-size)) auto;
    border-top: 1px solid #000;
    padding-top: calc(32 * var(--base-size));
  }
  .action02_case_headline{
    font-size: calc(24 * var(--base-size));
    line-height: 1.5;
    font-weight: 500;
  }
  .action02_case_text{
    margin-top: calc(27 * var(--base-size));
    font-size: calc(14 * var(--base-size));
    line-height: 1.5;
  }
  .action02_case_text-sub{
    margin-top: calc(32 * var(--base-size));
    font-size: calc(14 * var(--base-size));
    line-height: 2;
  }
  .action02_case_text-sub + .action02_case_text-sub{
    margin-top: calc(16 * var(--base-size));
  }
  .action02_case_media{
    display: block;
    margin-top: calc(32 * var(--base-size));
  }
}



/* case
------------------------------------------------------------------------------------------------------------------------ */


/* case
---------------------------------------- */
.case{
  margin: calc(72 * var(--base-size)) auto calc(120 * var(--base-size));
}
.case_headline{
  font-size: calc(48 * var(--base-size));
  line-height: 1.7;
  font-weight: 500;
  color: #EA6100;
  text-align: center;
}
.case_container{
  margin: calc(30 * var(--base-size)) auto 0;
  width: calc(994 * var(--base-size));
}
.case_explanation{
  font-size: calc(16 * var(--base-size));
  padding-bottom: calc(40 * var(--base-size));
  border-bottom: calc(3 * var(--base-size)) solid #EA6100;
}
.case_box{
  margin-top: calc(80 * var(--base-size));
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.case_box_main{
  width: calc(477 * var(--base-size));
}
.case_box_headline{
  font-size: calc(28 * var(--base-size));
  line-height: 1.5;
}
.case_box_option{
  display: block;
  margin-top: calc(27 * var(--base-size));
  font-size: calc(14 * var(--base-size));
  padding-left: 1em;
  background-color: #FFFBE8;
  line-height: 1.5;
}
.case_box_text{
  margin-top: calc(27 * var(--base-size));
  font-size: calc(14 * var(--base-size));
  line-height: 1.5;
}
.case_box_notes{
  display: block;
  margin-top: calc(27 * var(--base-size));
  font-size: calc(14 * var(--base-size));
  line-height: 1.5;
}
.case_box_image{
  width: calc(477 * var(--base-size));
}


@media screen and (max-width: 768px) {
  .case{
    margin: calc(41 * var(--base-size)) auto calc(80 * var(--base-size));
  }
  .case_headline{
    font-size: calc(32 * var(--base-size));
  }
  .case_container{
    margin: calc(30 * var(--base-size)) auto 0;
    width: calc(320 * var(--base-size));
  }
  .case_explanation{
    font-size: calc(16 * var(--base-size));
    padding-bottom: calc(40 * var(--base-size));
    border-bottom: calc(3 * var(--base-size)) solid #EA6100;
  }
  .case_box{
    margin-top: calc(80 * var(--base-size));
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: column-reverse;
  }
  .case_box_main{
    width: calc(320 * var(--base-size));
  }
  .case_box_headline{
    margin-top: calc(40 * var(--base-size));
    font-size: calc(28 * var(--base-size));
    line-height: 1.5;
  }
  .case_box_text{
    margin-top: calc(27 * var(--base-size));
    font-size: calc(14 * var(--base-size));
    line-height: 1.5;
  }
  .case_box_notes{
    display: block;
    margin-top: calc(27 * var(--base-size));
    font-size: calc(14 * var(--base-size));
    line-height: 1.5;
  }
  .case_box_image{
    width: calc(320 * var(--base-size));
  }
}


/* unit
------------------------------------------------------------------------------------------------------------------------ */

@media screen and (max-width:768px) {
  .u-pc{
    display: none;
  }
}
@media screen and (min-width:769px) {
  .u-sp{
    display: none;
  }
}
.u-indent{
  text-indent: -1em;
  padding-left: 1em;
}