@charset "utf-8";
/* ---------------------------------------------------------
common
----------------------------------------------------------*/

/* ex_clearfix
-----------------------------------------*/ 
.ex_clearfix:after {
  content: "";
  clear: both;
  display: block;
}
/* ex_clearfix
-----------------------------------------*/ 
#sectionContents .ex_marginB0{
 margin-bottom:0px!important;
}
#sectionContents .ex_marginBS{
 margin-bottom:10px!important;
}
#sectionContents .ex_marginBM{
 margin-bottom:20px!important;
}
#sectionContents .ex_marginBL{
 margin-bottom:30px!important;
}
#sectionContents .ex_marginBLL{
 margin-bottom:50px!important;
}
#sectionContents .ex_marginT0{
 margin-top:0px!important;
}
#sectionContents .ex_marginTSS{
 margin-top:5px!important;
}
#sectionContents .ex_marginTS{
 margin-top:10px!important;
}
#sectionContents .ex_marginTM{
 margin-top:20px!important;
}
#sectionContents .ex_marginTL{
 margin-top:30px!important;
}
#sectionContents .ex_marginTLL{
 margin-top:50px!important;
}
#sectionContents .ex_marginTLLL{
 margin-top:80px!important;
}

/* layout(grid) ----------------------- */
.ratio-grid.column-3 .column {
	width: 306px;
	margin: 0 24px 20px 0;
	overflow: hidden;
}
.ratio-grid.column-3 .column:nth-child(3n) {
	margin-right: 0;
}

@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
.ratio-grid.column-3 .column {
	width: 100%;
	margin: 0 0 30px 0;
}

.ratio-grid.column-3 .column:nth-child(3n) {
	margin-bottom: 0;
}
.ratio-grid.column-3 .column img {
	width: 100%;
}

}

/* ---------------------------------------------------------
navi_page
----------------------------------------------------------*/

ul.navi_page li {
	border-right: 1px solid #333;
	display: inline-block;
	margin: 0 0 10px;
	padding: 0 20px;
}
ul.navi_page li em {
	margin: 0 5px;
	padding: 3px 6px 3px 3px;
	color: #000;
	font-size: 0.8em;
	border: #000 1px solid;
	vertical-align: middle;
}
ul.navi_page li a {
	color: #333;
}
ul.navi_page li a:hover {
	color: #999;
	text-decoration: none;
}
ul.navi_page li:first-child {
	border-left: 1px solid #333;
}
 @media only screen and (max-width:640px) and (max-device-width:1280px) {
ul.navi_page {
	width: 100%;
	padding: 0 10px;
}
ul.navi_page li {
	border-right: none;
	display: block;
	margin: 0 0 0px;
	padding: 0 20px 0 30px;
	line-height: 1.8;
	text-align: left;
	text-indent: -1em;
	padding-left: 1em;
}
ul.navi_page li a {
	color: #333;
	text-decoration: none;
}
ul.navi_page li:first-child {
	border-left: none;
}
ul.navi_page li a:before {
	padding: 0 5px 0 0;
	color: #666;
	content: " \f107";
	font-size: 17px;
	font-family: FontAwesome;
}
}

.box_h3style{
	font-size: 112%;
	border: 1px solid #333;
	text-align: center;
	margin: 0 0 1em;
	font-weight: bold;
	padding: 2px 0 0 0;
}

.series_h3style{
	font-size: 112%;
	text-align: center;
	margin: 0 0 1em;
	font-weight: bold;
	padding: 4px 0 2px 0;
	background: #e7e7e7;
}

.half{
	background: url(../img/bg_half.gif) repeat-y;
}

@media only screen and (max-width:640px) and (max-device-width:1280px){
.half{
	background-size:contain;
}
}

.ratio1-3-1{
	width: 226px;
	float: left;
}

.ratio1-3-3{
	width: 714px;
	float: right;
}

.ratio1-3-3 .column {
	margin-right: 18px;
	width: 226px;
	float: left;
	}

.ratio1-3-3 .column:nth-child(3n) {
	margin-right: 0px;
	}

@media only screen and (max-width:640px) and (max-device-width:1280px){
	.ratio1-3-1{
	width: 47.25274%;
	float: none;
	margin: 0 5.4945% 5.4945% 0;
}

.ratio1-3-3{
	width: auto;
	float: none
}

.ratio1-3-3 .column {
	margin-right: 18px;
	width: 47.25274%;
	float: left;
	margin: 0 5.4945% 5.4945% 0;
	}

.ratio1-3-3 .column:nth-child(2n){
	margin-right: 0px;
	}
	}

/* btn ----------------------- */
.pdf-btn {
	width:600px;
	box-sizing: border-box;
	border: #000 1px solid;
	margin: 0 auto 1em;
	text-align: center;
}
.pdf-btn a {
	display: block;
	position: relative;
	background-color: #fff;
	color: #000;
	font-weight: bold;
	font-size: 90%;
	vertical-align: middle;
	text-align: center;
	display: block;
	position: relative;
	line-height: 1.6;
	padding: 10px 16px 10px 10px;
}
.pdf-btn a:after {
	display: block;
	position: absolute;
	right: 12px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	color: #666;
	content: " \f105";
	font-family: FontAwesome;
	font-size: 120%;
}

.pdf-btn a i {
	margin-left: 10px;
	color:#c81e26;
}
.w967 {
    width: 967px;
    margin: 40px auto;
}
.w967 a {
    padding: 15px 16px 15px 10px;
    text-decoration: none;
    font-size: 18px;
}
@media only screen and (max-width:640px) and (max-device-width:1280px) {
.pdf-btn,.w967 {
	width:100%;
}
}

