@charset "utf-8";
 
html { scroll-behavior: smooth; }

/* mv */
.mv{ position: relative; background: url(../img/mv_bg.webp) no-repeat; background-size: cover; background-position: center; background-color: var(--neutral-100); height: 85vh; align-items: center; justify-content: center;}
.mv__tit{ margin: 0 20px;}

@media screen and (max-width: 768px) {
  .mv{ height: 100vh;}
}

/* common */
.headCopy { position: relative;font-size: var(--fs-large06); line-height: 1.8;margin-bottom: var(--sp-2xl);}
.headCopy .capAbs {padding: 0;font-weight: 400;}

@media screen and (max-width: 768px) {
  .headCopy { text-align: center; line-height: 1.4;}
}

/* welcome*/
.welcome__tit{ max-width: 12.1em; font-size: var(--fs-exLarge01); color: var(--green-600); margin: 0 auto; text-align: right; letter-spacing: 0.14em; line-height: 1.2;}
.welcome__tit .attachTxt{ display: block; font-size: 40%; letter-spacing: 0.11em;}
.welcome__copy,
.welcome__txt{ text-align: center; line-height: 2;}
.welcome__copy{ font-size: var(--fs-large06); margin: 2em 0 0.6em; letter-spacing: 0.3em;}
.welcome__txt{ font-size: var(--fs-middle03); text-align: center; line-height: 2.5;}
.welcome__imgBox{ position: relative; margin-top: var(--sp-5xl);}
.welcome__imgBox figure:not(:first-of-type){  position: absolute;}
.welcome__imgBox figure:nth-of-type(2){width: 2.8573%; top: 2.92372%; left: 11.6428%;}
.welcome__imgBox figure:nth-of-type(3){width: 3.929%; top: 12.678%; right: 41.75%;}
.welcome__imgBox figure:nth-of-type(4){width: 5.5%; top: 43.389%; left: 19.357%;}
.welcome__imgBox figure:nth-of-type(5){width: 7.8575%; top: 42.712%; right: 20.5%;}

.welcome__what{ margin: var(--sp-7xl) auto 0;max-width: 950px;background: var(--neutral-50);box-shadow: 3px 5px 5px 3px rgba(0, 0, 0, 0.3);}
.welcome__what::before,
.welcome__what::after{ display: block; width: 100%; content: url(../img/frame_what.svg); }
.welcome__what::after{ transform: rotate(180deg);}
.welcome__whatInner { margin: 0 auto; padding: 0 var(--sp-3xl) var(--sp-xl);}
.welcome__whatInner .colL{ width: 35.13%;}
.welcome__whatInner .colR{ width: 61%;}
.welcome__whatInner .colR .welcome__whatTxt{ font-size: var(--fs-middle04); line-height: 1.8; margin-bottom: var(--sp-md);}
.welcome__whatBtn {display: flex; align-items: center; color: var(--green-450); font-size: var(--fs-middle03);}
.welcome__whatBtn::after { content: ""; display: inline-block; width: 0.9em; height: 0.9em; background: url(../img/icon_link.svg) no-repeat center / contain; margin-left: 0.5em; vertical-align: middle;}
.welcome__illustBox{ position: relative; max-width: 1100px;  margin: var(--sp-5xl) auto 0;}
.welcome__illustBox::before{ content: ""; display: block; width: 100%; height: 24vw;}
.welcome__illustBox figure{ position: absolute;}
.welcome__illustBox figure:nth-of-type(1){ position: absolute; z-index: 1; width: 419px; top: 0; left: 392px;}
.welcome__illustBox figure:nth-of-type(2){ position: absolute; z-index: 2; width: 419px; top: 38px; left: 179px;}
.welcome__illustBox figure:nth-of-type(3){ position: absolute; z-index: 3; width: 419px; top: 78px; left: 427px;}
.welcome__illustBox figure:nth-of-type(4){ position: absolute; z-index: 4; width: 419px; top: 157px; left: 209px;}
.welcome__illustBox figure:nth-of-type(5){ position: absolute; z-index: 5; width: 419px; top: 45px; left: 680px;}
.welcome__illustBox figure:nth-of-type(6){ position: absolute; z-index: 6; width: 419px; top: 97px; left : 0;}

