@charset "utf-8";

body { 
    min-width:0; 
    padding-top: 80px;
}

/* レイアウト */
#header { height:80px; width:100%; min-width:0; background:#fff; position:relative; left:0px; top:0px; z-index:100; border-bottom:1px solid #ccc; /* box-shadow:0 1px 4px 0 rgba(0,0,0,0.2); */ margin:0; }
#header_inner { height:auto; width:100% !important; height:80px; margin:0; position:relative; padding: 0 !important; }
.mobile .mobile_header_fix #header { position:fixed; }
.mobile .mobile_header_fix #main_contents { margin-top:56px; }
.mobile .mobile_header_fix #header_slider { margin-top:56px; }
.mobile .home.mobile_header_fix #main_contents { margin-top:0; }

#main_contents { width:auto; margin:0 auto; padding:0; }
#main_col { width:auto; margin:0; padding:30px 20px 0; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box; }
#left_col { width:auto; float:none; padding:0 0 30px 0; }
#side_col { width:auto; float:none; padding:0 0 30px 0; }

.page-template-page-noside #main_col, .page-template-page-noside-notitle #main_col, .error404 #main_col { width:auto; float:none; margin:0 auto; }
.page #main_col { margin-top:15px; padding-top:15px; }



/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
.spNone,
.brPc,
.imgPc{
    display:none;
}
.spOnly{
    display:block;
}
.brSp,
.imgSp{
    display:inline;
}
.imgR{
    width:100%;
    height:auto;
}



/* ----------------------------------------------------------------------
トップページ
---------------------------------------------------------------------- */
/* スライダー */
#header_slider { width:100%; height:auto; position:relative; min-width:0; margin:0 0 0 0; }
#header_slider .item { width:100%; height:auto; min-width:0; overflow:hidden; }
#header_slider .item img { width:100%; height:auto; }
#header_slider .caption { width:100%; padding:0 20px; top:50%; }
#header_slider .caption .title { line-height:150%; font-size:20px !important; }
#header_slider .caption .button { font-size:14px; text-decoration:none; padding:0 20px; height:40px; line-height:40px; display:inline-block; margin:20px 0 0 0; }

@media screen and (max-width:500px) {
    #header_slider .item img { width:100%; height:auto; }
}

@media screen and (orientation: landscape) {
   #header_slider .caption .title { font-size:24px !important; }
   #header_slider .caption .button { font-size:16px; }
}


/* ヘッダーコンテンツ */
#header_content { width:100%; margin:0; padding:0; }
.mobile_header_fix #header_content { margin:55px 0 30px; }
#header_content .item { float:left; width:50%; height:400px; }
#header_content img { width:100%; }
#header_content .image:before { width:100%; height:400px; }
#header_content .catch { width:100%; padding:0 20px; bottom:auto; bottom:50px; }
#header_content .desc { width:100%; padding:0 20px; font-size:13px !important; }
@media screen and (max-width:400px) {
  #header_content .item { height:300px; }
  #header_content .catch { padding:0 15px; bottom:auto; bottom:23px; font-size:15px !important; }
  #header_content .desc { padding:0 15px; font-size:11px !important; }
}

/* #header_panel */
#header_panel .inner{ width: 89.333%; max-width: none;}
#header_panel .boxTxt{ 
  padding-top: 61vw;
  padding-left: 35px;
}
#header_panel .boxTxt .txtMain{ font-size: 30px;}
#header_panel .boxTxt .txtSub{ 
  font-size: 11px;
  letter-spacing: 1px;
  margin-top: 18px;
}
#header_panel .boxTxt::before {
  width: 172px;
  height: 277px;
}
@media screen and (max-width:359px) {
  #header_panel .boxTxt{ padding-top: 51vw;}
}

/* secConcept */
.secConcept{
  padding: 48px 0 0;
  overflow: visible;
}
.secConcept .secConceptIn{
  width: 100%;
  margin: 0 auto;  
}
.secConcept .secTit{
  top: 15px;
  left: 5px;
  width: 19px;
}
.secConcept .secImg{
  top: 0;
  right: 0;
  left: auto;
  width: 81.067%;
}
.secConcept .secTxt{
  padding: 76.267vw 20px 0;
  position: relative;
}
.secConcept .secTxt .txtMain{
  font-size: 22px;
  letter-spacing: 5px;
  line-height: 1.818;
  background: #fff;
  padding: 7px 10px 0 0;
  display: inline-block;
}
.secConcept .secTxt .conceptList{
  margin-top: 30px;
  justify-content: space-between;
  width: 100%;
}
.secConcept .secTxt .listItem{
  width: 28.533vw;
  height: 32.267vw;
  background: url(../img/index/bgConcept_sp.gif) center / contain no-repeat;
  padding-top: 6.667vw;
}
.secConcept .secTxt .listItem:nth-child(n+2){
  margin-left: 1.867vw;
}
.secConcept .secTxt .listItem .itemTit{
  font-size: 10px;
  letter-spacing: 0.1px;
  text-align: center;
}
.secConcept .secTxt .listItem .txt01{
  font-size: 10px;
  letter-spacing: 0;
  line-height: 1.6;
  margin-top: 4px;
  text-align: center;
}
.secConcept .secTxt .listItem .txt02{
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.454;
  margin-top: 1px;
  text-align: center;
}
.secConcept .secBtn{
  margin-top: 35px;
}
@media screen and (max-width:350px) {
  .secConcept .secTxt {
    padding: 76.267vw 15px 0;
  }
  .secConcept .secTxt .txtMain {
    font-size: 19px;
    letter-spacing: 3px;
  }
  .secConcept .secTxt .listItem .itemTit,
  .secConcept .secTxt .listItem .txt01,
  .secConcept .secTxt .listItem .txt02{
    font-size: 2.667vw;
  }
}

/* cmnBtn */
.cmnBtn{
  width: 285px;
  height: 50px;
  border-radius: 25px;
  margin: 0 auto;
}
.cmnBtn .txt{
  font-size: 14px;
  letter-spacing: 0.1px;
}
.cmnBtn::after{
  right: 30px;
}

/* secSpBnr */
.secSpBnr{
  padding: 0 20px;
  margin-top: 38px;
}
.secSpBnr .spBnrIn{
  display: flex;
  justify-content: center;
}
.secSpBnr .boxImg{
  width: calc((100% - 5px) / 2);
  margin-left: 5px;
}
.secSpBnr .boxImg:nth-child(2n+1){
  margin-left: 0;
}

/* secCmnBnrRow */
.secCmnBnrRow{
  margin-top: 50px;
  padding: 0 20px;
}
.secCmnBnrRow .cmnBnrRowIn{
  display: block;
}
.secCmnBnrRow .boxImg{
  width: 100%;
  margin-left: 0;
}
.secCmnBnrRow .boxImg:nth-child(2n+1){
  margin-left: 0;
}
.secCmnBnrRow .boxImg:nth-child(n+2){
  margin-top: 30px;
}

/* プロジェクト　コンテンツ */
#index_project { width:100%; margin:0; /* padding:30px 20px 0; */ }
#index_project .catchphrase { margin:0 0 20px 0; }
#index_project .catchphrase .headline { font-size:21px !important; line-height:1.5; margin:0 0 20px 0; }
#index_project .catchphrase .desc { font-size:14px !important; text-align:left; margin-bottom:0; }