/* btn ----------------------- */
.price-btn {
	width:600px;
	box-sizing: border-box;
	margin: 0 auto 1em;
	text-align: center;
}
.price-btn a {
	display: block;
	position: relative;
	background-color: #fff;
	color: #000;
	font-weight: bold;
	font-size: 90%;
	vertical-align: middle;
	text-align: center;
	display: block;
	position: relative;
	line-height: 1.6;
	padding: 10px 16px 10px 10px;
}
.price-btn a:after {
	display: inline-block;
	color: #666;
	content: " \f105";
	font-family: FontAwesome;
	font-size: 120%;
	margin-left: 10px;
}

.price-btn a i {
	margin-left: 10px;
	color:#c81e26;
}

@media only screen and (max-width:640px) and (max-device-width:1280px) {
.pdf-btn {
	width:100%;
}
}

/* 2021.09追加 ----------------------- */


.ratio1-2-1-1{
	width: 295px;
}

.ratio1-2-2{
	width: 632px;
}
.ratio1-2-2 .column_nospace {
	width: 316px;
	float: left;
}

@media only screen and (max-width:640px) and (max-device-width:1280px){
	.ratio1-2-1-1,
	.ratio1-2-2 {
		margin: 0 0 5.4945% 0;
		width: 100%;
	}
	.ratio1-2-2 .column_nospace {
	width: 100%;
	float: none;
	}
}

.day_start {
	color: #f00;
	font-weight: bold;
}
.day_start_ttl {
	color: #f00;
	font-size: 75%;
	font-weight: bold;
	margin-left: 1em;
}
.day_finish {
	font-weight: bold;
}
.day_finish_ttl {
	font-size: 75%;
	font-weight: bold;
	margin-left: 1em;
}
@media only screen and (max-width:640px) and (max-device-width:1280px){
	.day_start_ttl,
	.day_finish_ttl {
		margin-left: 0;
	}
}