.welcome__newDetailBox{ background: var(--green-50);}
.welcome__newTit{ padding: 0.5em; width: 100%; text-align: center; font-size: var(--fs-middle01); letter-spacing: 0.1em;}
.welcome__newTit span { display: block; position: relative; z-index: 1;}
.welcome__newTit::after { content: ""; display: block; width: 100%; height: 28px; margin: 0 auto; background: url("../img/bg_tit.svg") no-repeat center center/ contain; transform: translateY(-60%);}
.welcome__newTxt { line-height: 1.875;}
.welcome__newTxt01{ font-size: var(--fs-middle03); text-align: center;margin: 0 0 var(--sp-3xl);}
.welcome__newRow {align-items: flex-start;}
.welcome__newRow .colL { width: 50%; }
.welcome__newRow .colL .photo img { width: 100%;}
.welcome__newRow .colR { width: 46.5%;}
.welcome__newRow .colR .welcome__newTxt02 { margin-bottom: var(--sp-xl); }
.welcome__newRow .colR .welcome__newTxt03 { margin-bottom: var(--sp-xl); }
.welcome__newRow .colR__inner { align-items: flex-start;}
.welcome__newRow .colR__inner figure:first-of-type{width: 38.257%;}
.welcome__newRow .colR__inner figure:nth-of-type(2){width: 59.31%;}

.welcome__newDetailBox.box01 .welcome__newRow {row-gap: var(--sp-3xl);}
.welcome__newDetailBox.box01 { padding: var(--sp-4xl) 6.819% var(--sp-lg);}
.welcome__newDetailBox.box02 { padding: var(--sp-4xl) 6.819% var(--sp-5xl);}
.welcome__newDetailBox.box02 .welcome__newRow .colL .photo:first-of-type{ margin-bottom: var(--sp-3xl);}

@media (max-width: 1099px){
  .welcome__illustBox figure:nth-of-type(1){ width: 38vw; top: 0; left: 35.63vw;}
  .welcome__illustBox figure:nth-of-type(2){ width: 38vw; top: 3.45vw; left: 16.3vw;}
  .welcome__illustBox figure:nth-of-type(3){ width: 38vw; top: 7.09vw; left: 38.8vw;}
  .welcome__illustBox figure:nth-of-type(4){ width: 38vw; top: 14.27vw; left: 19vw;}
  .welcome__illustBox figure:nth-of-type(5){ width: 38vw; top: 4.3vw; left: 61.8vw;}
  .welcome__illustBox figure:nth-of-type(6){ width: 38vw; top: 8.81vw; left : 0;}
  }

@media (max-width: 768px){
  .welcome__tit{ text-align: center;}
  .welcome__copy{ font-size: 20px; letter-spacing: 0.1em;}
  .welcome__what::before,
  .welcome__what::after{ display: block; width: 100%; content: url(../img/frame_what_sp.svg); }
  .welcome__whatInner {padding: 0 var(--sp-lg) var(--sp-xl);}
  .welcome__whatInner .colL { width: 60%; max-width: 380px; margin: -15% 0 var(--sp-xl) 5%;}
  .welcome__whatInner .colR { width: 100%; }
  .welcome__whatInner .colR .welcome__whatTxt:not(:last-of-type) { margin-bottom: 0;}
  .welcome__new.container {width: 100%;}
  .welcome__newTxt01{ text-align: left};
  .welcome__newDetailBox.box01 { padding: var(--sp-2xl) 6.819% var(--sp-md);}
  .welcome__newDetailBox.box02 { padding: 0 6.819% var(--sp-md);}
  .welcome__newRow .colL { width: 100%; }
  .welcome__newRow .colR { width: 100%; display: flex; flex-direction: column;}
  .welcome__newRow .colR .welcome__newTxt03 {margin-top: var(--sp-3xl);}
  .welcome__newRow .colR .welcome__newTxt02 {order: -1;}
  .welcome__newRow .colR__inner {order: -1; margin-bottom: var(--sp-3xl);}
  .welcome__imgBox figure:nth-of-type(2){ width: 8.1824%;top: 61.5vw; left: auto; right: 1vw;}
  .welcome__imgBox figure:nth-of-type(3){ display: none;}
  .welcome__imgBox figure:nth-of-type(4){ width: 20.512%;top: 2vw; left: 1.5vw;}
  .welcome__imgBox figure:nth-of-type(5){ width: 26.07816%;top: auto; bottom: -0.5vw; right: 0;}

  .welcome__illustBox{
    margin-left: -16px;
  } 

}