/* プロジェクトリスト */
#project_list li { width:33%; width:-webkit-calc(100% / 3); width:-moz-calc(100% / 3); width:calc(100% / 3); height:auto; }
#project_list img { width:100%; height:auto; }
#project_list .image:before { width:100%; height:auto; }
@media screen and (max-width:600px) {
  #project_list li { width:50%; height:auto; }
}

/* .secWorks */
.secWorks{
  margin-top: 92px;
  padding-bottom: 70px;
}
.secWorks::after{
  width: 44vw;
  height: 168.533vw;
}
.secWorks .secCmnTit{
  margin-top: -20px;
}
.secWorks .worksMain{
  margin-top: 37px;
  display: block;
}
.secWorks .worksMain .boxImg{
  width: 100%;
  height: 0;
  padding-top: calc((560 / 820) * 100%);
}
.secWorks .worksMain .boxTxt{
  width: 100%;
  padding-left: 0;
  padding-bottom: 32px;
  position: relative;
  margin-top: 20px;
}
.secWorks .worksMain .boxTxt::after{
  content: "";
  background: url(../img/common/iconArrow60_60_white.png) center / contain no-repeat;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  overflow: hidden;
  position: absolute;
  bottom: 0;
  right: 0;
  background-color: #08242d;
}
.secWorks .worksMain .boxTxt .cardTit{
  font-size: 16px;
  letter-spacing: 1px;
  line-height: 1.75;
  max-height: calc(1.75em * 2);
}
.secWorks .worksMain .boxTxt .cardTxt{
  font-size: 13px;
  font-weight: 400;
  line-height: 2.154;
  margin-top: 10px;
  max-height: calc(2.154em * 3);
}

.secWorks .boxSlider{
  margin-top: 40px;
}
.secWorks .boxSlider .swiper-container{
  width: 240px;
  overflow: visible;
  margin-left: 0;
}
.secWorks .boxSlider .swiper-wrapper{
  flex-wrap: nowrap;
}
.secWorks .boxSlider .swiper-slide{
  width: initial;
  margin-left: initial;
}
.secWorks .boxSlider .swiper-slide:nth-child(3n+1){
  margin-left: initial;
}
.secWorks .boxSlider .swiper-slide:nth-child(n+4){
  margin-top: 0;
}
.secWorks .boxSlider .aCardLink .boxTxt{
  padding: 20px 20px 36px;
}
.secWorks .boxSlider .aCardLink .boxTxt::after{
  width: 22px;
  height: 22px;
  bottom: 20px;
  right: 20px;
}
.secWorks .boxSlider .aCardLink .boxTxt .cardTit{
  font-size: 13px;
  letter-spacing: 0.1px;
  line-height: 1.846;
  max-height: 1.846em * 2;
}
.secWorks .boxSlider .aCardLink .boxTxt .cardTxt{
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.1px;
  line-height: 2;
  margin-top: 10px;
  -webkit-line-clamp: 4;
  max-height: 2em * 4;
}

.secWorks .secBtn{
  margin-top: 30px;
}

/* .secCmnTit */
.secCmnTit .titEn{
  font-size: 34px;
  letter-spacing: 4px;
}
.secCmnTit .titJp{
  font-size: 14px;
  letter-spacing: 1.5px;
  margin-top: 13px;
}

/* .secCmnSubTit */
.secCmnSubTit .titEn{
  font-size: 26px;
  letter-spacing: 2px;
}
.secCmnSubTit .titJp{
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 1px;
  margin-left: 16px;
}