/* youtube_block ----------------------- */
.youtube_block {
	width: 800px;
	margin: 0 auto 2em;
}
.youtube_inner {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube_inner iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.youtube_block p {
	margin: 1em 0 2em;
}

@media screen and (max-width: 640px) {
.youtube_block {
	width: auto;
	margin: 0 auto;
}	
}



/* ------------------------

.billboard

/index2015/css/sumaiTop2018.cssの追記

------------------------ */

/* slick */

  .mod_billboard .slick-dots {
	-webkit-display: flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 100%;
	margin: 23px 0 0;
	text-align: center;
  }
  .mod_billboard .slick-dots li {
	position: relative;
	display: block;
	width: 12px;
	height: 12px;
	margin: 0 14px;
	background: #cccccc;
	border-radius: 6px;
	cursor: pointer;
  }
  .mod_billboard .slick-dots li.slick-active {
	background: #f6b334;
  }
  .mod_billboard .slick-dots li button {
	display: none;
  }
  .mod_billboard .slick-dots li button:before {
	display: none;
  }
  .mod_billboard .slick-dots li.slick-active button:before {
	display: none;
  }

@media only screen and (max-width:640px) and (max-device-width:1280px) {
  .mod_billboard .slick li img {
	display: inline;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
  }
  .mod_billboard .slick li img.Slick_img-sp {
	display: block;
  }
  .mod_billboard .slick li img.Slick_img-pc {
	display: none;
  }
/* slick */
.mod_billboard .slick-dots {
	-webkit-display: flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 100%;
	margin: 14px 0 0;
	text-align: center;
  }
  .mod_billboard .slick-dots li {
	position: relative;
	display: block;
	width: 10px;
	height: 10px!important;
	margin: 0 11px;
	background: #cccccc;
	border-radius: 5px;
	cursor: pointer;
  }
  .mod_billboard .slick-dots li.slick-active {
	background: #f6b334;
  }
  .mod_billboard .slick-dots li button {
	display: none;
  }
  .mod_billboard .slick-dots li button:before {
	display: none;
  }
  .mod_billboard .slick-dots li.slick-active button:before {
	display: none;
  }
 
  }


/* 2025.7　追記 */

.mod_billboard {
	background: #f2f2f2!important;
	max-width: 100%!important;
	text-align: center;
}
.mod_billboard .blillboard_sp {
	display: none;
}
@media screen and (min-width: 1366px) {
	.mod_billboard .blillboard_pc img {
		height: 100%;
		margin: auto;
		max-width: 1366px!important;
	}
}
@media screen and (max-width: 640px) {
	.mod_billboard .blillboard_pc {
		display: none;
	}
	.mod_billboard .blillboard_sp {
		display: block;
	}
	.mod_billboard .blillboard_sp img {
		height: auto;
		width: 100%;
	}
}

/* ------------------------

.bg_lightgray

------------------------ */

.bg_lightgray {
	background: #f2f2f2;
}

/* ------------------------

font size

------------------------ */
.txt_l-large {font-size: 125%;} /*20px*/
.txt_large {font-size: 112.5%;} /*18px*/
.txt_small {font-size: 87.5%;} /*14px*/
.txt_s-small {font-size: 75%;} /*12px*/

.txt_gray {color: #666;}
.txt_white {color: #fff;}

.txt_indent {
	padding-left: 1em;
	text-indent: -1em;
}
.txt_indent_2 {
	padding-left: 2em;
	text-indent: -2em;
}
.txt_indent_3 {
	padding-left: 3em;
	position: relative;
}
.txt_indent_3 .txt_indent_no {
	display: inline-block;
	left: 0;
	position: absolute;
	top: 0;
}

.txt_center {
	text-align: center;
}
.txt_left {
	text-align: left!important;
}

.ttl_standatd {
	font-size: 18px;
	font-weight: 400;
}

.box_center {
	margin: auto;
}

sup {
	font-size: 75%;
	margin-right: .25em;
	vertical-align: super;
}

/* ------------------------

.btn_

------------------------ */

/* ----- .btn_onlineconsult -----*/

.bg_lightblue {
	background: #DEE8ED;
	border-bottom: #ccc solid 1px;
	border-top: #ccc solid 1px;
	width: 100%;
}

.btn_onlineconsult_wrap_top,
.btn_onlineconsult_wrap {
	background: #DEE8ED;
	border-bottom: #ccc solid 1px;
	border-top: #ccc solid 1px;
	box-sizing: border-box;
	padding: 29px 20px;
	width: 100%;
}
.btn_onlineconsult_wrap {
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}
.btn_onlineconsult_inner {
	box-sizing: border-box;
	margin: 0 auto;
	width: 976px;
}
.btn_onlineconsult_two {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	margin: auto;
}
.btn_onlineconsult_wrap .btn_onlineconsult_two {
	align-items: center;
}
.btn_onlineconsult_two .btn_onlineconsult_block {
	margin-right: 20px;
	text-align: center;
	width: 335px;
}

.btn_onlineconsult_two .btn_onlineconsult_block:last-child {
	margin-right: 0;
}
.btn_onlineconsult a {
	background: #fff;
	border: #222 solid 1px;
	border-radius: 4px;
	box-sizing: border-box;
	color: #222;
	display: block;
	padding: 20px 0;
	position: relative;
	transition: 0.2s ease-in-out;
}
.btn_onlineconsult.btn_black a {
	background: #222;
	border: #222 solid 1px;
	color: #fff;
	transition: 0.2s ease-in-out;
}
.btn_onlineconsult a:hover {
	background: #fff;
	border: #222 solid 1px;
	border-radius: 4px;
	box-sizing: border-box;
	color: #222;
	display: block;
	padding: 20px 0;
	position: relative;
	transition: 0.2s ease-in-out;
}

.btn_onlineconsult.btn_wide_standard {
	text-align: center;
	width: 335px;
}

.ico_free {
	color: #222;
	display: inline-block;
	font-size: 75%;
	margin: 0 1.5em;
	position: relative;
	text-align: center;
	transition: 0.2s ease-in-out;
	z-index: 1;
}
.ico_free::after {
	background: #fff;
	border-radius: 50%;
	content: "";
	display: inline-block;
	font-size: 75%;
	height: 36px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform : translate(-50%,-50%);
	transition: 0.2s ease-in-out;
	width: 36px;
	z-index: -1;
}
.btn_onlineconsult a:hover .ico_free {
	color: #fff;
	transition: 0.2s ease-in-out;
}
.btn_onlineconsult a:hover .ico_free::after {
	background: #222;
	transition: 0.2s ease-in-out;
}
.arrow-right{
	display: block;
	position: absolute;
	right: 10px;
	padding-bottom: 5px;
	top: 50%;
    transition: 0.2s ease-in-out;
	transform : translateY(-50%);
    width: 20px;
}
.arrow-right::before{
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    left: 0px;
    width: 100%;
    height: 1px;
    background: #222;
}
.arrow-right::after{
    content: "";
    display: block;
    position: absolute;
    top: 2px;
    right: 0px;
    width: 6px;
    height: 1px;
    border-top: 1px solid #222;
    transform: rotate(-135deg);
}
a:hover .arrow-right {
		right: -10px;
		transition: 0.2s ease-in-out;
}
.btn_black a .arrow-right::before {
	background: #fff;
}
.btn_black a .arrow-right::after {
	border-top: 1px solid #fff;
}
.btn_black a:hover .arrow-right::before {
	background: #222;
}
.btn_black a:hover .arrow-right::after {
	border-top: 1px solid #222;
}

.onlineconsult_list {
	display: inline-block;
	margin: 20px auto 0;
}
.onlineconsult_list li {
	margin-right: 1em;
	padding-left: 19px;
	text-align: left;
	text-indent: -19px;
	white-space: nowrap;
}
.onlineconsult_list li:before {
	background-image: url(../img/ico_check.png);
	background-size: contain;
	content: '';
	display: inline-block;
	height: 14px;
	margin-right: 5px;
	vertical-align: middle;
	width: 14px;
}
.onlineconsult_ico_list {
	
}
.onlineconsult_ico_list li {
	background: #fff;
	border-radius: 30px;
	box-sizing: border-box;
	display: inline-block;
	font-size: 12px;
	margin: 2px;
	padding: 3px 10px;
	white-space: nowrap;
}
.onlineconsult_ico_list li::before {
	background-size: contain;
	background-repeat: no-repeat;
	content: '';
	display: inline-block;
	height: 16px;
	margin-right: 5px;
	vertical-align: middle;
	width: 16px;
}
.onlineconsult_ico_list li.ico_mobile::before {
	background-image: url(../img/icon_mobile.png);
}
.onlineconsult_ico_list li.ico_chat::before {
	background-image: url(../img/icon_chat.png);
}
.onlineconsult_ico_list li.ico_time::before {
	background-image: url(../img/icon_time.png);
}


@media screen and (max-width: 640px) {
	.btn_onlineconsult_wrap {
		margin: 0 calc(50% - 50vw);
		padding: 1em 1em .5em;
		width: 100vw;
	}
	.btn_onlineconsult_inner {
		width: 100%;
	}
	.btn_onlineconsult_two {
		display: block;
		padding: 0 15px;
	}
	.btn_onlineconsult_two .btn_onlineconsult_block {
		margin: 1em 0 0;
		width: 100%;
	}
	.btn_onlineconsult_wrap_top .btn_onlineconsult_two .btn_onlineconsult_block:first-child {
		margin: 2em 0 0;
	}
	.btn_onlineconsult_two .btn_onlineconsult_block:first-child {
		margin: 1em 0 0;
	}
	.btn_onlineconsult {
		margin-bottom: 2em;
	}
	.onlineconsult_list {
		display: inline-block;
		margin: 0 auto 0;
	}
	.onlineconsult_list li {
		font-size: 14px;
		margin-right: 0;
		white-space: wrap;
	}
}

/* ----- .btn_modal -----*/
/* ----- .btn_catalog -----*/

.btn_modal a,
.btn_catalog a {
	background: #222;
	border: #222 solid 1px;
	border-radius: 4px;
	color: #fff;
	font-size: 87.5%;
	padding: 2px 40px 2px 8px;
	position: relative;
	transition: all 0.2s linear;
}
.btn_modal a::after {
	background-image: url(../img/icon_modal.png);
	background-size: contain;
	content: '';
	display: inline-block;
	height: 14px;
	margin-right: 5px;
	position: absolute;
	right: 5px;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.2s linear;
	vertical-align: middle;
	width: 14px;
}
.btn_modal a:hover,
.btn_catalog a:hover  {
	background: #fff;
	color: #222;
	transition: all 0.2s linear;
}
.btn_modal a:hover::after {
	background-image: url(../img/icon_modal_bk.png);
	transition: all 0.2s linear;
}
/* ------------------------

.feature

------------------------ */

.column2_feature {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

.column2_feature .column2_feature_txt {
	width: 450px;
}
.column2_feature .column2_feature_photo {
	width: 478px;
}
.column2_feature.bg_half .column2_feature_txt {
	width: 370px;
}
.column2_feature.bg_half .column2_feature_photo {
	width: 558px;
	
}
.column2_feature.bg_half .column2_feature_photo .column2_feature_photo_bg_half {
	background: #DEE8ED;
	box-sizing: border-box;
	margin-top: 80px;
	padding: 0 0 30px 80px;
	width: calc(50vw + 80px);
}
.column2_feature .column2_feature_photo img {
	height: auto;
	width: 100%;
}
.column2_feature .column2_feature_photo .column2_feature_photo_two {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	width: 478px;
}
.column2_feature .column2_feature_photo .column2_feature_photo_two .photo_two {
	margin-top: -80px;
	width: 229px;
}

@media screen and (max-width: 640px) {
	.column2_feature {
		display: block;
	}
	
	.column2_feature .column2_feature_txt,
	.column2_feature .column2_feature_photo,
	.column2_feature.bg_half .column2_feature_txt,
	.column2_feature.bg_half .column2_feature_photo {
		width: 100%;	
	}
	.column2_feature.bg_half .column2_feature_photo .column2_feature_photo_bg_half {
	background: #DEE8ED;
	box-sizing: border-box;
	margin-top: 80px;
	margin-left: 30px;
	padding: 0 10px 20px 0;
	width: calc(100vw - 15px);
	}
	.column2_feature .column2_feature_photo .column2_feature_photo_two {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	margin-left: -30px;
	width: calc(100% - 30px);
}
	.column2_feature .column2_feature_photo .column2_feature_photo_two .photo_two {
	margin-top: -40px;
	width: 48%;
}

}


.ttl_feature {
	font-size: 26px;
	font-weight: 400;
	padding-bottom: .5em;
}
.ttl_feature .kakeru {
	font-size: 73.077%;
	display: inline-block;
	line-height: 1.6;
	margin: 0 .5em;
	vertical-align: middle;
}
.ttl_feature .txt_small {
	font-size:84.615%;
}
.ttl_feature_shoulder {
	color: #597EA6;
	font-weight: 600;
	margin-bottom: 1em;
}
.ttl_feature_shoulder span {
	border-bottom:#597EA6 solid 1px;
	padding-bottom: .25em;
}
.feature_price_wrap {
	align-items: center;
	border-top: #222 solid 1px;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	padding-top: 24px;
	position: relative;
}
.feature_price_wrap::before {
	background: #f2f2f2;
  content: "";
  position: absolute;
  top: -3px;
  left: 50px;
  width: calc(100% - 50px); /* ラインの幅 */
  height: 6px; /* ラインの太さ */
  z-index: 1;
}

/*--- チェック項目 ---*/

.feature_list {
	background: rgba(255, 255, 255, 0.8);
	font-size: 87.5%;
	margin-top: 24px;
	padding: 16px 24px;
}
.feature_list li {
	display: inline-block;
	margin-right: 1em;
	white-space: nowrap;
}
.feature_list li:before {
	background-image: url(../img/ico_check.png);
	background-size: contain;
	content: '';
	display: inline-block;
	height: 14px;
	margin-right: 5px;
	vertical-align: middle;
	width: 14px;
}

@media screen and (max-width: 640px) {
	.ttl_feature {
		font-size: 5.2vw;
	}
	.feature_price_wrap {
		display: block;
	}
	.feature_price_wrap .feature_price_name {
		text-align: left;
		margin-bottom: 1em;
	}
	.feature_price_wrap .feature_price_name img {
		height: auto;
		width: 55%;
	}
	.feature_price_wrap .feature_price_price {
		text-align: right;
	}
	.feature_price_wrap .feature_price_price img {
		height: auto;
		width: 55%;
	}
	.column2_feature_txt .feature_photo {
		margin: 2em calc(50% - 50vw) 0;
		width: 100vw;
	}
}


/* ------------------------

.anchor_nav

------------------------ */
.anchor_nav {
	display: flex;
	justify-content: space-between;
	margin: 56px 0;
}
.anchor_nav li {
	border-right: #597EA6 solid 1px;
	box-sizing: border-box;
	text-align: center;
	width: 33.3%;
}
.anchor_nav li:first-child {
	border-left: #597EA6 solid 1px;
}
.anchor_nav li a {
	box-sizing: border-box;
	color: #597EA6;
	display: block;
	font-size: 18px;
	font-weight: 600;
	padding: 1em 0;
	position: relative;
	text-align: center;
	text-decoration: none!important;
	transition: all 0.2s linear;
}
.anchor_nav li a:after{
  background-image: url(../img/ico_arrow_dwn.png);
  background-size: contain;
  background-repeat: no-repeat;
	content: '';
	display: inline-block;
	height: 23px;
	margin-left: 8px;
	vertical-align: middle;
	width: 24px;
  transition: all 0.2s linear;
}
.anchor_nav li a:hover {
	opacity: .5;
	transition: all 0.2s linear;
}
.anchor_nav li a:hover:before{
	bottom: 2px;
	transition: all 0.2s linear;
}


@media screen and (max-width: 640px) {
	.anchor_nav li:first-child {
		border-left: none;
	}
	.anchor_nav li:last-child {
		border-right: none;
	}
	.anchor_nav li a {
		font-size: 4vw;
	}
	.anchor_nav li a:after{
		height: 5vw;
		margin-left: 2vw;
		width: 5vw;
	}
}

/* ------------------------

.column3_step

------------------------ */

.column3_step {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	list-style: none;
	margin-top: 32px;
}
.column3_step li {
	position: relative;
	width: 277px;
}

.column3_step li::before {
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
	border-bottom: calc(tan(60deg) * 8px) solid #222;
	content: '';
	left: -50px;
	position: absolute;
	top: 50%;
	transform: rotate(90deg) translateY(-50%);
	z-index: 10;
}
.column3_step li:first-child::before {
	content: none;
}

.column3_step_ttl {
	margin-top: 20px;
}
	
.column3_step h3 {
	color: #666;
	font-size: 12px;
	font-weight: 400;
}
.column3_step h4 {
	font-size: 18px;
	font-weight: 400;
	margin-bottom: 20px;
}
.column3_step_explan {
	background: #fff;
	border-bottom: #597EA6 solid 1px;
	border-top: #597EA6 solid 1px;
	box-sizing: border-box;
	margin-top: 24px;
	padding: 16px 20px;
}
.column3_step_explan h3 {
	color: #597EA6;
	font-size: 81.25%;
	font-weight: 600;
	margin-bottom: .5em;
}
.column3_step_explan p {
	font-size: 81.25%;
	font-weight: 400;
}
@media screen and (max-width: 640px) {
	.column3_step {
		display: block;
		list-style: none;
	}
	.column3_step li {
		margin-bottom: 3em;
		width: 100%;
	}
	.column3_step li::before {
		content: none;
	}
	.column3_step li::after {
		border-left: 12px solid transparent;
		border-right: 12px solid transparent;
		border-bottom: calc(tan(60deg) * 8px) solid #222;
		bottom: -2em;
		content: '';
		left: 50%;
		position: absolute;
		transform: rotate(180deg) translateX(50%);
		z-index: 10;
	}
	.column3_step li:last-child::after {
		content: none;
	}
	.column3_step_inner {
		align-items: center;
		display: flex;
		justify-content: space-between;
			
	}
	.column3_step_inner .column3_step_photo {
		position: relative;
	}
	.column3_step_inner .column3_step_photo::after {
  		background-size: contain;
  		background-repeat: no-repeat;
		content: '';
		display: inline-block;
		left: 0;
		position: absolute;
		top: -15px;
		
	}
	.column3_step_inner .ico_step01.column3_step_photo::after {
		background-image: url(../img/img_step01_01_sp.png);
		height: 29px;
		width: 99px;
	}
	.column3_step_inner .ico_step02.column3_step_photo::after {
		background-image: url(../img/img_step02_01_sp.png);
		height: 29px;
		width: 100px;
	}
	.column3_step_inner .ico_step03.column3_step_photo::after {
		background-image: url(../img/img_step03_01_sp.png);
		height: 29px;
		width: 99px;
	}
	.column3_step_inner .column3_step_photo {
		width: 36%;
	}
	.column3_step_inner .column3_step_ttl {
		margin: 0;
		width: 58%;
	}
	.column3_step h4 {
		font-size: 16px;
		margin-top: .5em;
	}
	.column3_step_explan {
		margin-top: 1em;
	}

}

/* ------------------------

.material

------------------------ */

.material_3point_ttl_wrap {
	align-items: end;
	display: flex;
	margin-top: 36px;
}
.material_3point_ttl_wrap_ttl {
	margin-right: 2em;
}
.material_3point_ttl_wrap_img {
	width: 110px;
}

.material_3point_ttl {
	font-size: 22px;
	font-weight: 400;
}
.material_3point_ttl strong{
	font-size: 36px;
	font-weight: 400;
}

@media screen and (max-width: 640px) {
	.material_3point_ttl_wrap {
		justify-content: space-between;
}
	.material_3point_ttl_wrap_ttl {
		margin-right: 1vw;
	}
	.material_3point_ttl_wrap_img {
		width: 28vw;
	}
}

/* ------ .column3_point ------ */

.column3_point {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	list-style: none;
	margin-top: 32px;
}
.column3_point li {
	background: #fff;
	border-bottom: #222 solid 1px;
	border-top: #222 solid 1px;
	box-sizing: border-box;
	padding: 32px 24px;
	position: relative;
	width: 312px;
}
.column3_point li:before {
	border: #fff solid 2px;
	content: '';
	right: 0;
	position: absolute;
	top: -1px;
	width: 8em;
	z-index: 0;
}
.column3_point li .pointNo {
	font-size: 12px;
	font-weight: 600;
	position: absolute;
	right: 0;
	top: -2em
}
.column3_point li .pointNo strong {
	font-size: 32px;
	margin-left: .25em;
	vertical-align: middle;
}
.pointttl {
	font-size: 18px;
	margin-bottom: 20px;
}

.column3_point li .point_feature {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	margin-top: 20px;
}
.column3_point li .point_feature .point_feature_photo {
	width: 96px;
}
.column3_point li .point_feature .point_feature_txt {
	flex: 1;
	margin-left: 16px;
}
.column3_point li .point_feature_note {
	background: #f2f2f2;
	box-sizing: border-box;
	display: flex;
	flex-flow: row wrap;
	font-size: 11px;
	justify-content: space-between;
	padding: 12px;
}
.column3_point li .point_feature_note .point_feature_note_photo {
	width: 100px;
}
.column3_point li .point_feature_note .point_feature_note_txt {
	flex: 1;
	margin-left: 16px;
}

@media screen and (max-width: 640px) {
	.column3_point li {
		margin-bottom: 3em;
		width: 100%;
	}
	.column3_point li:last-child {
		margin-bottom: 0;
	}
	.point_feature_wrap {
		display: flex;
		justify-content: space-between;
	}
	.column3_point li .point_feature {
		display: block;
		margin: 0;
		width: 48%;
	}
	.column3_point li .point_feature .point_feature_photo {
		width: 100%;
	}
	.column3_point li .point_feature .point_feature_txt {
		flex: none;
		margin: .5em 0 1em 0;
	}
}


/* ------------------------

.catalog

------------------------ */
.catalog_wrap {
	background: #fff;
	border: #597EA6 solid 1px;
	box-sizing: border-box;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	margin: 60px auto;
	padding: 28px 20px;
	position: relative;
	width: 478px;
}
.catalog_wrap::after {
	background-image: url(../img/bg_catalog.png);
  	background-size: contain;
	bottom: 0;
	content: '';
	display: inline-block;
	height: 24px;
	position: absolute;
	right: 0;
	width: 24px;
}
.catalog_wrap .catalog_img {
	margin: -60px 20px 0 10px;
	width: 128px;
}
.catalog_wrap .catalog_img img {
	height: auto;
	width: 100%;
}
.catalog_wrap .catalog_txt {
	flex: 1;
}
.catalog_ttl_shoulder {
	color: #597EA6;
	font-size: 14px;
	font-weight: 600;
}
.catalog_column2 {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}
.catalog_column2 .catalog_wrap {
	width: 450px;
}
@media screen and (max-width: 640px) {
	.catalog_wrap {
		width: 100%;
	}
	.catalog_wrap .catalog_img {
		margin: -40px 15px 0 0;
		width: 35%;
	}
	.catalog_ttl_shoulder {
		font-size: 12px;
}
	.catalog_column2 {
		display: block;
	}
	.catalog_column2 .catalog_wrap {
		width: 100%;
	}
}

/* ------------------------

.movie
.ar
.showroom

------------------------ */
.movie_wrap,
.ar_wrap,
.showroom_wrap {
	background: #666;
	box-sizing: border-box;
	color: #fff;
	margin: 0 calc(50% - 50vw);
	padding: 48px 0 40px;
	width: 100vw;
}
.ar_wrap,
.showroom_wrap {
	background-image: url(../img/img_ar_bg_pc.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.showroom_wrap {
	background-image: url(../img/img_showroom_bg_pc.jpg);
}
.movie_wrap_inner {
	position: relative;
}
.img_ttl_movie:after {
	background-image: url(../img/img_movie.png);
  	background-size: contain;
	content: '';
	display: inline-block;
	height: 68px;
	position: absolute;
	left: 0;
	top: -48px;
	width: 312px;
}
.movie_list,
.showroom_list {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}
.movie_list li,
.showroom_list li {
	width: 478px;
}
.movie_list li .movie_box {
	height: 269px;
	overflow: hidden;
	width: 478px;
}
.movie_list li .movie_box img {
	height: auto;
	width: 100%;
}
.movie_list li .movie_box a img {
	display: block;
	transition: 0.2s ease-in-out;
}
.movie_list li .movie_box a:hover img {
	transform: scale(1.1);
	transition: 0.2s ease-in-out;
}

@media screen and (max-width: 640px) {
	.movie_list,
	.showroom_list {
		display: block;
	}
	.movie_list li,
	.showroom_list li {
		margin-bottom: 3em;
		width: 100%;
	}
	.movie_list li:last-child,
	.showroom_list li:last-child {
		margin-bottom: 0;
	}
	.movie_list li .movie_box {
		height: 56.28%;
		overflow: hidden;
		width: 100%;
	}
}

.showroom_ttl {
	font-size: 22px;
	font-weight: 400;
}

.ar_box,
.showroom_box {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}
.ar_box {align-items: center;}
.ar_box_photo {width: 438px;}
.ar_box_photo img {height: auto; width: 100%;}
.ar_box_txt {width: 502px;}

.showroom_box_photo {
	height: 160px;
	overflow: hidden;
	width: 160px;
}
a .showroom_box_photo img {
	display: block;
	transition: 0.2s ease-in-out;
}
a:hover .showroom_box_photo img {
	opacity: 1.0!important;
	transform: scale(1.1);
	transition: 0.2s ease-in-out;
}
.showroom_box_txt {
	align-items: center;
	background: #fff;
	color: #222;
	display: flex;
	flex: 1;
	padding: 16px 24px;
	transition: 0.2s ease-in-out;
	vertical-align: middle;
}
a:hover .showroom_box_txt {
	opacity: .5;
	transition: 0.2s ease-in-out;
}
.showroom_box_txt .showroom_box_txt_box {}

.showroom_box_txt h3 {
	font-size: 18px;
	font-weight: 400;
	margin-bottom: 10px;
}

.ar_balloon {
	background: #FFF;
	border-radius: 30px;
	box-sizing: border-box;
	color: #597EA6;
	display: inline-block;
	margin: 0 0 1.5em;
	padding: 7px 20px;
	position: relative;
	min-width: 120px;
	max-width: 100%;
}

.ar_balloon:before {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 12px solid #FFF;
  z-index: 2;
}

.ar_balloon:after {
  content: "";
  position: absolute;
  bottom: -28px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top: 14px solid #fff;
  z-index: 1;
}

@media screen and (max-width: 640px) {
.ar_box_txt {
	text-align: center;
}
}


/* ------------------------

.design

------------------------ */
.designlifestyle {
	position: relative;
}

.designlifestyle_ttl {
	font-size: 22px;
	font-weight: 400;
}

.container_wrap {
	background: #fff;
	margin: 150px calc(50% - 50vw) 0;
	padding: 48px 0 40px;
	width: calc(50vw + 215px);
}
.container {
  margin-top: -150px;
  margin-right: -273px;
  width: 976px;
}
.style_slider .slick-slide {
  margin-inline: -40px;
  transition: all 0.3s ease;
  transform: scale(0.5);
}
.style_slider .slick-active {
transform: scale(.8);
}

.style_slider .slick-slide.slick-current,
.style_slider .slick-slide.is-active-next,
.style_slider .slick-center {
  transform: scale(1);
}

@media screen and (max-width: 640px) {
	.container_wrap {
		background: #fff;
		margin: 150px calc(50% - 50vw) 0;
		padding: 48px 0 40px;
		width: calc(100vw - 25%) ;
	}
	.container {
 		margin-top: -150px;
  		margin-right: 0;
		margin-left: -45%;
  		width: 200%;
	}
	.style_slider .slick-slide {
  		margin-inline: 0 -15vw;
	}

}



/* ------------------------

.case

------------------------ */

.case_ttl {
	font-size: 22px;
	font-weight: 400;
}

.case_slider_wrap {
	background: #fff;
}
/*slider*/
.case_slider {
	margin-right: -20px;
	overflow: hidden;
	position: relative;
	width: 996px;
}
.case_box {
	background: #fff;
	display:inline-block;
	margin-right: 20px;
	vertical-align:top;
	width: 312px;
}
.txt_box {
	box-sizing: border-box;
	padding: 20px;
}

/*slider ボタン*/

.slick-dots li button:before {
    position: absolute;
    top: 2px;
    left: 0;
    width: 12px;
    height: 12px;
    color: black;
    background-color: #d8d8d8;
    content: "";
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
	display: none!important;
}

/* sr slide */

.sr-slide-ui {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 30px;	
  margin-bottom: 12px;
}

.sr-slide-ui-dots {
  margin: 12px
}

.sr-slide-ui-dots ul {
  display: flex;
  gap: 16px
}
@media screen and (max-width: 640px) {
	.case_slider {
		margin-right: 0;
		overflow: visible;
		position: relative;
		width: 100%;
	}
	 .slick-list{
    	overflow: visible;
	}
	.sr-slide-ui-dots ul {
 		 display: flex;
  		gap: 20px
 	 }

}

/*----- slider controler -----*/
.sr-slide-ui-dots li button {
  font-size: 0;
  width: 12px;
  height: 12px;
  background-color: #c2c2c2;
  border: none;
  outline: none;
  border-radius: 50%;
  cursor: pointer
}

.sr-slide-ui-dots li button:before {
  display: none;
}

.sr-slide-ui-dots li.slick-active button {
  background-color: #000
}

.sr-slide-ui-arrow-prev,
.sr-slide-ui-arrow-next {
 border: #222 solid 1px;
 border-radius: 24px;
  position: relative;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  margin-right: 40px;
}
.sr-slide-ui-arrow-next,
.sr-slide-ui-arrow-next_style {
	margin: 0 0 0 40px;
}
/*
/*.sr-slide-ui-arrow-prev:before {
  content: "";
  width: 12px;
  height: 12px;
  transform: rotate(-45deg) translate(-3px, 0);
  border-left: 1px solid #000;
  border-top: 1px solid #000
}*/
.sr-slide-ui-arrow-prev::before,
.sr-slide-ui-arrow-next::before {
    content: "";
    display: block;
    position: absolute;
    top: 24px;
    left: 12px;
    width: 24px;
    height: 1px;
    background: #222;
	transition: 0.2s ease-in-out;
}
.sr-slide-ui-arrow-next::before {
	left: auto;
	right: 12px;
}

.sr-slide-ui-arrow-prev::after,
.sr-slide-ui-arrow-next::after {
    content: "";
    display: block;
    position: absolute;
    top: 22px;
    left: 12px;
    width: 8px;
    height: 1px;
    border-top: 1px solid #222;
    transform: rotate(135deg);
	transition: 0.2s ease-in-out;
}
.sr-slide-ui-arrow-next::after {
	left: auto;
	right: 12px;
	transform: rotate(45deg);
}
.sr-slide-ui-arrow-prev:hover::before,
.sr-slide-ui-arrow-prev:hover::after {
	left: -12px; 
	transition: 0.2s ease-in-out;
}
.sr-slide-ui-arrow-next:hover::before,
.sr-slide-ui-arrow-next:hover::after {
	right: -12px;
	transition: 0.2s ease-in-out;
}

/*.sr-slide-ui-arrow-next {
  position: relative;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer
}

.sr-slide-ui-arrow-next:before {
  content: "";
  width: 12px;
  height: 12px;
  transform: rotate(45deg) translate(3px, 0);
  border-right: 1px solid #000;
  border-top: 1px solid #000
}
*/

/* ------------------------

.modal

------------------------ */

.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.6);
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  touch-action: none;
}
.modal.active {
  opacity: 1;
  visibility: visible;
}
.modal__body {
  position: relative;
  display: block;
  max-width: 644px;
  width: 100%;
  margin: 0 15px;
  margin-top: 62px;
 
}
.modal__open {
  cursor: pointer;
}
.modal__close {
  display: block;
  width: 45px;
  height: 45px;
  position: absolute;
  right: 0;
  top: -62px;
}
.modal__close::before,
.modal__close::after {
  content: "";
  width: 60px;
  height: 2px;
  background-color: #FFFFFF;
  position: absolute;
  top: 50%;
  left: 50%;
}
.modal__close::before {
  transform: translate(-50%,-50%) rotate(-45deg);
}
.modal__close::after {
  transform: translate(-50%,-50%) rotate(45deg);
}
.modal__contents {
  padding: 36px 40px;
  background-color: #f2f2f2;
  box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.15);
  width: 100%;
  box-sizing: border-box;
  overflow: auto;
  overscroll-behavior: none;
}
.modal__contents::-webkit-scrollbar {
  display: none;
}
.modal__title {
  font-size: 26px;
  font-weight: 400;
  margin-bottom: 16px;
  line-height: 1.6;
}

.modal_list{}

.modal_list li {
	border-top: #222 solid 1px;
	box-sizing: border-box;
	margin-top: 20px;
	padding: 20px 0;
}
.modal_list li:first-child {
	border-top: none;
}
.modal__contents .modal_item_ttl {
	font-size: 18px;
	line-height: 1.6;
}
.modal__contents .modal_item_ttl .ttl_sub {
	font-size: 14px;
}
.modal_list .modal_item_wrap {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	margin-top: 20px;
}
.modal_list .modal_item_wrap .modal_item_photo {
	width: 240px;
}
.modal_list .modal_item_wrap .modal_item_photo img {
	height: auto;
	width: 100%;
}
.modal_list .modal_item_wrap .modal_item_txt {
	width: 300px;
}
.modal_list .modal_item_wrap .modal_item_txt p {
	font-size: 14px;
	line-height: 1.6;
}
.modal_annotation {
	color: #666;
	font-size: 12px;
	line-height: 1.6;
}

/*pop up　色を消す*/
button.mfp-close {
    background: none !important;
}
button.mfp-close:hover,
button.mfp-close:focus {
	background: none !important;
}
.mfp-content {
    border: none!important;
}


@media screen and (max-width: 640px) {
  .modal__body {
    margin-top: 43px;
  }
  .modal__close {
    width: 33px;
    height: 33px;
    top: -43px
  }
  .modal__close::before,
  .modal__close::after {
    width: 42px;
    height: 2px;
  }
  .modal__contents {
    padding: 40px 15px;
  }
  .modal__list--column3 {
    flex-direction: column;
    max-width: 86%;
    margin: 30px auto 40px;
  }
  .modal__list--column3 .modal__listItem {
    width: 100%;
  }
  .modal__list--column3 .modal__listItem:not(:last-of-type) {
    margin-bottom: 25px;
  }
  .modal__list--column2 {
    max-width: 100%;
    margin: 30px 0 -20px;
  }
  .modal__list--column2 .modal__listItem {
    margin-bottom: 20px;
  }
  .modal__title {
    font-size: 20px;
    margin-bottom: 20px;
  }
  .modal__list--column2 .modal__listText {
    padding: 7px;
  }
  .modal__list--column2 .modal__listTitle {
    font-size: 12px;
  }
  .modal__subtitle {
    font-size: 18px;
  }
  .modal--03 .annotation {
    text-align: left;
  }
  .modal--03 .modal__list--column3 {
    margin-top: 20px;
  }

  .modal_list .modal_item_wrap {
	display: block;
	margin-top: 20px;
	}
	.modal_list .modal_item_wrap .modal_item_photo {
		width: 100%;
	}

	.modal_list .modal_item_wrap .modal_item_txt {
		margin-top: 20px;
		width: 100%;
	}	

}
.annotation {
  font-size: 12px;
  color: #333333;
  line-height: 1.6;
}

/* ------------------------

.footerBanner

------------------------ */

.footerBanner {
  padding: 15px;
  background: #FFFFFF;
  box-shadow: 0px -12px 25px rgba(0, 0, 0, 0.0784313725);
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  width: 100%;
  box-sizing: border-box;
  transition: all 0.5s ease;
  opacity: 0;
  	background: #DEE8ED;
	border-bottom: #ccc solid 1px;
	border-top: #ccc solid 1px;
	box-sizing: border-box;
	padding: 29px 20px;
	width: 100%;
}


.footerBanner.active {
  opacity: 1;
}
.footerBanner__inner {
  width: 976px;
  margin: 0 auto;
  text-align: center;

}
.footerBanner__inner .button {
  max-width: 49%;
  font-size: 20px;
  padding: 15px 0;
}
.footerBanner__inner .button + .button {
  margin-top: 0;
}
.holdings-footer {
  margin-bottom: 84px;
}

.footerBanner .btn_onlineconsult_two {
	align-items: center;
}
@media screen and (max-width: 640px) {
  .footerBanner {
    padding: 0;
  }
  .footerBanner__inner {
    width: 100%;
  }
  .footerBanner__inner .button {
    max-width: 100%;
    width: 100%;
    font-size: 18px;
  }
  .footerBanner__inner .button::after,
  .footerBanner__inner .button + .button {
    display: none;
  }
  .holdings-footer {
    margin-bottom: 52px;
  }
}