/* concept */
.concept__gridBox {position: relative;}
.concept__gridBox .row01 {margin-bottom: var(--sp-xxs);}
.concept__gridBox .row01 .col1{ flex: 0 0 46.637%; }
.concept__gridBox .row01 .col2{ flex: 0 0 52.95%; }
.concept__gridBox .row01 .col2 > figure {margin-bottom: var(--sp-xxs);}
.concept__gridBox .row01 .row__inner01 figure:nth-child(1) {width: 50.649%;}
.concept__gridBox .row01 .row__inner01 figure:nth-child(2) {width: 48.073%;}

.concept__gridBox .row02 .col1{ flex: 0 0 27.28%; }
.concept__gridBox .row02 .col1 figure:first-of-type {margin-bottom: var(--sp-xxs);}
.concept__gridBox .row02 .col2{ flex: 0 0 24.56%; }
.concept__gridBox .row02 .col3{ flex: 0 0 46.9848%; }
.concept__txtBox{ max-width: 100%; width: 100%; margin: 0 auto; text-align: center;}
.concept__txt{font-size: var(--fs-middle03); max-width: 100%; width: 100%; margin: 0 auto; text-align: center;line-height: 2.5;margin-bottom: var(--sp-5xl);}
.concept__logo {margin: var(--sp-7xl) 0;}
.concept__logo img{margin: 0 auto;}
.concept__tit {font-size: min(8vw, var(--fs-large01)); text-align: center; margin-bottom: var(--sp-4xl);color: var(--green-500);font-weight: normal;}
.concept__copy {font-size: var(--fs-large03); text-align: center;line-height: 2; margin-bottom: var(--sp-3xl);}

@media screen and (max-width: 768px) {
  .concept__logo {margin: var(--sp-3xl) 0;}
  .concept__logo img {max-width: 26.67%;}
  .concept__tit {margin-bottom: var(--sp-2xl);}
  .concept__copy {font-size: var(--fs-middle01);}
}

@media screen and (max-width: 480px) {
  .concept__gridBox .row01 {flex-direction: column;}
  .concept__gridBox .row01 .col1 {width: 100%;margin-bottom: var(--sp-xxs);}
  .concept__gridBox .row02 .col1 {flex: 0 0 51%; width: 51%;align-self: self-start;}
  .concept__gridBox .row02 .col1 figure:first-of-type {margin-bottom: var(--sp-xs);}
  .concept__gridBox .row02 .col2 {flex: 0 0 48%; width: 48%;}
  .concept__gridBox .row02 .col3 {flex: 0 0 100%; width: 100%;margin-top: var(--sp-xs);}
}

/* Office */
#office .box01 .borderTit::before {width: 272px; height: 104.5px; background: url(../img/office_floor_illus.webp) no-repeat center center/ contain;}
#office .box02 .borderTit::before {width: 272px; height: 104.5px; background: url(../img/office_spec_illus.webp) no-repeat center center/ contain;}
#office .box03 .borderTit::before {width: 272px; height: 104.5px; background: url(../img/office_layout_illus.webp) no-repeat center center/ contain;}

#office .office__head {align-items: flex-start;margin-bottom: var(--sp-3xl); row-gap: var(--sp-lg);}
#office .office__head .right { width: 30.3636%;}

#office .office__mapBdTit {font-size: var(--fs-middle04); background: var(--green-500); border: 1px solid var(--green-500);}
#office .office__mapBdTit p { line-height: 1;}
#office .office__mapBdTit p:nth-of-type(1) { color: var(--white-100); padding: 0.3em 1.5em 0.6em 1.5em; }
#office .office__mapBdTit p:nth-of-type(2) { background: var(--white-100); padding: 0.3em 1.5em 0.6em 1em;display: flex;align-items: flex-end;}
#office .office__mapBdTit p:nth-of-type(2) span:first-of-type {padding-right: 1em;align-self: center;}
#office .office__mapBdTit p .fs-40 { font-size: 2em;}
#office .office__mapBdTit p .fs-36 { font-size: 1.8em;}
#office .office__mapBdTit p .fs-25 { font-size: 1.3em;}
#office .office__mapIconList { display: flex;gap: 0.5em;}
#office .office__mapIconList:first-of-type {margin-bottom: var(--sp-xs);}
#office .office__mapIconList li { font-size: var(--fs-small); display: flex; align-items: center; gap: 0.5em;}