/* News　コンテンツ */
#index_news { 
  width:100%; margin:0; 
  /* padding:30px 20px 0; */
}
#index_news .catchphrase { margin:0 0 22px 0; }
#index_news .catchphrase .headline { font-size:26px !important; margin-right:0; margin-bottom:14px; display:block; vertical-align:top; text-align:center; line-height:1.5; }
#index_news .catchphrase .desc { font-size:14px !important; display:block; vertical-align:top; }
.index_news_list .headline { width:50%; padding:0; text-align:center; }
.index_news_list .archive_link { width:50%; padding:0; text-align:center; }
.index_news_list { width:100%; margin:0 0 30px 0; }
.index_news_list ol a { display:block; border:1px solid #ddd; padding:12px 15px; height:auto; line-height:160%; }
.index_news_list ol a .entry-date { float:none; display: block; margin:0; font-size:12px; }
#index_event_list { float:none; }
#index_info_list { float:none; }


/* .secEvent */
.secEvent{
  padding: 49px 0 0;
}
.secEvent .boxEvent{
  margin-top: 35px;
}
.secEvent .eventList{
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
}
.secEvent .eventList .eventItem{
  width: calc((100% - 5px) / 2);
  margin-left: 0;
}
.secEvent .eventList .eventItem:nth-child(1){
  width: 100%;
}
.secEvent .eventList .eventItem:nth-child(2n+1){
  margin-left: 5px;
}
.secEvent .eventList .eventItem:nth-child(n+4),
.secEvent .eventList .eventItem:nth-child(n+2){
  margin-top: 20px;
}
.secEvent .eventList .aCardLink .boxTxt{
  padding: 18px 15px 33px;
}
.secEvent .eventList .eventItem:nth-child(1) .aCardLink .boxTxt{
  padding: 23px 20px 43px;
}
.secEvent .eventList .aCardLink .boxTxt::after{
  bottom: 15px;
  right: 15px;
  width: 22px;
  height: 22px;
}
.secEvent .eventList .eventItem:nth-child(1) .aCardLink .boxTxt::after{
  bottom: 20px;
  right: 20px;
  width: 30px;
  height: 30px;
}
.secEvent .eventList .aCardLink .boxTxt .date{
  font-size: 11px;
  letter-spacing: 0.1px;
}
.secEvent .eventList .eventItem:nth-child(1) .aCardLink .boxTxt .date{
  font-size: 14px;
}
.secEvent .eventList .aCardLink .boxTxt .cardTit{
  font-size: 12px;
  letter-spacing: 0.5px;
  line-height: 1.833;
  -webkit-line-clamp: 3;
  max-height: calc(1.833em * 3);
  margin-top: 4px;
}
.secEvent .eventList .eventItem:nth-child(1) .aCardLink .boxTxt .cardTit{
  font-size: 16px;
  line-height: 1.75;
  -webkit-line-clamp: 2;
  max-height: calc(1.75em * 2);
  margin-top: 11px;
}
.secEvent .eventList .aCardLink .boxTxt .cardTxt{
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 2;
  margin-top: 6px;
  max-height: calc(2em * 1);
}
.secEvent .eventList .eventItem:nth-child(1) .aCardLink .boxTxt .cardTxt{
  font-size: 13px;
  letter-spacing: 0.3px;
  line-height: 1.846;
  margin-top: 9px;
  max-height: calc(1.846em * 1);
}
.secEvent .eventList .aCardLink .boxTxt .cardTxt + .cardTxt,
.secEvent .eventList .eventItem:nth-child(1) .aCardLink .boxTxt .cardTxt + .cardTxt{
  margin-top: 0;
}
.secEvent .eventList .aCardLink .boxTxt .cardTxt:last-child{
  padding-right: 22px;
}
.secEvent .eventList .eventItem:nth-child(1) .aCardLink .boxTxt .cardTxt:last-child{
  padding-right: 30px;
}
.secEvent .secBtn{
  margin-top: 30px;
}
.secEvent .boxNews{
  margin-top: 90px;
}
.secEvent .newsInner{
  padding: 1px 0 70px;
}
.secEvent .newsInner .secCmnTit{
  margin-top: -20px;
}
.secEvent .newsList{
  margin-top: 25px;
  background: linear-gradient(to right, #969696, #969696 1px, transparent 1px, transparent 2px) left top / 2px 1px repeat-x;
  padding: 0;
}
.secEvent .newsList .listItem + .listItem{
  margin-top: 0;
  border-top: 1px solid #e6e6e6;
}
.secEvent .newsList .listItem:last-child{
  border-bottom: 1px solid #e6e6e6;
}
.secEvent .newsList .listItem .aBoxLink{
  display: block;
  padding: 18px 0 20px;
}
.secEvent .newsList .listItem .aBoxLink::after{
  display: none;
}
.secEvent .newsList .listItem .aBoxLink .date{
  padding: 0;
  font-size: 13px;
  width: 100%;
}
.secEvent .newsList .listItem .aBoxLink .txt{
  padding: 0;
  border-left: none;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.3px;
  max-width: none;
  margin-top: 11px;
}
.secEvent .boxNews .secBtn .cmnBtn.athome .txt::after {
  top: -6px;
  right: -8px;
}
.secEvent .boxNews .secBtn{
  display: block;
}
.secEvent .boxNews .secBtn .cmnBtn{
  margin: 0 auto;
}
.secEvent .boxNews .secBtn .cmnBtn + .cmnBtn{
  margin: 15px auto 0;
}
.secEvent .boxNews .secBtn .cmnBtn.athome{
  border: 1px solid #08242d;
}
.secEvent .boxNews .secBtn .cmnBtn.athome:hover{
  border: 1px solid #00516C;
}

/* .secModel */
.secModel .titWrap{
  background: url(../img/index/bgModel_sp.jpg) center / cover no-repeat;
  padding: 45px 0;
}
.secModel .modelIn{
  padding: 40px 0 50px;
}
.secModel .secModelCont .boxImg{
  font-size: 0;
}
.secModel .secModelCont .boxTxt{
  width: 100%;
  margin: 0;
  position: relative;
}
.secModel .secModelCont .boxTxt .txtIn{
  width: 100%;
  min-height: 0;
  display: block;
  margin: 0 auto;
}
.secModel .secModelCont .boxTxt .txtMain{
  width: 100%;
  display: block;
  padding: 27px 20px 30px;
  box-sizing: border-box;
}
.secModel .secModelCont .boxTxt .txtMain .tit{
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 1px;
}
.secModel .secModelCont .boxTxt .txtMain .txt{
  font-size: 13px;
  font-weight: 400;
  line-height: 1.846;
  letter-spacing: 0.3px;
  margin-top: 9px;
}
.secModel .secModelCont .boxTxt .boxBtn{
  width: 100%;
  position: relative;
  padding: 18px 0;
}
.secModel .secModelCont .boxTxt .boxBtn::after{
  content: "";
  margin: auto;
  background: url(../img/common/iconArrow36_24_white.png) center / contain no-repeat;
  width: 16px;
  height: 11px;
  position: absolute;
  right: 30px;
  bottom: 0;
  top: 0;
}
.secModel .secModelCont .boxTxt .boxBtn .txt{
  font-size: 13px;
  letter-spacing: 0.3px;
  padding: 0 0 0 29px;
}
.secModel .secModelCont .boxTxt .boxBtn .txt::before{
  left: 0;
  top: 0;
  bottom: 0;
  right: auto;
}
.secModel .secModelCont .boxTxt .boxBtn .txt::after{
  display: none;
}
.secModel .secModelCont .boxTxt .subTxt{
  display: none;
}

/* .secLineup */
.secLineup{
  margin-top: 80px;
}
.secLineup .lineupBody{
  margin-top: 35px;
}
.secLineup .boxFull::after{
  background: url(../img/index/imgLineupSub01.png) center / contain no-repeat;
  width: 82.667vw;
  height: 21.6vw;
  bottom: 33px;
  left: 6.4%;
}
.secLineup .boxFull .tit{
  width: 57.333vw;
  top: 8.533vw;
  bottom: auto;
}
.secLineup .boxHalfRow{
  margin-top: 2px;
  display: block;
}
.secLineup .boxHalf{
  width: 100%;
}
.secLineup .boxHalf + .boxHalf{
  margin-left: 0;
  margin-top: 2px;
}
.secLineup .boxHalf:nth-child(1):after{
  background: url(../img/index/imgLineupSub02.png) center / contain no-repeat;
  width: 34.667vw;
  height: 30.667vw;
  bottom: 23px;
  left: 36.8%;
}
.secLineup .boxHalf:nth-child(2):after{
  background: url(../img/index/imgLineupSub03.png) center / contain no-repeat;
  width: 39.2vw;
  height: 20.533vw;
  bottom: 31px;
  left: 34.667%;
}
.secLineup .boxHalf .tit{
  top: 8.533vw;
  bottom: auto;
}
.secLineup .boxHalf:nth-child(1) .tit{ 
  width: 69.867vw;
  top: 9.067vw;
}
.secLineup .boxHalf:nth-child(2) .tit{ 
  width: 72.533vw;
  top: 10.667vw;
}
.secLineup .boxBtnBtm{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.secLineup .boxFull .boxBtnBtm{background: #c2ab6f;}
.secLineup .boxHalf:nth-child(1) .boxBtnBtm{background: #65a457;}
.secLineup .boxHalf:nth-child(2) .boxBtnBtm{background: #a5363d;}
.secLineup .boxBtnBtm::after{
  content: "";
  background: url(../img/common/iconArrow32_22_white.png) center / contain no-repeat;
  width: 16px;
  height: 11px;
  position: absolute;
  right: 30px;
  top: 1px;
  bottom: 0;
  margin: auto;
}
.secLineup .boxBtnBtm .txt{
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.3px;
  color: #fff;
}

/* .secConceptBnr */
.secConceptBnr{
  margin-top: 80px;
}
.secConceptBnr .conceptBnrBody{
  margin-top: 35px;
}
.secConceptBnr .aBnrLink + .aBnrLink{
  margin-top: 2px;
}
.secConceptBnr .aBnrLink .boxTxt{
  left: 7.467vw;
  bottom: 10.667vw;
}
.secConceptBnr .aBnrLink .boxTxt .num{
  font-size: 24px;
  letter-spacing: 2px;
}
.secConceptBnr .aBnrLink .boxTxt .num::after{
  width: 20px;
  right: -26px;
  top: 5px;
}
.secConceptBnr .aBnrLink .boxTxt .subTit{
  margin-top: 10px;
  font-size: 26px;
  letter-spacing: 3px;
}
.secConceptBnr .aBnrLink .boxTxt .txt{
  margin-top: 10px;
  font-size: 13px;
  letter-spacing: 1px;
  line-height: 1.846;
}
.secConceptBnr .aBnrLink .boxTxt .txtMore{
  margin-top: 25px;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.5px;
}
.secConceptBnr .aBnrLink .boxTxt .txtMore::after{
  width: 22px;
  height: 22px;
  right: -30px;
  top: 1px;
}

/* .secAbout */
.secAbout{
  margin-top: 80px;
}
.secAbout .imgTop{
  margin-top: 35px;
  height: 160px;
}
.secAbout .imgTop img{
  left: calc(50% - 279px);
  height: 100%;
  width: auto;
}
.secAbout .boxTxt{
  margin: 31px auto 0;
  display: block;
}
.secAbout .boxTxt .boxLeft{
  width: 100%;
}
.secAbout .boxTxt .theme{
  font-size: 22px;
  letter-spacing: 4px;
  line-height: 1.818;
}
.secAbout .boxTxt .themeEn{
  font-size: 10px;
  letter-spacing: 0.2px;
  margin-top: 5px;
}
.secAbout .boxTxt .txt{
  font-size: 13px;
  letter-spacing: 0.1px;
  line-height: 2.308;
  margin-top: 27px;
}

/* secLinkBnr */
.secLinkBnr{
  margin-top: 45px;
}
.secLinkBnr .boxHalfRow{
  display: block;
}
.secLinkBnr .boxHalfRow .boxHalf{
  width: 100%;
}
.secLinkBnr .boxHalf + .boxHalf{
  margin-top: 20px;
}
.secLinkBnr .boxHalf .secTit{
  top: 45%;
}
.secLinkBnr .boxHalf .secTit::before{
  width: 55px;
  height: 55px;
  top: -60px;
}
.secLinkBnr .boxHalf:nth-child(2) .secTit::after{
  background: url(../img/index/imgStaff02_sp.png) center / contain no-repeat;
  width: 90px;
  height: 90px;
  top: -62px;
  right: -71px;
}
.secLinkBnr .boxHalf .secTit .titEn{
  font-size: 28px;
  letter-spacing: 3px;
}
.secLinkBnr .boxHalf .secTit .titJp{
  font-size: 16px;
  letter-spacing: 2px;
  margin-top: 10px;
}
.secLinkBnr .boxHalf .boxBtnBtm{
  right: 50px;
  bottom: 27px;
}
.secLinkBnr .boxHalf .boxBtnBtm .txt{
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 1px;
}
.secLinkBnr .boxHalf .boxBtnBtm .txt::after{
  width: 22px;
  height: 22px;
  right: -33px;
}
.secLinkBnr .boxFullBnr{
  margin-top: 40px;
}

/* .secMovie */
.secMovie{
  padding: 1px 0 45px;
  margin-top: 92px;
}
.secMovie .secCmnTit{
  margin-top: -20px;
}
.secMovie .movieBody{
  margin: 29px auto 0;
  display: block;
}
.secMovie .boxMovie{
  width: 100%;
}
.secMovie .boxMovie + .boxMovie{
  margin-left: 0;
  margin-top: 35px;
}
.secMovie .boxMovie .movieTit{
  font-size: 16px;
  letter-spacing: 1.5px;
  line-height: 1.5;
  margin-top: 15px;
}

/* ボックス　コンテンツ */
#index_box { min-width:0; }
#index_box_inner { width:100%; margin:0; padding:0 0 30px; }
.index_box_list li {
  float:none; width:100%; margin:0; padding:30px 20px 0;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
.index_box_list .headline { margin:0 auto 21px; }
.index_box_list .desc { margin:0 0 30px 0; height:auto; overflow:auto; }
.index_box_list .image { margin:0 auto; text-align:center; }
.index_box_list .image img { width:100%; height:auto; margin:0 auto; }


/* Blog　コンテンツ */
#index_blog .catchphrase { margin-bottom:22px; }
#index_blog_image { width:100%; margin:0; padding:30px 20px 0; }
#index_blog_image img { max-width:100%; height:auto; }
#index_blog { width:100%; margin:0; padding:30px 20px 10px; }

#index_blog .catchphrase .headline { font-size:26px !important; margin-right:0; margin-bottom:16px; display:block; vertical-align:top; text-align:center; line-height:1.5; }
#index_blog .catchphrase .desc { font-size:14px !important; margin:0; display:block; vertical-align:top; }
#index_blog .index_blog_link { margin:20px auto 0; position:relative; right:0; top:0; }

#index_blog .secBtn{ margin-top: 20px;}

#blog_list { margin-top: 30px;}
#blog_list li, #blog_list li:nth-child(3n) { width:50%; margin:0 0 10px 0; }
#blog_list .image { width:100%; height:auto; }
#blog_list .image img { width:100%; height:auto; }
#blog_list .info { padding:15px; }
#blog_list .title { min-height:0; font-size:13px; }
#blog_list .category { margin-top:0; }
#blog_list .category a { font-size:11px; padding:0 15px; margin:13px 0 0 0; height: 27px; line-height: 27px; font-size: 10px; }
#blog_list .date { font-size:11px; width:100px; height:25px; line-height:25px; }
@media screen and (max-width:480px) {
  #blog_list li, #blog_list li:nth-child(3n) { width:100%; margin:0 0 10px 0; }
}


/* ページナビ */
.page_navi { margin:30px 0 0 0; }




/* ----------------------------------------------------------------------
 プロジェクトページ
---------------------------------------------------------------------- */
/* アーカイブページ */
#archive_catchphrase { margin:0 0 30px 0; }
#archive_catchphrase .headline { font-size:21px !important; line-height:1.5; margin:0 0 20px 0; }
#archive_catchphrase .desc { font-size:14px !important; margin:0 0 20px 0; text-align:left; }


/* ソートボタンと記事一覧 */
#project_catgory_sort { margin:0 0 40px 0; }
#project_catgory_sort li {
  float:left; margin:0 0 -1px 0; width:33%; width:-webkit-calc(100% / 3); width:-moz-calc(100% / 3); width:calc(100% / 3);
}
#project_catgory_sort li:nth-child(3n), #project_catgory_sort li:last-child { border-right:1px solid #ccc; }
@media screen and (max-width:600px) {
  #project_catgory_sort li { width:50%; width:-webkit-calc(50%); width:-moz-calc(50%); width:calc(50%); }
  #project_catgory_sort li:nth-child(3n) { border-right:none; }
  #project_catgory_sort li:nth-child(2n), #project_catgory_sort li:last-child { border-right:1px solid #ccc; }
}
#project_catgory_sort .current-cat + li:nth-child(odd) { border-left: 1px solid #ccc; }


/* 詳細ページ */
#project_side_content { margin-top:56px; padding:10px 20px 0; }
#project_side_content h3 { margin:-35px -20px 26px; }
#project_side_content h4 { font-size:16px; line-height:1.4; }
#project_catch { font-size:12px; line-height:1.5; margin-top:3px; }
#project_side_content .post_content table { margin-bottom:27px; }
#project_side_content .post_content { margin-top:20px; }
#project_side_content .post_content p { font-size:12px; line-height:2.2; margin-bottom:15px; }
#project_side_content .post_content td { font-size:12px; }
#project_related { padding:30px 0 0 0; margin:0 0 10px 0; }
#project_related .headline { padding:0 20px; }

.project_bnrBtm { margin-top: 30px; padding: 0 20px}

/* ----------------------------------------------------------------------
 イベント・インフォメーション
---------------------------------------------------------------------- */
#archive_news_list .headline { padding:0 15px; }
#archive_news_list li a { padding:15px 55px 15px 15px; background:#fff; }
#archive_news_list li a:after { font-size:16px; right:13px; width:16px; height:16px; }
#archive_news_list li a .title { line-height:180%; font-size:13px; }
.archive #archive_news_list { margin:0 0 30px 0; }

/* infoページ　エリアリンク */
.secAreaLink{
  width: auto;
  margin: 0;
  padding: 30px 20px 0;
  box-sizing: border-box;
}
.secAreaLink .inner{
  width: auto;
  float: none;
  padding: 0 0 30px 0;
}
.secAreaLink .tit{
  font-size: 14px;
  letter-spacing: 1.5px;
  padding: 20px 0;
}
.secAreaLink .btnList{
  margin-top: 30px;
}
.secAreaLink .btnList .btnItem{
  width: calc((100% - 20px) / 3);
  margin-left: 10px;
}
.secAreaLink .btnList .btnItem:nth-child(3n+1){
  margin-left: 0;
}
.secAreaLink .btnList .btnItem:nth-child(n+4){
  margin-top: 10px;
}
.secAreaLink .btnList .aBtnLink{
  height: 88px;
  border-radius: 5px;
  flex-direction: column;
}
.secAreaLink .btnList .aBtnLink::before,
.secAreaLink .btnList .aBtnLink::after{
  position: static;
}
.secAreaLink .btnList .aBtnLink .txt{
  font-size: 13px;
  letter-spacing: 0.3px;
  padding: 0 5px;
  margin: -10px auto;
  text-align: center;
}



/* ----------------------------------------------------------------------
 アーカイブページ
---------------------------------------------------------------------- */
/* ヘッダーのキャッチフレーズ */
#archive_header { margin:0 0 30px; }
#archive_headline { font-size:21px!important; line-height:1.5; margin:10px 0; font-weight:200;font-weight:200;  }

#category_desc { font-size:14px!important; line-height:2.2; margin:10px 0 0 0; }




/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */
/* PCのスタイルをリセット　iPadの回転対策 */
.pc #header_logo #logo_text, .pc #header_logo #logo_image { width:auto; }


/* メニューボタン */
a.menu_button {
   position:absolute; right:0px; z-index:9;;
   display:inline-block; font-size:11px; color:#333; width:56px; height:56px; line-height:56px; text-decoration:none;
}
a.menu_button:hover, a.menu_button.active { background:#333; }
a.menu_button:hover:before, a.menu_button.active:before { color:#fff; }


/* グローバルメニュー */
#global_menu { display:none; clear:both; width:100%; margin:0; top:56px; position:absolute; z-index:9; box-shadow: 1px 2px 1.5px rgba(0, 0, 0, 0.1); -moz-box-shadow: 1px 2px 1.5px rgba(0, 0, 0, 0.1); -webkit-box-shadow: 1px 2px 1.5px rgba(0, 0, 0, 0.1); }
#global_menu ul { margin:0; }
#global_menu ul ul { display:none; }
#global_menu a {
  position:relative; display:block;  margin:0; padding:0px 15px; height:50px; line-height:50px; overflow:hidden; text-decoration:none;
  color:#fff; background:#333; font-size:13px;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#global_menu a:hover { color:#fff; }
#global_menu ul ul a { padding-left:28px; background:#222; }
#global_menu ul ul ul a { padding-left:42px; background:#111; }
#global_menu ul ul ul ul a { padding-left:55px; background:#000; }
#global_menu li.menu-item-has-children { position:relative; }
#global_menu .child_menu_button { display:block; position:absolute; text-align:center; width:60px; height:49px; right:0px; top:1px; z-index:9; cursor:pointer;  }
#global_menu .child_menu_button .icon:before {
  content:'+'; font-size:13px; color:#aaa; text-align:center;
  display:block; width:20px; height:20px; line-height:20px; border:1px solid #555; border-radius:100%;
  position:absolute; left:20px; top:15px;
}
#global_menu .child_menu_button.active .icon:before, #global_menu .child_menu_button:hover .icon:before { color:#fff; border-color:#fff; }
#global_menu li.menu-item-has-children.open > .child_menu_button .icon:before { content:'-'; }
#global_menu li.menu-item-has-children.open > ul { display:block; }

/* バーガーメニュー */
#header_menu_btn_wrap {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 80px;
    width: 100%;
    /* background-color: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px); */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    padding-right: 20px;
    box-sizing: border-box;
}

#header_mobile_icons {
    display: flex;
    gap: 8px;
    margin-right: 45px;
}

.header_icon_link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    text-decoration: none;
    position: relative;
    transition: background-color 0.3s ease;
}

.header_icon_link:hover {
    background-color: #555;
}

.header_icon_link .icon_text {
    color: #fff;
    font-size: 10px;
    font-weight: bold;
    text-align: center;
    line-height: 1;
}

#catalog_icon:hover {
    background-color: #3d6bb5;
}

#reserve_icon:hover {
    background-color: #c0392b;
}

#header_menu_btn{
    position: relative;
    top: 0;
    right: 0;
    width: 68px;
    height: 80px;
    background-color: transparent;
    font-size: 0;
    padding: 0;
}
#header_menu_btn .bar{
    width: 28px;
    background-color: #333;
    top: 0;
    bottom: 0;
    margin: auto;
}
#header_menu_btn .bar::before,
#header_menu_btn .bar::after{
    width: 28px;
    background-color: #333;
}
#header_menu_btn .bar::before{
    top: -11px;
}
#header_menu_btn .bar::after{
    top: 11px;
}
#header_menu_btn.active{
    background-color: transparent;
    position: relative;
    width: 68px;
    height: 80px;
    padding: 0;
    top: 0;
}
#header_menu_btn.active::before{
    font-size: 0;
}
#header_menu_btn.active .bar{
    top: 0;
}
#header_menu_btn.active .bar::before,
#header_menu_btn.active .bar::after{
    background-color: #fff;
}