#office .office__mapBox { margin-top: var(--sp-4xl);}

#office .office__mapSpec .row02 { margin-top: var(--sp-xl);}
#office .office__mapSpecTit { font-size: var(--fs-middle04); line-height: 2;}
#office .office__mapSpecListItem { height: min(14vw, 125px); width: 28.46%; font-size: var(--fs-middle04);}
#office .office__mapSpecListItem p.txtLeft {text-align: left;}
#office .office__mapSpecListItem .fs-40 { font-size: min(3vw, 2em);}
#office .office__mapSpecListItem .fs-30 { font-size: min(2.5vw, 1.67em);}
#office .office__mapSpecListItem .fs-24 { font-size: min(1.5vw, 1.2em);}
#office .office__mapSpecLeft {background: var(--green-300);color: var(--white-100); width: 33.045%;height: 100%; padding: var(--sp-xs);text-align: center;}
#office .office__mapSpecLeft p:first-child { margin-bottom: var(--sp-xs);}
#office .office__mapSpecRight {background: var(--green-200);color: var(--black-100); width: 65.1226%;height: 100%; padding: var(--sp-xs);text-align: center;}

#office .office__specDetail { width: fit-content; padding: var(--sp-xs) var(--sp-xl) var(--sp-xs) var(--sp-md) ;background: var(--green-100);margin-top: var(--sp-xxs);}
#office .office__specBox {margin-bottom: var(--sp-xl);}

#office .office__facilityList { margin: var(--sp-2xl) 0 var(--sp-md); align-items: flex-start;row-gap: var(--sp-xl);}
#office .office__facilityListItem {flex-wrap: unset; justify-content: flex-start; align-items: flex-start;}
#office .office__facilityListItem:nth-of-type(1) { flex: 0 0 33%;}
#office .office__facilityListItem:nth-of-type(2) { flex: 0 0 36%;}
#office .office__facilityListItem:nth-of-type(3) { flex: 0 0 26%;}
#office .office__facilityListItem:nth-of-type(4) { flex: 0 0 33%;}
#office .office__facilityListItem:nth-of-type(5) { flex: 0 0 36%;}
#office .office__facilityListItem:nth-of-type(6) { flex: 0 0 26%;}
#office .office__facilityListItem figure {min-width: 54px;margin-right: var(--sp-md);}

#office .office__photoList { justify-content: flex-start;gap: var(--sp-xxs);margin-top: var(--sp-4xl);}

#office .box04 .borderTit::after { margin-left: 0;}
#office .box04 .office__head { margin-bottom: 0;}
#office .box04  .office__mapBox {margin-top: var(--sp-xl);}
#office .box04  .office__mapTxtList { margin-top: var(--sp-lg);}


@media (min-width: 1200px) {
  #office .office__mapBox {margin-right: -80px;}
}

@media (max-width: 768px) {
  #office .office__head .right {width: fit-content;}
  #office .office__mapBdTit p .fs-40 { font-size: 1.6em;}
  #office .office__mapBdTit p .fs-36 { font-size: 1.4em;}
  #office .office__mapBdTit p .fs-25 { font-size: 1em;}
  #office .office__mapSpec .row01 {row-gap: var(--sp-md);}
  
  #office .office__mapSpecListItem {width: 31%;}
  #office .office__mapBox { margin-top: var(--sp-xl);}
  
  #office .office__mapIconList li img {max-width: 20px;}

  #office .office__facilityListItem {flex: 0 0 100% !important;}
  #office .office__floorBox.box02 .caption {text-align: left;}
}

@media (max-width: 580px) {
  #office .office__mapBdTit p:nth-of-type(1) {width: 100%; text-align: center;}
  #office .office__mapBdTit p:nth-of-type(2) {width: 100%; justify-content: center; padding: 0.3em 0 0.6em;}
  #office .office__mapBdTit p:nth-of-type(2) span:first-of-type {padding-right: 0.5em;}

  #office .office__mapSpecListItem {flex: 0 0 100%;margin-bottom: var(--sp-md);height: min(26vw, 120px);}
  #office .office__mapSpecListItem .fs-40 { font-size: min(6vw, 2em);}
  #office .office__mapSpecListItem .fs-30 { font-size: min(5vw, 1.67em);}
  #office .office__mapSpecListItem .fs-24 { font-size: min(3vw, 1.2em);}
}

/* Common */
#common .borderTit::before {width: 164px; height: 149px; background: url(../img/illust_common01.webp) no-repeat center center/ contain;}
#common .common__mapIconList { justify-content: flex-start;padding: var(--sp-4xl)  var(--sp-md); gap: var(--sp-md);}
#common .common__mapIcon {gap: var(--sp-xxs);font-size: var(--fs-small);}
#common .common__renewal {}
#common .common__bgList {row-gap: var(--sp-lg);text-align: center;}
#common .common__renewalTit {font-size: var(--fs-middle04);line-height: 1.8;}
#common .common__bgListItem {width: 32.62%; font-size: var(--fs-middle04);}
#common .common__bgListYear {background: var(--green-250); font-size: 1.1em;}
#common .common__bgListTxt {background: var(--green-50);padding: var(--sp-md) 0;align-content: center;}
#common .common__bgListTxt .fs-25 {font-size: 1.39em;}

#common .common__facility {background: var(--green-200);margin-top: var(--sp-7xl);padding: var(--sp-3xl) var(--sp-4xl) var(--sp-4xl);}
#common .common__facilityTit {text-align: center;font-size: var(--fs-middle01);margin-bottom: var(--sp-lg);}
#common .common__faclilitySubTit {text-align: center;font-size: var(--fs-middle03);margin-bottom: var(--sp-md);}
#common .common__facilityTxt {line-height: 1.8;margin-bottom: var(--sp-lg);}

#common .common__photoGrid {row-gap: var(--sp-lg);}
#common .common__photoRow {flex-wrap: unset; column-gap: var(--sp-md);}

@media (min-width: 769px) {
  #common .common__bgListItem:first-of-type .common__bgListTxt {min-height: min(15.4vw, 136.567px);}
  #common .common__bgListItem:nth-of-type(4) .common__bgListTxt {min-height: min(12vw, 107.067px);}
}

@media (min-width: 769px) and (max-width: 1120px) {
  #common .common__bgListItem:first-of-type .common__bgListTxt,
  #common .common__bgListItem:nth-of-type(3) .common__bgListTxt {
    min-height: min(17.8vw, 163.433px);
  }
}

@media (max-width: 768px) {
  #common .borderTit::before {margin-bottom: var(--sp-2xl);}
  #common .common__mapIcon img {max-width: 20px;}
  #common .common__facility {padding: var(--sp-3xl) var(--sp-lg) var(--sp-4xl);}
  #common .common__bgListItem {width: 100%;}
}

@media (max-width: 480px) {
}

/* business */
#business .borderTit::before {width: 272px; height: 104.5px; background: url(../img/business_con_plan_illus.webp) no-repeat center center/ contain;}
#business .business__Txt {font-size: var(--fs-middle04);}
#business .business__colorTit {font-size: var(--fs-middle02); color: var(--green-500); font-weight: bold; margin-bottom: var(--sp-lg);}
#business .business__bcpBox {align-items: flex-start; row-gap: var(--sp-3xl);}
#business .business__bcpBox p {line-height: 1.8;}
#business .business__inner {width: 48.1818%;}
#business .business__inner .fs-18 {font-size: 1.125em;}
#business .business__inner .fs-24 {font-size: 1.5em;}
#business .business__inner.right figure {background: var(--neutral-100); padding: var(--sp-lg) 0;margin-top: var(--sp-md);}
#business .business__inner.right figure img { margin: 0 auto;}
#business .business__bgTit {font-size: var(--fs-middle03);background: var(--green-450); font-weight: bold; padding: var(--sp-xxs) 0; text-align: center;color: var(--white-100);margin: var(--sp-xl) 0 var(--sp-lg);}
#business .business__bgTxt {background: var(--green-200);text-align: center;}
#business .business__bgTxt01 {margin-top: var(--sp-md);}
#business .business__bglist {margin: var(--sp-md) 0;}
#business .business__bglist .business__bgTxt {width: 40.9%;line-height: 1.2; padding: var(--sp-xs) 0;}

#business .business__topic02 .business__bglist .business__bgTxt {width: 30%;}
#business .business__topic02 .business__bglist .business__bgTxt:nth-of-type(2) {width: 37%;font-size: 0.98em;}

@media (min-width: 769px) {
  #business .business__topic02 .business__bglist .business__bgTxt:nth-of-type(2) {min-height: 66.4px;}
}