/* ヘッダーメニュー */
#header_menu{
    align-items: flex-start;
    padding: 80px 20px 150px;
    box-sizing: border-box;
}
#header_menu .box_wrap{
    flex-direction: column;
}
#header_menu .box_left{
    order: 3;
    padding: 0;
    text-align: center;
    min-width: 0;
}
#header_menu .left_logo img{
    height: 54px;
    width: auto;
}
#header_menu .left_txt{
    font-size: 13px;
    letter-spacing: 1px;
    margin: 21px 0 0;
}
#header_menu .left_info{
    font-size: 11px;
    letter-spacing: 1px;
    line-height: 2.2;
    margin: 15px 0 0;
}
#header_menu .left_info a{
    color: #fff;
    text-decoration: underline;
}
#header_menu .left_info a[href^="tel"]{
    pointer-events: auto;
}
#header_menu .left_sns{
    margin: 20px 0 0;
    display: flex;
    justify-content: center
}
#header_menu .left_sns img{
    height: 25px;
    width: auto;
}
#header_menu .box_right{
    order: 1;
    width: 100%;
    padding: 0;
    border-left: none;
    border-top: solid 1px rgba(255,255,255,0.2);
}
#header_menu .nav_item{
    width: 100%;
    padding: 0;
    border-bottom: solid 1px rgba(255,255,255,0.2);
}
#header_menu .nav_item:nth-child(3n),
#header_menu .nav_item:nth-child(3n + 1){
    width: 100%;
}
#header_menu .nav_item a{
    display: block;
    padding: 17px 0 17px;
}
#header_menu .nav_item .nav_roman{
    display: none;
}
#header_menu .nav_txt{
    margin: 0;
}
#header_menu .nav_item.is-top .nav_txt{
    font-size: 0;
}
#header_menu .nav_item.is-top .nav_txt::before{
    content: "TOP";
    font-size: 14px;
}
#header_menu .box_btn{
    order: 2;
}
#header_menu .box_btn.spOnly{
    display: flex;
}
#header_menu .box_btn.spNone{
    display: none;
}
#header_menu .btn{
    font-size: 15px;
    letter-spacing: 1px;
    margin: 30px 0 0;
    padding: 29px 0 27px;
    border-radius: 0;
    background-image: none;
}