@media (max-width: 768px) {
  #business .borderTit::before {margin-bottom: var(--sp-2xl);}
  #business .business__inner {width: 100%;}
  #business .business__bglist .business__bgTxt {width: 38%;}
  #business .business__inner .fs-18 {font-size: 0.8em;}
  #business .business__inner .fs-24 {font-size: 1.2em;}
  #business .business__topic02 .business__bglist .business__bgTxt {width: 28%;min-height: 48.9px;align-content: center;}
  #business .business__topic02 .business__bglist .business__bgTxt:nth-of-type(2) {width: 42%;}
  #business .business__topic02 .business__bglist .business__bgTxt:nth-of-type(2) {font-size: 0.9em;}
  #business .business__topic02 .business__bglist .business__bgTxt:nth-of-type(3) {font-size: 0.9em;}
}

/* location-map */
#location .txtRed {color: var(--red-500);}
#location .location__Box01 .borderTit::before {width: 167px; height: 131px; background: url(../img/illust_location01.webp) no-repeat center center/ contain;}
#location .location__headTxt {font-size: var(--fs-middle03); line-height: 2;margin-bottom: var(--sp-3xl);}
#location .location__inner {align-items: flex-start; margin: var(--sp-2xl) 0 var(--sp-lg);row-gap: var(--sp-md);}
#location .location__accessStation {font-size: var(--fs-large06);line-height: 1; margin-bottom: var(--sp-xl);}
#location .location__accessStation .fs-60 {font-size: 1.875em;}
#location .location__accessStation .fs-48 {font-size: 1.5em;}
#location .location__accessStation .fs-20 {font-size: 0.625em;}
#location .location__accessStation .line {display: block;line-height: 1.5;}
#location .location__accessStation .route {display: block;line-height: 1.5;}

#location .locaiton__tokyoTit {font-size: var(--fs-middle02); line-height: 1; margin-bottom: var(--sp-lg);}
#location .locaiton__tokyoTit .fs-60 {font-size: 2.4em;}
#location .locaiton__tokyoTxt {line-height: 1.8;}
#location .location__tokyoPhoto {margin-bottom: var(--sp-4xl);}

#location .location__Box01 .location__inner .left {width: 50%;}
#location .location__Box01 .location__inner .right {width: 45.77%;background: var(--green-150); padding: var(--sp-xl);}

#location .location__Box02 .borderTit {color: var(--black-100);}
#location .location__Box02 .borderTit::after {position: absolute; bottom: 180%; left: 0; background: var(--black-100); margin-left: 0; width: 100%;}
#location .location__Box02 .location__headCopy {font-size: var(--fs-middle03);}
#location .location__Box02 .location__inner .left {width: 36%;}
#location .location__Box02 .location__inner .right {width: 63%;}


@media screen and (max-width: 1200px) {
  #location .location__Box02 .location__inner .left {width: 100%;}
  #location .location__Box02 .location__inner .right {width: 100%;}
}

@media screen and (max-width: 768px) {
  #location .location__accessStation {margin-bottom: var(--sp-lg);line-height: 1.2;}
  #location .location__accessStation .fs-60 {font-size: 1.5em;}
  #location .location__accessStation .fs-48 {font-size: 1.2em;}
  #location .location__accessStation .fs-20 {font-size: 0.5em;}

  #location .locaiton__tokyoTit .fs-60 {font-size: 2.2em;}

  #location .location__Box01 .location__inner {row-gap: var(--sp-3xl);}
  #location .location__Box01 .location__inner .left {width: 100%;}
  #location .location__Box01 .location__inner .right {width: 100%;}
}

/* outline */
#outline {position: relative;}
#outline::after{ margin-top: var(--sp-8xl); content: ""; width: 100%; height: 125px; display: block; background: url(../img/img_illust_contact.webp) no-repeat center bottom/ contain;margin-bottom: -5px;}
#outline .outline__box {max-width: 700px;}
#outline .outline__box.box01 {margin: var(--sp-7xl) auto var(--sp-4xl);} 
#outline .outline__subTit {font-size: var(--fs-middle02); padding-bottom: var(--sp-lg); margin-bottom: var(--sp-2xl);text-align: center; border-bottom: 1px solid var(--black-100);}
#outline .outline__item {border-bottom: 1px solid var(--black-100);padding: var(--sp-xxs) 0 var(--sp-xxs) var(--sp-xs);}
#outline .outline__item .name {width: 28.95%;}
#outline .outline__item .detail {width: 62.05%;}
#outline .outline__box.box02 {margin: 0 auto var(--sp-8xl);}
#outline .outline__box.box02 .outline__inner {margin-bottom: var(--sp-md);}
#outline .outline__box.box02 .caption {padding-left: var(--sp-xs);}