/* バーガーメニュー */
#header_inner .menu_button{
    top: 0;
    right: 0;
    width: 68px;
    height: 100%;
    background-color: transparent;
    font-size: 0px;
    padding: 0;
}
#header_inner .menu_button .bar{
    width: 28px;
    background-color: #333;
    top: 39px;
}
#header_inner .menu_button .bar::before,
#header_inner .menu_button .bar::after{
    width: 28px;
    background-color: #333;
}
#header_inner .menu_button .bar::before{
    top: -11px;
}
#header_inner .menu_button .bar::after{
    top: 11px;
}

/* ロゴ */
#logo_text { margin:0 0 0 15px; z-index:10; float:left; text-align:left; width:-webkit-calc(100% - 90px); width:-moz-calc(100% - 90px); width:calc(100% - 90px); overflow:hidden; }
#logo_text h1 { font-weight:normal; height:55px; line-height:56px; }
#logo_text a, #logo_image h1 a { color:#333; text-decoration:none; display:block; -webkit-transition-property:none; -moz-transition-property:none; -o-transition-property:none; transition-property:none; }
#logo_text a:hover, #logo_image h1 a:hover { text-decoration:underline; }
#logo_image { margin:0 0 0 15px; z-index:10; float:left; text-align:left; width:-webkit-calc(100% - 90px); width:-moz-calc(100% - 90px); width:calc(100% - 90px); overflow:hidden; }
#logo_image h1 { font-weight:normal; height:55px; line-height:56px; }
#logo_image h1 img { display:none; }
#logo_image h1 a:before { content:attr(data-label); }
#logo_image_mobile { font-size:18px; font-weight:normal; position:absolute; left:15px; top:50%; -webkit-transform:translateY(-50%); -ms-transform:translateY(-50%); transform:translateY(-50%); }
#logo_image_mobile a { display:block; }
#logo_image_mobile a img { vertical-align: bottom; }
#logo_text_fixed, #logo_image_fixed { display:none; }