@media screen and (max-width: 768px) {
  #outline .outline__box.box01 {margin: var(--sp-4xl) auto var(--sp-2xl);}
  #outline .outline__item {align-items: flex-start;}
  #outline .outline__subTit {padding-top: var(--sp-lg); border-top: 1px solid var(--black-100);margin-bottom: var(--sp-lg);}
  #outline .outline__item {border: none; justify-content: flex-start;}
  #outline .outline__item .name {width: auto;}
  #outline .outline__item .name::after {content: ":"; margin: 0 4px;}
  #outline .outline__item .detail {width: auto;}
  #outline .outline__box.box02 {margin: 0 auto var(--sp-xl);}
  #outline::after {margin-top: var(--sp-2xl);}
}

/* contact */
#contact { background-color: var(--neutral-150); padding-bottom: var(--sp-4xl);}

#contact h3 { font-size: var(--fs-large02); color: var(--green-700); font-weight: normal; text-align: center; margin-bottom: var(--sp-2xl); letter-spacing: 0.1em; line-height: 1.5; text-transform: uppercase;
}
#contact h3 .attachTxt { display: block; font-size: var(--fs-body); color: var(--black-100); letter-spacing: 0.08em;}

#contact form { width: min(600px, 100%); margin-inline: auto;}
#contact form div { margin: 0 0 20px 0;}
#contact form div span { font-weight: 500; letter-spacing: 0.2em; }
#contact form div span small { font-size: var(--fs-small); color: var(--red-500);}
#contact form div input { display: block; width: 100%; padding: 12px 5px; border: 1px solid #808080; font-size: var(--fs-middle04);}
#contact form .privacy { font-size: var(--fs-small); padding: 30px 0 0 0; margin: 0 auto 20px auto; display: flex; justify-content: center;align-items: flex-start;line-height: 1;}
#contact form .privacy input { width: auto; margin: 0 5px 0 0;}
#contact form .privacy a { color: #251e1c; text-decoration: underline;}
#contact form .privacy a:hover { text-decoration: none;}
#contact form .privacy label {display: block;}
#contact form #submit { width: 280px; margin-inline: auto;}
#contact form #submit #submit-button { color: #fff; text-align: center; cursor: pointer; background-color: var(--green-700);}
#contact form #submit #submit-button[disabled] { background-color: #ccc;cursor: not-allowed;border-color: #ccc;}

#formWrap { width:700px; margin:0 auto; padding: var(--sp-4xl) 0; color:#555; line-height:120%; font-size:90%;}
#formWrap h3{ margin-bottom: 1em;}
#formWrap p{ margin-bottom: 1em;}
#formWrap form input[type="submit"], #formWrap form input[type="reset"], #formWrap form input[type="button"]{ display: inline-block; margin-top: var(--sp-2xl); border: none; width:200px; height:40px; background: var(--green-600); color: var(--white-100);}
#formWrap form input#back{ background: var(--green-300);}
table.formTable{ width:100%; margin:0 auto; border-collapse:collapse;}
table.formTable td,table.formTable th{ border:1px solid #ccc;padding:10px;} 
table.formTable th{ width:30%; font-weight:normal; background:#efefef;text-align:left;}
p.error_messe{ margin:5px 0; color:red;}

#thanks { margin:0 auto; padding: var(--sp-4xl) 0; line-height:120%; font-size: var(--fs-body); text-align: center;}
#thanks .toTop{ display: block; max-width: 300px; margin: var(--sp-2xl) auto; padding: 1em 0.5em; background: var(--green-700); color: var(--white-100); text-align: center; }

@media screen and (max-width:768px) {
  #formWrap { width:95%; margin:0 auto;}
  table.formTable th, table.formTable td { width:auto; display:block;}
  table.formTable th { margin-top:5px; border-bottom:0;}
  form input[type="submit"], form input[type="reset"], form input[type="button"] { display:block; width:100%;height:40px;}
}