/* パンくずリンク */
#bread_crumb { background:#f5f5f5; margin:0; height:auto; line-height:180%; min-width:0px; padding:10px 20px; }
#bread_crumb ul { width:auto; margin:0 auto; }
#bread_crumb li.home a:before { top:5px; left:0px; }


#translated_sites{ display: none; }

/* ----------------------------------------------------------------------
 記事
---------------------------------------------------------------------- */
/* 記事タイトル */
#post_title { font-size:21px !important; line-height:1.5; }

/* アイキャッチ画像 */
#post_image { margin-bottom:30px; }

/*  記事本文*/
.post_content { margin:0; }
.post_content p { line-height:2.2; }


/* SNSボタン */
#single_share_top { margin:-5px 0 10px; }
#single_share_top #share_top1 { padding-top:0; }


/* メタ情報 */
#post_meta_top li { font-size:10px; width:100px; }
#post_meta_top .date { height:25px; line-height:25px; } 
#post_meta_top .category { width:auto; min-width:100px; }
#post_meta_top .category a { height:25px; line-height:25px; } 
#post_meta_bottom { margin:0 0 20px 0; background:#fafafa; padding:15px; }
#post_meta_bottom li { display:block; margin:0 0 10px 0; border:none; font-size:12px; line-height:160%; }
#post_meta_bottom li:last-child { border:none; margin:0; }
#post_meta_bottom li.post_category:before { top:0px; left:0px; }
#post_meta_bottom li.post_tag:before { top:2px; left:0px; }
#post_meta_bottom li.post_author:before { top:0px; left:0px; }
#post_meta_bottom li.post_comment:before { top:0px; left:0px; }


/* 次の記事、前の記事 */
#previous_next_post { margin:0 0 30px 0; }
#previous_next_post .prev_post, #previous_next_post .next_post { float:none; width:100%; margin-right:0; }


/* 広告 */
#single_banner_area { margin:0 0 15px 0; text-align:center; }
#single_banner_area .single_banner_left { float:none; padding:0 0 15px 0; margin:0 auto; }
#single_banner_area .single_banner_right { float:none; padding:0 0 15px 0; margin:0 auto; }
#single_banner_area img { max-width:100%; height:auto; display:inline; }


/* 広告2 */
#single_banner_area_bottom { margin: -20px 0 0; text-align:center; }
#single_banner_area_bottom .single_banner_left { float:none; padding:0 0 15px 0; margin:0 auto; }
#single_banner_area_bottom .single_banner_right { float:none; padding:0; margin:0 auto; }
#single_banner_area_bottom img { max-width:100%; height:auto; display:inline; }


/* 広告（ショートコードver） */
#single_banner_area2 { margin:0 0 15px 0; text-align:center; }
#single_banner_area2 .single_banner_left { float:none; padding:0 0 15px 0; margin:0 auto; }
#single_banner_area2 .single_banner_right { float:none; padding:0 0 5px 0; margin:0 auto; }
#single_banner_area2 img { max-width:100%; height:auto; display:inline; }


/* 関連記事 */
#related_post { margin:0 -20px 30px; }
#related_post .headline { padding:0 20px; }
#related_post ol { margin:0 0 0 20px; }
#related_post li, #related_post li:nth-child(3n) { width:50%; width:-webkit-calc(50% - 20px); width:-moz-calc(50% - 20px); width:calc(50% - 20px); margin:0 20px 20px 0; display:inline-block; }
#related_post li .image { width:100%; height:auto; }
#related_post li .title { font-size:13px; }
@media screen and (max-width:480px) {
  #related_post ol { margin:0 20px; }
  #related_post li, #related_post li:nth-child(3n) { width:100%; width:-webkit-calc(100%); width:-moz-calc(100%); width:calc(100%); margin:0 0 20px 0; display:block; }
}


/* プロフィール */
.author_profile .avatar{ float: none; width: 130px; height: 130px; margin: 0 auto 20px; }
.author_profile .info{ float: none; width: 100%; text-align: center; }
.author_profile .name{ float: none; margin: 0 0 10px; }
.author_profile .archive_link{ float: none; }
.author_profile .desc{ text-align: left; }

/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
#comment_headline { margin:0 0 15px 0; }
#comment_area, #trackback_area { margin:15px 0px 0; }


/* コメント・トラックバックのタブ */
#comment_header { position:relative; margin:0 0 15px; }
#comment_header ul { margin:0; }
#comment_header ul li.comment_switch_active a:after, #comment_header #comment_closed p:after { display:none; }
@media screen and (max-width:500px) {
  #comment_header ul li { float:none; text-align:center; margin:0; width:100%; }
}


/*  コメントの基本部分 */
.comment { padding:10px 10px 0; }


/* コメントの情報部分 */
.comment-meta-left { float:left; width:100%; }


/* フォーム部分 */
.comment_form_wrapper { border:1px solid #ccc; margin:0 0 25px; padding:15px; background:#fff; }




/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
#footer_top { min-width:0; margin-top:25px; }
#footer_top_inner { width:100%; margin:0; padding:0; }
#footer_menu_widget_area {
  float:none; width:100%; padding:30px 20px 20px; 
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}


/* 住所 */
#footer_address {
  float:none; width:100%; margin:0; text-align:center; background:#fff; padding:30px 20px 10px;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#footer_address .image { display:block; max-width:100%; height:auto; margin:0 auto; }

#footer_address .logo img { display: inline; }

/* menu list */
#footer_menu { margin:0; float:none; width:auto; font-size:0; }
#footer_menu.footer_menu_num2 .footer_menu, #footer_menu.footer_menu_num2 .footer_menu:last-child, #footer_menu.footer_menu_num3 .footer_menu,
 #footer_menu.footer_menu_num3 .footer_menu:last-child, #footer_menu.footer_menu_num4 .footer_menu, #footer_menu.footer_menu_num4 .footer_menu:last-child
   { margin:0 0 20px 0; width:50%;  }
#footer_menu .footer_menu:nth-child(odd) {
  padding-right:20px;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}


/* ウィジェット */
#footer_widget { float:none; width:100%; margin:20px 0 10px; }


/* メニューとコピーライトエリア */
#footer_bottom { background:none; width:100%; min-width:0; height:auto; }
#footer_bottom_inner { width:100%; margin:0; height:auto; position:relative; }


/* SNSボタン */
#footer_social_link { position:relative; top:auto; text-align:center; height:50px; }
#footer_social_link li { display:inline-block; float:none; margin:0 5px 0 0; position:relative; }
#footer_social_link li:before { color:#333; }


/* コピーライト */
#copyright {
  background:#000; height:60px; line-height:60px; font-size:12px; color:#fff; text-align:center; padding:0 10px; width:100%;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
  position: relative;
}
#copyright a { color:#fff; }


/* 固定フッターが有効時、モバイルデバイス調整用 */
/*body.mobile_device { padding-bottom:125px; }
body.mobile_device #return_top { bottom:65px; }*/




/* ----------------------------------------------------------------------
 サイドコンテンツ
---------------------------------------------------------------------- */
/* 基本設定 */
.side_widget { margin:0 0 25px 0; font-size:12px; position:relative; }
.side_widget:last-child, .side_widget:only-child  { margin:0; }


/* search */
.widget_search #search-box, .widget_search #s, .side_widget.google_search #s { width:75%; height:40px; margin:0 0 5px 0; }
.widget_search #search-btn input, .widget_search #searchsubmit, .side_widget.google_search #searchsubmit { width:25%; }


/* プロジェクト */
.project_list_widget li, #footer_widget .project_list_widget li {
  margin:0 5px 5px 0 !important; width:auto; height:auto;
  width:-webkit-calc(100% / 3 - 5px); width:-moz-calc(100% / 3 - 5px); width:calc(100% / 3 - 5px);
}
.project_list_widget .image { width:100% !important; height:auto !important; }
/* スマホではhoverが効かないためアニメーションは無効にして、width:100%;が有効になるように設定する */
.project_list_widget .image img {
  width:100% !important; height:auto !important;
  -webkit-transform:none !important; -webkit-transition-property:none !important; -webkit-transition:0 !important;
  -moz-transform:none !important; -moz-transition-property:none !important; -moz-transition:0 !important;
  -ms-transform:none !important; -ms-transition-property:none !important; -ms-transition:0 !important;
  -o-transform:none !important; -o-transition-property:none !important; -o-transition:0 !important;
  transform:none !important; transition-property:none !important; transition:0 !important;
}

/* デザインされた記事一覧１ */
.styled_post_list1 .info {
	padding-right: 10px;
}

/* MONOLITH用の pagebuilder のスタイル */
.post_content .pb_catchcopy { font-size:21px !important; line-height:1.5; }
.post_content .pb-widget-editor { line-height:2.2; }

/* ----------------------------------------------------------------------
 contact ページ
---------------------------------------------------------------------- */
/* contact_top */
.brSp{ display: inline;}
#contact_top{ 
  background: url(../../monolith_tcd042/img/contact/bgContactTop_sp.jpg) center / cover no-repeat;
  width: 100%; height: 100vw; overflow: hidden;
}
#contact_top .inner{ width: 100%; max-width: none; display: block; padding-top: 30px;}
#contact_top .boxTxt{ text-align: center; padding-left: 0; display: block;}
#contact_top .boxTxt .txt01{ font-size: 13px; line-height: 1.846; letter-spacing: 0.2px;}
#contact_top .boxTxt .txt02{ font-size: 29px; line-height: 1.552; letter-spacing: 0.5px;}
#contact_top .boxTxt .txt03{ font-size: 12px; letter-spacing: 0.2px; padding: 5px 7px 7px; margin-top: 8px; display: inline-block;}
#contact_top .boxTxt .txtVertical{ display: none;}
#contact_top .boxTxt .boxImg{ width: 89%; height: auto; position: static; margin: 18px auto 0;}
@media screen and (max-width:350px) {
  #contact_top .inner{ padding-top: 20px;}
  #contact_top .boxTxt .boxImg{ margin: 8px auto 0;}
}

/* ----------------------------------------------------------------------
 contact 完了ページ
---------------------------------------------------------------------- */
#contact_ok{ padding: 15px 0 30px;}
#contact_ok .tit{ font-size: 21px }
#contact_ok .txt{ font-size: 13px; line-height: 1.9; margin-top: 30px;}
#contact_ok .aBtnLink{ margin: 40px auto 0;}
.brPc{ display: none;}


/* ----------------------------------------------------------------------
 lineup 詳細 ページ
---------------------------------------------------------------------- */

/* pageLineupDetails */
.pageLineupDetails{
  padding-bottom: 55px;
}
.pageLineupDetails .wrapper1380{
  width: 100%;
}
.pageLineupDetails .wrapperSp{
  width: calc(100% - 40px);
  margin: 0 auto;
}

/* lineupDetailsTop */
.lineupDetailsTop{
  height: calc((500 / 375) * 100vw);
  background: center / cover no-repeat;
  padding-bottom: 16px;
}
.pageLineup01 .lineupDetailsTop{ background-image:  url(../img/lineup/bgTop01_sp.jpg);}
.pageLineup02 .lineupDetailsTop{ background-image:  url(../img/lineup/bgTop02_sp.jpg);}
.pageLineup03 .lineupDetailsTop{ background-image:  url(../img/lineup/bgTop03_sp.jpg);}
.lineupDetailsTop .boxTxt .titJp{
  font-size: 30px;
  letter-spacing: 3px;
  line-height: 1.6;
}
.lineupDetailsTop .boxTxt .titJp .txt01{
  font-size: 20px;
  letter-spacing: 0.3px;
  padding: 6px 5px;
}
.lineupDetailsTop .boxTxt .titJp .txt02{
  padding: 3px 5px 5px;
}
.lineupDetailsTop .boxTxt .titEn{
  font-size: 14px;
  letter-spacing: 1.2px;
  margin-top: 13px;
  padding: 2px 3px;
}

/* lineupDetailsMain */
.lineupDetailsMain{
  padding-top: 40px;
}

/* .secIntro */
.lineupDetailsMain .secIntro .inner{
  display: block;
}
.lineupDetailsMain .secIntro .boxImg{
  width: 100%;
}
.lineupDetailsMain .secIntro .boxTxt{
  width: 100%;
  padding: 19px 0 0;
}
.lineupDetailsMain .secIntro .boxTxt .tit{
  font-size: 18px;
  line-height: 1.944;
  letter-spacing: 1px;
}
.lineupDetailsMain .secIntro .boxTxt .txt{
  font-size: 13px;
  line-height: 2.154;
  letter-spacing: 0.3px;
  margin-top: 11px;
}

/* secGallery */
.lineupDetailsMain .secGallery{
  margin-top: 60px;
}

/* #sliderGallery */
#sliderGallery{
  padding: 6px 0 70px;
  margin-top: -42px;
}
#sliderGallery::after{
  height: 46.4vw;
}
#sliderGallery .swiper-container{
  width: 89.333vw;
  margin-top: 30px;
}
#sliderGallery .boxBtn{
  height: 40px;
}
#sliderGallery .btnIn{
  width: 90px;
  height: 40px;
}
#sliderGallery .swiper-button-next,
#sliderGallery .swiper-button-prev{
  width: 40px;
  height: 40px;
}
#sliderGallery .swiper-button-next:hover,
#sliderGallery .swiper-button-prev:hover{
  background: #fff url(../img/common/iconArrow140_140_black.png) center / contain no-repeat;
  border: 1px solid #333;
  opacity: 1;
}

/* secFeature */
.lineupDetailsMain .secFeature{
  padding-top: 65px;
}
.lineupDetailsMain .secFeature .featureBody{
  margin-top: 34px;
}
.lineupDetailsMain .secFeature .featureItem{
  display: block;
  padding-bottom: 12px;
}
.lineupDetailsMain .secFeature .featureItem + .featureItem{
  margin-top: 40px;
}
.lineupDetailsMain .secFeature .boxImg{
  width: 89.333%;
  margin: 0 auto 0 0;
}
.lineupDetailsMain .secFeature .boxTxt{
  width: 78.667%;
  padding: 36px 0 0;
  margin: 0 auto;
}
.lineupDetailsMain .secFeature .boxTxt .itemTit{
  font-size: 16px;
  letter-spacing: 0.3px;
  line-height: 1.75;
}
.lineupDetailsMain .secFeature .boxTxt .itemTit .num{
  font-size: 14px;
  letter-spacing: 0.5px;
  top: -19px;
  left: -24px;
}
.lineupDetailsMain .secFeature .boxTxt .itemTit .num::after{
  width: 23px;
  right: -18px;
  bottom: 3px;
}
.lineupDetailsMain .secFeature .boxTxt .itemTxt{
  font-size: 13px;
  line-height: 2.154;
  letter-spacing: 0.3px;
  margin-top: 9px;
}
.lineupDetailsMain .secFeature .sideTit{
  letter-spacing: 3px;
  right: 5px;
  font-weight: 300;
}
.lineupDetailsMain .secFeature .featureItem:nth-child(2n) .boxImg{
  margin: 0 0 0 auto;
}
.lineupDetailsMain .secFeature .featureItem:nth-child(2n) .boxTxt{
  padding: 36px 0 0;
}
.lineupDetailsMain .secFeature .featureItem:nth-child(2n) .sideTit{
  left: 5px;
}

/* secPlan */
.lineupDetailsMain .secPlan{
  margin-top: 48px;
  padding-top: 140px;
}
.lineupDetailsMain .secPlan .inner{
  width: 100%;
  margin-left: 0;
  padding: 1px 0 40px;
}
.lineupDetailsMain .secPlan .inner::before{
  border-width: 0 385px 140px 385px;
  top: -140px;
  left: calc(50% - 385px);
}
.lineupDetailsMain .secPlan .secCmnTit{
  margin-top: -80px;
  padding-bottom: 25px;
}
.lineupDetailsMain .secPlan .secCmnTit::after{
  width: 25px;
}
.lineupDetailsMain .secPlan .secTxt{
  margin-top: 17px;
}
.lineupDetailsMain .secPlan .secTxt .subTit{
  font-size: 15px;
  letter-spacing: 0.5px;
  line-height: 1.867;
}
.lineupDetailsMain .secPlan .secTxt .txt{
  font-size: 11px;
  letter-spacing: 0.3px;
  line-height: 2;
  margin-top: 11px;
}
.lineupDetailsMain .secPlan .secImg{
  margin-top: 45px;
  display: block;
  height: auto;
}
.lineupDetailsMain .secPlan .secImg .boxLeft{
  width: 100%;
  /* height: auto;
  aspect-ratio: 335 / 278; */
  height: calc((100vw - 40px) * 278 / 335);
  padding: 20px 15px 44px;
}
.lineupDetailsMain .secPlan .secImg .boxLeft .fmTit{
  font-size: 20px;
  letter-spacing: 1px;
  top: -16px;
  left: 20px;
}
.lineupDetailsMain .secPlan .secImg .boxLeft .note{
  font-size: 10px;
  letter-spacing: 0.3px;
  position: absolute;
  bottom: 23px;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
}
.lineupDetailsMain .secPlan .secImg .boxRight{
  width: 100%;
  height: auto;
  margin-top: 3px;
  margin-left: 0;
  display: flex;
  justify-content: flex-start;
}
.lineupDetailsMain .secPlan .secImg .boxRight .boxImg{
  width: calc((100% - 3px) / 2);
  /* height: auto;
  aspect-ratio: 166 / 128; */
  height: calc((100vw - 40px - 3px) / 2 * 128 / 166);
}
.lineupDetailsMain .secPlan .secImg .boxRight .boxImg + .boxImg{
  margin-top: 0;
  margin-left: 3px;
}
.lineupDetailsMain .secPlan .secCmnTit.wrapper1380,
.lineupDetailsMain .secPlan .secTxt.wrapper1380,
.lineupDetailsMain .secPlan .secImg.wrapper1380{
  width: calc(100% - 40px);
}
.lineupDetailsMain .secPlan a[data-lightbox]{
  pointer-events: auto;
}

/* secComment */
.lineupDetailsMain .secComment{
  padding-top: 128px;
}
.lineupDetailsMain .secComment .inner{
  padding: 0 20px 31px;
}
.lineupDetailsMain .secComment .inner::before{
  width: 7px;
  height: 35px;
  top: -132px;
}
.lineupDetailsMain .secComment .inner::after{
  top: 5px;
  left: 5px;
}
.lineupDetailsMain .secComment .boxImg{
  width: 114px;
  height: 114px;
  margin: -51px auto 0;
}
.lineupDetailsMain .secComment .boxImg .tit{
  width: 120px;
  height: 33px;
  top: -18px;
}
.lineupDetailsMain .secComment .boxImg .name{
  font-size: 13px;
  letter-spacing: 0.5px;
  bottom: -8px;
}
.lineupDetailsMain .secComment .boxTxt{
  font-size: 12px;
  font-weight: 300;
  line-height: 2.083;
}

/* secBnrLink */
.lineupDetailsMain .secBnrLink{
  margin-top: 122px;
}
.lineupDetailsMain .secBnrLink::before{
  width: 100%;
  max-width: 100%;
  height: calc(67px + (80 / 375 * 100vw));
  bottom: auto;
}
.lineupDetailsMain .secBnrLink .txtMsg{
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0.5px;
  margin-top: -44px;
}
.lineupDetailsMain .secBnrLink .txtMsg .reverse{
  display: inline-block;
  line-height: 1;
  padding: 3px 4px 2px;
}
.lineupDetailsMain .secBnrLink .boxBnr{
  margin: 23px auto 0;
  width: 89.333%;
}

/* ----------------------------------------------------------------------
 reform page
---------------------------------------------------------------------- */
.reformTopTxt{
  font-size: 13px;
  line-height: 28px;
}
@media screen and (max-width:359px) {
  .reformTopTxt{
    font-size: 11px;
  }
}