@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;900&family=Noto+Serif+JP:wght@400;500;600;700&family=Oswald:wght@500&family=Roboto+Condensed:wght@500;600&display=swap');

html {
  scroll-behavior: smooth;
  color: #404040;
  letter-spacing: 1px;
  overflow-x: hidden;
}
body{
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    background-image: url("../img/bg-main.webp");
	color: #574F46;
}
img{
	width: 100%;
	height: auto;
	display: block;
}
section{
	padding: 80px 0;
}
a{
	transition: all 0.3s ease-out;
}
a:hover{
	opacity: 0.7;
}
p{
    line-height: 2;
    letter-spacing: 2px;
}
h1,h2,h3{
}

@media screen and (max-width:768px){
	p{
		font-size: 14px;
		letter-spacing: 1px;
	}
	section{
		padding: 40px 0;
		margin-bottom: 0!important;
	}
}

.width-ss,.width-s,.width-sm,.width-m,.width-ml,.width-l,.width-ll{
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.width-ss{max-width: 800px;}
.width-s{max-width: 900px;}
.width-sm{max-width: 1000px;}
.width-m{max-width: 1200px;}
.width-ml{max-width: 1300px;}
.width-l{max-width: 1400px;}
.width-ll{max-width: 1500px;}
.width-full{
	max-width: 2000px;
	margin-left: auto;
	margin-right: auto;
}

.flex,.flex-al{
    display: flex;
    flex-wrap: wrap;
}
.flex-sb,.flex-sb-al{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.flex-item{
	margin-bottom: 60px;
}
.flex-item div{
	flex-basis: 48%;
}
.text-r{
    text-align: right;
}
.text-c{
    text-align: center;
}

.sec-title{
    text-align: center;
    margin-bottom: 80px;
}
.sec-title .en{
    display: block;
    font-size: 42px;
    letter-spacing: 3px;
}
.sec-title p{
	margin-top: 50px;
	font-size: 18px;
}
.sec-title2{
    text-align: center;
    margin-bottom: 60px;
}
.sec-title2 .en{
    display: block;
    font-size: 40px;
    font-weight: 400;
}
.sec-title2 .jp{
	font-size: 24px;
}
.sec-title3{
    margin-bottom: 60px;
    text-align: center;
}
.sec-title3 h2 .en{
    font-family: Impact, 'Anton', sans-serif;
    display: block;
    font-size: 48px;
    letter-spacing: 2px;
}
.sec-title3 h2 .jp{
	font-size: 22px;
}



.more{
    display: block;
    width: 180px;
    border-bottom: 1px solid;
    text-align: left;
    padding: 0 5px 5px;
    position: relative;
	margin-top: auto;
    margin-left: auto;
}
.more::after{
	content: "⇀";
	position: absolute;
	top: 50%;
	right: 8px;
	transform: translate(0, -50%);
	font-size: 20px;
	transition: all 0.2s ease;
}
.more:hover::after{
	transform: translate(7px, -50%);
}

.link-btn .btn{
    background: #574F46;
    color: #fff;
    font-size: 14px;
    padding: 13px 70px 13px 50px;
    position: relative;
	display: inline-block;
}
.link-btn .btn::after{
    content: "⇀";
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translate(0, -50%);
    font-size: 20px;
    transition: all 0.2s ease;
}
.link-btn .btn:hover::after{
	transform: translate(7px, -50%);
}
.link-btn button.btn{
	border: none;
	cursor: pointer;
	font-family: inherit;
	letter-spacing: 1px;
}
.link-btn button.btn:disabled{
	cursor: default;
	opacity: 0.7;
}

.cover{
	height: 100%;
	object-fit: cover;
}
.bunner{
    max-width: 1000px;
    margin: 100px auto 0;
}
.bg1{
	background-image: url("../img/bg1.webp");
}
.imp{
    font-family: Impact, 'Anton', sans-serif;
}

@media screen and (max-width:768px){
    .flex:not(.slick-initialized):not(.slick-track):not(.slick-list),
    .flex-sb:not(.slick-initialized),
    .flex-c:not(.slick-initialized){
        display: block;
    }
	.flex-item>div:first-of-type{
		margin-bottom: 15px;
	}
	.sec-title{
		margin-bottom: 40px;
	}
	.sec-title .en{
		font-size: 28px;
	}
	.sec-title p{
		margin-top: 24px;
		font-size: 14px;
		text-align: left;
	}
	.sec-title2{
		margin-bottom: 36px;
	}
	.sec-title2 .en{
		font-size: 28px;
	}
	.sec-title2 .jp{
		font-size: 18px;
	}
	.sec-title3{
		margin-bottom: 36px;
	}
	.sec-title3 h2 .en{
		font-size: 32px;
	}
	.sec-title3 h2 .jp{
		font-size: 18px;
	}
	.bunner{
		margin: 50px auto 0;
	}
	.link-btn .btn{
		padding: 12px 50px 12px 28px;
		font-size: 13px;
	}
	.rev{
		flex-direction: column;
	}
	.more {
		width: 130px;
		font-size: 14px;
	}
}
/**************** アニメーション ****************/
.hover-darken img {
  transition: filter 0.3s ease;
}
.hover-darken:hover{
  opacity: 1 !important;
}
.hover-darken:hover img {
  filter: brightness(50%);
}

.hover-zoom div{
    overflow: hidden;
    display: inline-block;
}
.hover-zoom div.works-item-img{
	display: block;
}
.hover-zoom img {
  transition: transform 0.3s ease;
  display: block;
  width: 100%;
  height: auto;
}
.hover-zoom:hover img {
  transform: scale(1.1);
}

.hover-opacity{
    transition: opacity 0.3s ease;
}
.hover-opacity:hover{
    opacity: 0.7;
}
/**************** ヘッダー ****************/
.site-header{
    position: fixed;
    z-index: 10;
}


.top-nav{
    position: fixed;
    top: 0;
    left: 0;
    height: 80px;
    width: 100%;
    padding: 0 100px 0 20px;
    color: #fff;
    background-color: transparent;
    font-size: 14px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: space-between;
	z-index: 9;
    transition: all 0.3s ease;
	text-shadow: 1px 1px 2px rgba(0,0,0,0.7);
}
.top-nav.scrolled{
	background: rgba(255,255,255,0.7);
	text-shadow: none;
}
.header-tagline{
    font-size: 9px;
    position: absolute;
    top: 9px;
    left: 20px;
    letter-spacing: 0px;
}
.scrolled .header-tagline{
	color: #404040;
}
.top-nav img{
    position: absolute;
    top: 27px;
    left: 40px;
    opacity: 0;
    width: 200px;
    transition: opacity 0.3s ease;
}
.top-nav img.white-logo {
  opacity: 1;
  z-index: 2;
}
.top-nav img.navy-logo {
  z-index: 1;
}
.top-nav ul li a{
    border: 1px solid;
    padding: 5px 30px;
	box-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}
.top-nav.scrolled ul li a{
    color: #404040;
	box-shadow: none;
}
/* スクロール時のロゴ切り替え */
.top-nav.scrolled img.white-logo {
  opacity: 0;
}
.top-nav.scrolled img.navy-logo {
  opacity: 1;
}
.top-nav>ul{
	display: flex;
	justify-content: flex-end;
}
.top-nav>ul>li{
	margin-left: 3%;
    position: relative;
}
.top-nav-hover{
    display: none;
    position: absolute;
    top: 100%;
    z-index: 1;
}
.has-submenu{
    position: relative;
}
.has-submenu:hover .top-nav-hover, .top-nav-hover:hover {
    display: block;
}
.scrolled .has-submenu:hover .top-nav-hover, .scrolled .top-nav-hover:hover {
    background: #fff;
    padding: 10px;
    left: -10px;
    top: calc(100% + 10px);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.top-nav-hover li{
    padding-top: 10px;
}
.has-submenu::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 15px; /* ← この高さ分の透明な領域を作る */
    background: transparent;
}
.page-header-nav .has-submenu:hover .top-nav-hover{
    background: #fff;
    padding: 10px;
    white-space: nowrap;
    left: -10px;
    top: calc(100% + 10px);
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.4);
}

@media screen and (max-width:1270px){
	.top-nav>ul{
		display: none;
	}
}

.hamburger button {
  display: inline-block;
  width: 60px; /* ボタンの幅 */
  height: 60px; /* ボタンの高さ */
  border: none; /* ボーダーを非表示に */
  cursor: pointer; /* カーソルをポインターに */
  padding: 0; /* パディングをリセット */
  outline: none; /* アウトラインを非表示に */
  box-sizing: border-box; /* ボックスサイズをborder-boxに */
  position: fixed;
  top: 10px;
  right: 10px;
  z-index: 100;
  background: transparent;
}
.page-hamburger button{
	right: 10px;
}
.hamburger button:focus {
  outline: none; /* フォーカス時のアウトラインを非表示に */
}
.hamburger button span {
  display: block;
  position: absolute;
  left: 50%; /* 中心から横に配置 */
  top: 50%; /* 中心から縦に配置 */
  width: 30px; /* 線の幅 */
  height: 3px; /* 線の高さ */
  background-color: #fff;
  margin-left: -15px; /* 線の長さの半分を左にずらす */
  transition: background-color 0.3s ease; /* アニメーション効果 */
}
.hamburger button.scrolled span{
  background-color: #404040;
}
.hamburger button.button-active span{
  background-color: #fff;
}
.page-hamburger button span{
	background: #fff;
}
.hamburger button span:nth-child(1) {
  top: calc(50% - 12px); /* 上の線の位置 */
  transform-origin: center;
}

.hamburger button span:nth-child(2) {
  top: calc(50% - 1.5px); /* 中央の線の位置 */
  transform-origin: center;
}

.hamburger button span:nth-child(3) {
  top: calc(50% + 9px); /* 下の線の位置 */
  transform-origin: center;
}

.hamburger button.button-active span:nth-child(1) {
  transform: rotate(45deg) translate(7px, 8px);
}

.hamburger button.button-active span:nth-child(2) {
  opacity: 0;
}

.hamburger button.button-active span:nth-child(3) {
  transform: rotate(-45deg) translate(7px, -7px);
}
.hamburger-menu {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  right: -100%; /* デフォルトでは画面外 */
  background: #595959;
  color: #fff;
  overflow-y: auto;
  transition: all 0.5s ease; /* スムーズな表示効果 */
}
.hamburger-menu.open {
  right: 0; /* メニューを表示 */
  z-index: 90;
}
.hamburger-menu a{
	color: #fff;
}
.hamburger-menu__inner{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 90px 0 50px;
	min-height: 100%;
	box-sizing: border-box;
}
.hamburger-menu .hamb-logo{
	display: block;
	width: 220px;
	margin: 0 auto 50px;
}
.hamburger-menu .footer-nav{
	width: 100%;
	flex: none;
	max-width: 1000px;
	margin: 0 auto;
	gap: 20px;
}
.hamburger-menu .hamb-sns{
	margin-top: 24px;
}
.hamburger-menu .hamb-sns img{
	width: 36px;
	height: auto;
}
@media screen and (max-width:1100px){
	.hamburger-menu .footer-nav{
		flex-wrap: wrap;
		gap: 30px 0;
	}
	.hamburger-menu .footer-nav-col{
		flex: none;
		width: 50%;
		box-sizing: border-box;
		padding-right: 20px;
	}
}
.hamb-in{
    display: flex;
    min-height: 100vw;
}
.hamb-img{
    flex-basis: 33%;
}
.hamb-img img{
    height: 100dvh;
    object-fit: cover;
}
.hamb-text{
    flex-basis: 67%;
    padding: 80px;
}
@media screen and (min-width:1500px){
	.hamb-img{
		flex-basis: 40%;
	}
	.hamb-text{
		flex-basis: 60%;
	}
}
.hamb-logo{
    width: 250px;
    margin-bottom: 60px;
}
.hamb-flex{
    display: flex;
    justify-content: space-between;
}
.hamb-l{
    flex-basis: 62%;
}
.hamb-nav-top, .hamb-nav-foot{
    display: flex;
}
.hamb-nav-top nav, .hamb-nav-foot nav{
    flex-basis: 50%;
}
.hamb-flex h2{
    font-family: "Noto Serif JP", serif;
    font-size: 20px;
    letter-spacing: 1px;
    margin-bottom: 15px;
    position: relative;
    font-weight: bold;
}
.hamb-flex h2::before{
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    background-image: url("../img/hamb-arrow.svg");
    background-size: contain;
    background-repeat: no-repeat;
    top: 13px;
    left: -27px;
}
.hamb-flex h2 img{
    width: auto;
    height: 30px;
}
.hamb-flex nav{
    margin-bottom: 30px;
}
.hamb-flex nav li{
    margin-bottom: 15px;
}
.hamb-r{
    flex-basis: 35%;
    display: flex;
    flex-direction: column-reverse;
}
.hamb-btn{
    background: #595959;
    text-align: center;
    color: #fff;
    width: 90%;
    margin: 0 auto 30px;
}
.hamb-btn a{
    display: block;
    padding: 15px 0;
}
.hamb-insta{
    width: 85%;
    margin: 0 auto 30px;
}
.hamb-tel{
    margin-top: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
.hamb-tel-icon{
    flex-basis: 60px;
}
.hamb-tel-r p{
    font-size: 14px;
}
.hamb-tel-r a{
    font-size: 30px;
    padding: 5px 0;
    font-weight: bold;
    font-family: "Noto Serif JP", serif;
}
.page-hamburger button{
	background-color: rgb(55, 57, 97);
}

@media screen and (max-width:768px){
	.top-nav{
		height: 50px!important;
	}
	.top-nav img{
		width: 130px;
        top: 15px;
        left: 15px;
	}
	.hamburger button {
		top: 0px;
		right: 5px;
		width: 50px;
		height: 50px;
	}	
	.page-header{
		padding: 5px 0 5px 20px;
		height: 60px;
	}
	.front-page .hamburger button{
		width: 50px;
		height: 40px;
		margin-right: 5px;
	}
	.hamburger-menu{
        overflow-y: auto;
	}
	.hamburger-menu__inner{
		padding: 70px 0 40px;
	}
	.hamburger-menu .hamb-logo{
		width: 180px;
		margin-bottom: 36px;
	}
	.hamburger-menu .footer-nav-col {
		width: 100%;
	}
	.hamburger-menu .footer-nav-col h3 span{
		font-size: 18px;
	}
	.hamburger-menu .footer-nav-col ul li a{
		font-size: 13px;
	}
    .hamb-in, .hamb-flex, .hamb-r, .hamb-nav-top, .hamb-nav-foot{
        display: block;
    }
    .hamb-text{
        padding: 50px 30px;
    }
    .hamb-logo{
        margin: 0 auto 30px;
    }
    .hamb-r{
        margin-bottom: 50px;
    }
    .hamb-tel {
        justify-content: center;
        gap: 5%;
        margin-bottom: 30px;
    }
    .hamb-tel-r p:first-of-type{
        display: none;
    }
    .hamb-tel-icon {
        flex-basis: 45px;
    }
    .hamb-tel-r a {
        font-size: 26px;
        padding: 0;
        line-height: 1;
    }
    .hamb-btn {
        width: 100%;
        margin: 0 auto 10px;
        position: relative;
    }
    .hamb-btn::after{
        content: "";
        position: absolute;
        width: 20px;
        height: 20px;
        background-image: url("../img/icon-btn-right-w.png");
        background-size: contain;
        background-repeat: no-repeat;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
    }
    .hamb-flex nav li{
        position: relative;
        border-bottom: 1px solid;
    }
    .hamb-flex nav li::after{
        content: "";
        position: absolute;
        width: 20px;
        height: 20px;
        top: 50%;
        transform: translateY(-50%);
        right: 0;
        background-image: url("../img/icon-btn-right-w.png");
        background-size: contain;
        background-repeat: no-repeat;
    }
    .hamb-flex nav li a{
		font-size: 14px;
        padding-bottom: 5px;
        display: block;
    }
	.page-header h1 {
		width: 160px;
	}
	.page-hamburger button{
		width: 40px;
		height: 40px;
	}
	.page-hamburger .hamburger-menu{
	    margin-top: 0;
    	padding-top: 20px;
	}
}

/**************** front-page ****************/
.front-slider-area{
    position: relative;
	padding: 0;
}
.front-slider {
  position: relative;
  height: 93vh;
  overflow: hidden;
  padding-bottom: 50px;
}
.front-slide {
  overflow: hidden;
  height: 100%;
}
.front-slide img {
  width: 100%;
  height: 93vh;
  object-fit: cover;
  transform: scale(1);
  transition: transform 8s linear;
}
.front-slider .slick-slide.zooming img {
  transform: scale(1.06);
}
.front-slider .slick-dots{
    bottom: 25px;
}
.front-slider-text{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
}
.front-slider-text h1{
    font-family: "Noto Serif JP", serif;
    color: #fff;
    font-size: 58px;
    margin-left: 10%;
    text-shadow: 2px 2px 2px rgba(0,0,0,0.8);
    letter-spacing: 3px;
    line-height: 1.4;
    font-weight: 600;
    text-align: right;
}
.front-slider-text h1 small{
    font-size: 28px;
    letter-spacing: 5px;
}
.event-items{
    gap: 30px;
    margin-bottom: 80px;
}
.event-item{
	flex-basis: calc(100% / 3 - 20px);
}
.event-item a{
	display: flex;
	flex-direction: column;
	gap: 15px;
    background: #fff;
    padding: 20px;
    box-shadow: 3px 3px 5px rgba(0,0,0,0.3);
}
.event-item-img img{
    aspect-ratio: 4/3;
    object-fit: cover;
}
.event-status{
    text-align: center;
    font-size: 15px;
    letter-spacing: 0.08em;
    padding: 8px 10px;
    line-height: 1.4;
    border: 1px solid #222;
}
.event-status.yoyaku-open{
    background: #fff;
    color: #222;
}
.event-status.yoyaku-end{
    background: #222;
    color: #fff;
}
.event-item-info h3{
    padding: 0 10px 10px;
    border-bottom: 1px dashed;
    margin-bottom: 12px;
    font-size: 18px;
	line-height: 1.7;
}
.event-item-info dl{
	margin-bottom: 9px;
}
.event-item-info dt{
    background: #574F46;
    color: #fff;
    font-size: 13px;
    display: flex;
    align-items: center;
    padding: 5px;
    flex-basis: 80px;
    justify-content: center;
}
.event-item-info dd{
    font-size: 15px;
    flex-basis: calc(100% - 100px);
    padding: 5px 0;
}
.f-concept{
	padding-top: 0;
}
.f-concept-top{
	background-image: url("../img/front/concept.webp");
	background-size: cover;
	background-position: center;
	color: #fff;
	padding: 120px 0;
	margin-bottom: 100px;
}
.f-concept-in{
    align-items: center;
    max-width: 1220px;
    margin: auto;
}
.f-concept-in h2{
    flex-basis: 450px;
    font-family: "Yu Mincho",
		"YuMincho",
		"Noto Serif JP",
		serif;
    text-align: right;
}
.f-concept-in h2 .en{
    display: block;
    font-size: 40px;
    letter-spacing: 5px;
}
.f-concept-in h2 .ja{
	font-size: 20px;
}
.f-concept-in-r{
	flex-basis: calc(100% - 580px);
}
.f-concept-in-r p{
    line-height: 2.5;
    margin-bottom: 30px;
}
.f-concept-bn a{
    flex-basis: 48%;
    aspect-ratio: 5/3;
    background-size: cover;
	position: relative;
	color: #fff;
    text-shadow: 2px 2px 1px rgba(0,0,0,0.7);
}
.f-concept-bn a::before{
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.35);
	z-index: 1;
}
.f-concept-bn a::after{
	content: "";
	position: absolute;
	inset: 20px;
	border: 2px solid #fff;
	pointer-events: none;
	z-index: 4;
}
.f-concept-bn a:first-of-type{
	background-image: url("../img/front/visiter.webp");
}
.f-concept-bn a:last-of-type{
	background-image: url("../img/front/online.webp");
}
.f-concept-bn h2{
    display: flex;
    width: 100%;
    height: 100%;
	flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
	gap: 2%;
}
.f-concept-bn h2 .en{
    font-size: 28px;
}
.f-concept-bn .more{
    position: absolute;
    bottom: 40px;
    right: 60px;
    z-index: 3;
}
.f-concept-bn a:hover .more::after{
	transform: translate(7px, -50%);
}
.f-lineup{
	background-image: url("../img/bg1.webp");
}
.f-lineup-item{
	flex-basis: 47%;
}
.f-lineup-item h3{
	margin: 20px auto 25px;
	text-align: center;
}
.f-lineup-item h3 .en{
    display: block;
    font-size: 34px;
    margin-bottom: 7px;
}
.f-lineup-item h3 .jp{
	font-size: 18px;
}
.f-lineup-item p{
	padding: 0 5% 20px;
}

.works-items{
	gap: 50px 30px;
	margin-bottom: 80px;
}
.works-item{
	flex-basis: calc(100% / 3 - 20px);
}
.works-item a{
    display: flex;
    flex-direction: column;
	height: 100%;
}
.works-item-img{
	margin-bottom: 15px;
}
.works-item-img img{
	aspect-ratio: 3/2;
	object-fit: cover;
}
.works-basho{
	font-size: 14px;
	font-weight: bold;
}
.works-nairan{
	background: #574F46;
	color: #fff;
	padding: 5px 20px;
	font-size: 14px;
}
.works-status{
    align-items: center;
    margin-bottom: 10px;
	height: 30px;
}
.works-item h3{
    margin-bottom: 30px;
    font-size: 18px;
    line-height: 1.7;
}
.works-item .more{
	margin-top: auto;
}

@media screen and (max-width:768px){
	.front-page .works-item:nth-child(n+4){
		display: none;
	}
	.works-items{
		gap: 0;
		margin-bottom: 40px;
	}
	.works-item{
		width: 100%;
		max-width: none;
		margin-bottom: 28px;
	}
	.works-item h3{
		font-size: 14px;
		margin-bottom: 16px;
	}
}

.f-support{
	background-image: url("../img/bg1.webp");
}
.f-support-items{
	padding: 0 40px;
	gap: 3px;
}
.f-support-item{
	flex-basis: calc(100% / 3 - 2px);
    display: block;
	position: relative;
}
.f-support-item a{
    aspect-ratio: 3/2;
    background-size: cover;
    color: #fff;
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 40px 30px 30px;
}
.f-support-item a::after{
	content: "";
	inset: 0;
	background: rgba(0,0,0,0.5);
	position: absolute;
}
.f-support-item:hover .more::after{
	transform: translate(7px, -50%);
}
.f-support-item h3{
	margin-top: auto;
}
.f-support-item .sup1{
	background-image: url("../img/front/sp1.webp");
}
.f-support-item .sup2{
	background-image: url("../img/front/sp2.webp");
}
.f-support-item .sup3{
	background-image: url("../img/front/sp3.webp");
}
.f-support-item .sup4{
	background-image: url("../img/front/sp4.webp");
}
.f-support-item .sup5{
	background-image: url("../img/front/sp5.webp");
}
.f-support-item .sup6{
	background-image: url("../img/front/sp6.webp");
}
.f-support-item .flex-al{
    position: relative;
    z-index: 1;
    text-align: center;
    gap: 15%;
    flex-direction: column;
	height: 100%;
	flex-wrap: nowrap;
}
.f-support-item h3 .en{
    display: block;
    font-size: 30px;
}
.f-support-item h3 .jp{
	font-size: 14px;
}
.f-support-item .flex-al P{
	font-size: clamp(12px, 0.9vw, 16px);
	letter-spacing: 0px;
}
.f-about-item{
    background-size: cover;
    flex-basis: 49%;
    aspect-ratio: 3/2;
    padding: 5% 0;
}
.f-about-item.company{
	background-image: url("../img/front/company.webp");
}
.f-about-item.staff{
	background-image: url("../img/front/staff.webp");
}
.f-about-item a{
    display: block;
    height: 100%;
    padding: 7% 0;
    background: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.8) 100%);
	color: #fff;
}
.f-about-item-in{
    width: 50%;
    margin-left: auto;
    padding-right: 20px;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.f-about-item-in h3{
	text-align: center;
}
.f-about-item-in h3 .en{
    display: block;
    font-size: 40px;
    letter-spacing: 2px;
}
.f-about-item-in h3 .jp{
	font-size: 18px;
}
.bunner>a:not(:last-of-type){
    margin-bottom: 20px;
    display: block;
}
.f-blog{
	background-image: url("../img/bg1.webp");
}
.f-blog-items,.f-news-items{
	margin-bottom: 80px;
	gap: 20px;
}
.f-blog-item{
	flex-basis: calc(100% / 4 - 15px); 
}
.f-blog-item a{
	display: flex;
	flex-direction: column;
	height: 100%;
}
.f-blog-img{
	margin-bottom: 15px;
}
.f-blog-img img{
	aspect-ratio: 3/2;
	object-fit: cover;
}
.f-blog-item .date{
	font-size: 14px;
}
.f-blog-item h3{
    margin: 15px auto;
    line-height: 1.7;
}
.f-blog-item .more{
	margin-top: auto;
}
.f-news-items{
	border-top: 1px solid #ccc;
}
.f-news-item{
    padding: 15px;
    border-bottom: 1px solid #ccc;
	display: flex;
	flex-direction: column;
}
.f-news-item a{
	flex-wrap: nowrap;
	align-items: center;
}
.f-news-item .date{
    font-size: 14px;
    letter-spacing: 0.7px;
    flex-basis: 100px;
}
.f-news-item .cate{
    background: #574F46;
    color: #fff;
    flex-basis: 140px;
    text-align: center;
    font-size: 14px;
    padding: 5px;
}
.f-news-item h3{
	flex-basis: calc(100% - 300px);
}

.contact-area{
	background-image: url("../img/cta-contact.webp");
	background-size: cover;
	background-position: center;
	color: #fff;
    text-shadow: 2px 2px 1px rgba(0,0,0,0.7);	
}
.contact-area-inner{
	text-align: center;
}
.contact-area .sec-title {
    margin-bottom: 50px;
}
.contact-text1{
	display: inline-block;
	border-bottom: 1px solid;
	padding-bottom: 8px;
	margin-bottom: 30px;
}
.contact-tel{
	margin-bottom: 40px;
}
.contact-tel a span{
    font-size: 34px;
    display: inline-block;
    margin: 0 20px 0 10px;
    font-weight: 900;
	transform: translateY(3px);
}
.contact-tel a small{
	font-size: 15px;
}
.btn-flex2{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
}
.btn-flex2 a{
    flex: 1;
    border: 2px solid;
    padding: 15px 30px 15px 10px;
    text-align: center;
    display: block;
    position: relative;
}
.btn-flex2 a::after{
    content: "⇀";
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    font-size: 30px;
}
.site-footer{
    background: #595959;
    padding: 50px 0;
    color: #fff;
}
.footer-info{
    flex-basis: 350px;
    font-size: 14px;
}
.footer-logo{
    width: 100%;
    display: block;
    max-width: 220px;
    margin-bottom: 40px;
}
.footer-nav{
	flex: 1;
	display: flex;
}
.footer-nav-col{
	flex: 1;
}
.footer-nav-col h3{
	margin-bottom: 15px;
}
.footer-nav-col h3 small{
	font-size: 13px;
}
.footer-nav-col h3 span{
	font-size: 22px;
	display: block;
}
.footer-nav-col ul li:not(:last-of-type){
	margin-bottom: 10px;
}
.footer-nav-col ul li a{
	font-size: 14px;
}


@media screen and (max-width:768px){
	.front-slider, .front-slider-area .slick-track{
		height: 100vh;
		padding-bottom: 30px;
	}
	.front-slide img{
		height: 90vh;
	}
	.front-slider-text {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.front-slider-text h1{
		font-size: 22px;
		margin: auto;
		text-align: center;
		padding: 0 5%;
	}
	.front-slider-text h1 small{
		font-size: 14px;
		letter-spacing: 2px;
	}
	.f-event{
		padding-top: 0;
		overflow: hidden;
		max-width: 100%;
	}
	.f-event .event-items{
		margin-left: auto;
		margin-right: auto;
		max-width: 100%;
	}
	.f-event .event-items.slick-initialized{
		overflow: hidden;
		padding-bottom: 36px;
	}
	.f-event .event-items .slick-list{
		overflow: hidden;
		margin: 0;
	}
	.f-event .event-items .slick-slide{
		box-sizing: border-box;
		height: auto;
	}
	.f-event .event-items .slick-slide > article,
	.f-event .event-items:not(.slick-initialized) .event-item{
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}
	.f-event .event-items .slick-dots{
		bottom: 0;
	}
	.event-items{
		gap: 16px;
		margin-bottom: 40px;
	}
	.event-item{
		margin-bottom: 0;
		flex-basis: 100%;
		box-sizing: border-box;
	}
	.event-item a{
		padding: 12px;
		gap: 10px;
		box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		overflow: hidden;
	}
	.event-item-img{
		width: 100%;
		max-width: 100%;
		overflow: hidden;
		line-height: 0;
	}
	.f-event .event-item-img img{
		width: 100%;
		max-width: 100%;
		height: auto;
		max-height: 200px;
	}
	.event-status{
		font-size: 13px;
		padding: 6px 8px;
		box-sizing: border-box;
	}
	.event-item-info{
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}
	.event-item-info h3{
		font-size: 14px;
		line-height: 1.6;
		margin-bottom: 8px;
		padding: 0 4px 8px;
		word-break: break-word;
	}
	.event-item-info dl.flex-sb-al{
		margin-bottom: 10px;
		width: 100%;
		max-width: 100%;
	}
	.event-item-info dt{
		font-size: 12px;
		padding: 4px 8px;
		box-sizing: border-box;
	}
	.event-item-info dd{
		font-size: 13px;
		display: block;
		word-break: break-word;
		overflow-wrap: anywhere;
		line-height: 1.5;
		box-sizing: border-box;
	}
	.event-item .more{
		width: 120px;
		max-width: 100%;
		font-size: 13px;
		margin-left: auto;
		margin-right: 0;
	}
	.f-concept-top{
		padding: 60px 5%;
		margin-bottom: 50px;
	}
	.f-concept-in h2{
		text-align: center;
		margin-bottom: 30px;
	}
	.f-concept-in h2 .en{
		font-size: 28px;
	}
	.f-concept-in h2 .ja{
		font-size: 16px;
	}
	.f-concept-in-r p{
		line-height: 2;
		margin-bottom: 20px;
	}
	.f-concept-bn.flex-sb{
		display: flex;
		flex-direction: column;
		gap: 16px;
	}
	.f-concept-bn a{
		display: flex;
		flex-direction: column;
		position: relative;
		width: 100%;
		aspect-ratio: 5 / 3;
		min-height: 180px;
		padding: 14px;
		box-sizing: border-box;
		background-size: cover;
		background-position: center;
		overflow: hidden;
	}
	.f-concept-bn a::after{
		inset: 14px;
	}
	.f-concept-bn a:first-of-type{
		background-image: url("../img/front/visiter.webp");
	}
	.f-concept-bn a:last-of-type{
		background-image: url("../img/front/online.webp");
	}
	.f-concept-bn h2 .en{
		font-size: 22px;
	}
	.f-concept-bn .more{
		bottom: 25px;
		right: 25px;
		width: 100px;
		font-size: 14px;
	}
	.f-lineup-item:not(:last-of-type) {
		margin-bottom: 30px;
	}
	.f-lineup-item h3 .en{
		font-size: 26px;
	}
	.f-lineup-item h3 .jp{
		font-size: 14px;
	}
	.f-support {
		padding-bottom: 0;
	}
	.f-support-item {
		margin-bottom: 3px;
	}
	.f-support-items{
		padding: 0;
		gap: 12px;
	}
	.f-support-item a{
		padding: 28px 20px 24px;
		min-height: 200px;
	}
	.f-support-item h3 .en{
		font-size: 22px;
	}
	.f-support-item .flex-al{
		display: flex;
		flex-direction: column;
		gap: 12px;
	}
	.f-about-item{
		margin-bottom: 16px;
		aspect-ratio: auto;
		min-height: 220px;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.f-about-item a{
		padding: 24px 0;
		background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.35) 100%);
	}
	.f-about-item-in{
		width: 90%;
		margin: 0 auto;
		padding-right: 0;
	}
	.f-about-item-in h3 {
		margin-bottom: 10px;
	}
	.f-about-item-in h3 .en{
		font-size: 24px;
	}
	.f-about-item-in h3 .jp {
		font-size: 14px;
	}
	.f-blog .slick-dots {
		bottom: -40px;
	}
	.f-blog-items, .f-news-items{
		margin-bottom: 80px !important;
	}
	.f-news-item a{
		display: block;
	}
	.f-news-item .date,
	.f-news-item .cate{
		flex-basis: auto;
		margin-bottom: 8px;
	}
	.f-news-item .cate {
		font-size: 12px;
		padding: 3px 5px;
	}
	.f-news-item h3{
		font-size: 14px;
		margin-top: 5px;
	}
	.contact-area .sec-title{
		margin-bottom: 30px;
	}
	.contact-tel a span{
		font-size: 26px;
	}
	.btn-flex2{
		flex-direction: column;
		gap: 12px;
	}
	.btn-flex2 a{
		width: 100%;
		padding: 14px 40px 14px 16px;
	}
	.site-footer{
		padding: 40px 0;
	}
	.footer-info{
		margin-bottom: 36px;
	}
	.footer-logo{
		max-width: 180px;
		margin-bottom: 24px;
	}
	.footer-nav{
		display: block;
	}
	.footer-nav-col{
		margin-bottom: 28px;
	}
	.footer-nav-col h3 span{
		font-size: 18px;
	}
}

/******************* page共通 ***********************/
.page-top{
    padding: 0;
    position: relative;
    margin-bottom: 10px;
}
.page-top-img{
	position: relative;
}
.page-top-img img{
	height: 60vh;
	object-fit: cover;
}
.page-top-in{
	position: absolute;
	inset: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	text-align: center;
    font-family: "Noto Serif JP", serif;
    font-weight: bold;
}
.page-top-title .en{
    font-size: 50px;
	letter-spacing: 2px;
	text-shadow: 2px 2px 1px rgba(0,0,0,0.5);
}
.page-top-title .jp{
	font-size: 24px;
	letter-spacing: 1px;
	text-shadow: 2px 2px 1px rgba(0,0,0,0.5);
}
.breadcrumb{
	margin-bottom: 80px;
}
.breadcrumb ul{
	display: flex;
	align-items: center;
	gap: 10px 20px;
	font-size: 14px;
}
.breadcrumb ul li:not(:first-of-type){
	position: relative;
	padding-left: 20px;
}
.breadcrumb ul li:not(:first-of-type)::after{
	content: ">";
	position: absolute;
	left: 0;
}

.page-top1,.page-top2{
	padding-top: 0;
}
.page-top1-info{
    flex-basis: 50%;
    padding: 0 5%;
    align-self: center;
}
.page-top1-info-in{
	max-width: 600px;
	margin: 0 auto;
}
.page-top1-info .main{
    font-size: 28px;
    letter-spacing: 5px;
    margin-bottom: 30px;
	line-height: 1.7;
}
.page-top1-info p{
    font-size: 18px;
}
.page-top1-img{
	flex-basis: 50%;
}
.page-top1-img img{
	height: 100%;
	object-fit: cover;
}
.page-top2 .main{
	font-size: 28px;
	text-align: center;
	margin-bottom: 50px;
}



.page-sec-title{
    margin-bottom: 80px;
    text-align: center;
}
.page-sec-title .main{
    font-size: 30px;
    position: relative;
	line-height: 1.8;
}
.page-sec-title .main::after{
    content: "";
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    height: 1px;
    width: 240px;
    background: #574F46;
}
.page-sec-title p{
	margin-top: 70px;
}

.page-foot{
	text-align: center;
}
.page-foot .line{
    margin: 0 auto 50px;
    width: 1px;
    height: 150px;
    background: #333;
}
.page-foot h2{
    font-size: 24px;
    margin-bottom: 60px;
}
.page-foot h2 .imp{
    font-size: 50px;
    font-family: Impact, 'Anton', sans-serif;
    display: block;
    color: #404040;
    opacity: 0.5;
}
.page-foot p{
	line-height: 2.4;
}
.page-id-62 .page-top-img::after, .page-id-56 .page-top-img::after, .post-type-archive-works .page-top-img::after, .single-works .page-top-img::after{
    content: "";
    background: rgba(0,0,0,0.2);
    inset: 0;
    position: absolute;
}
.kotei-page h2{
	font-size: 28px;
	margin-bottom: 30px;
}

@media screen and (max-width:768px){
	.page-top-img img{
		height: 45vh;
		min-height: 220px;
	}
	.page-top-title .en{
		font-size: 32px;
	}
	.page-top-title .jp{
		font-size: 16px;
	}
	.breadcrumb{
		margin-bottom: 36px;
	}
	.breadcrumb ul{
		flex-wrap: wrap;
		gap: 5px 20px;
		font-size: 12px;
		margin-top: 5px;
	}
	.breadcrumb ul li:not(:first-of-type)::after{
		top: 50%;
		transform: translateY(-50%);
	}
	.page-top1{
		width: 90%;
		margin: 0 auto 20px;
	}
	.page-top1-info{
		padding: 24px 0;
	}
	.page-top1-info .main{
		font-size: 20px;
		letter-spacing: 2px;
		margin-bottom: 20px;
	}
	.page-top1-info p{
		font-size: 14px;
	}
	.page-top1-img{
		margin-bottom: 0;
	}
	.page-top1-img img{
		height: auto;
		max-height: 280px;
	}
	.page-top2 .main{
		font-size: 20px;
		margin-bottom: 30px;
		padding: 0 2%;
	}
	.page-sec-title{
		margin-bottom: 40px;
	}
	.page-sec-title .main{
		font-size: 20px;
	}
	.page-sec-title .main::after{
		width: 120px;
		bottom: -12px;
	}
	.page-sec-title p{
		margin-top: 36px;
		text-align: left;
	}
	.page-foot .line{
		height: 80px;
		margin-bottom: 30px;
	}
	.page-foot h2{
		font-size: 18px;
		margin-bottom: 36px;
		line-height: 1.7;
	}
	.page-foot h2 .imp{
		font-size: 32px;
	}
	.page-foot p {
		line-height: 2;
	}
	.kotei-page h2{
		font-size: 20px;
		margin-bottom: 20px;
	}
}

/****************** vistor *********************/
.vis1-items{
	gap: 50px 0;
}
.vis1-item{
    flex-basis: 47%;
    background: #fff;
    padding: 20px;
}
.vis1-item h3{
    text-align: center;
    font-size: 24px;
    margin: 30px auto;
}
.vis2-item.first{
	border-bottom: 1px solid #D9D9D9;
	padding-bottom: 60px;
	margin-bottom: 60px;
}
.vis2-item-top{
	margin-bottom: 90px;
}
.vis2-item-info{
    flex-basis: 48%;
    align-self: center;
}
.vis2-title{
    margin-bottom: 30px;
    border-left: 4px solid;
    padding: 3px 0 6px 15px;
}
.vis2-title .num{
    font-size: 45px;
	font-family: Impact, 'Anton', sans-serif;
}
.vis2-title .num strong{
    font-size: 70px;
    margin-left: 10px;
    line-height: 0.5;
}
.vis2-title h3{
	font-size: 24px;
}
.vis2-item-info p{
	max-width: 520px;
}
.vis2-item-img{
	flex-basis: 48%;
}
.vis2-card{
    flex-basis: calc(100% / 3 - 25px);
    background: #fff;
    padding: 20px;
    box-shadow: 3px 3px 5px rgba(0,0,0,0.3);
}
.vis2-card h4{
    font-size: 18px;
    text-align: center;
    margin: 20px 0 15px;
}
.vis2-card p{
	letter-spacing: 1px;
}
.vis2-point{
    border: 1px solid #000;
    background: #fff;
    padding: 40px;
    max-width: 1020px;
    margin: 80px auto 0;
}
.vis2-point-info{
	flex-basis: 52%;
}
.vis2-point-info h3{
    background: #574F46;
    color: #fff;
    display: inline-block;
    font-size: 26px;
    padding: 8px 40px;
    margin: 0 0 30px -40px;
    position: relative;
    letter-spacing: 5px;
}
.vis2-point-info h3::after{
    content: "";
    position: absolute;
    top: 0;
    right: -24px;
    width: 24px;
    height: 100%;
    background: #574F46;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.vis2-point-info p{
	font-size: clamp(16px, 1.8vw, 22px);
	line-height: 2.5;
}
.vis2-point-img{
	flex-basis: 45%;
}
.vis2-point-img img{
	height: 100%;
	object-fit: cover;
}
.vis3-items{
	gap: 80px 0;
}
.vis3-item{
	flex-basis: 47%;
}
.vis3-item h3{
    font-size: 24px;
    text-align: center;
    margin: 20px;
}
.vis3-item p{
	padding: 0 6%;
}
.vis4-items{
	gap: 50px 0;
}
.vis4-items>div{
	flex-basis: 23%;
	text-align: center;
}
.vis4-items>div h3{
	margin-top: 20px;
}

@media screen and (max-width:768px){
	.vis1-item{
		margin-bottom: 20px;
		padding: 16px;
	}
	.vis1-item h3{
		font-size: 18px;
		margin: 20px auto;
	}
	.vis2-item.first{
		padding-bottom: 36px;
		margin-bottom: 36px;
	}
	.vis2-item-top{
		margin-bottom: 28px;
	}
	.vis2-title {
		padding: 7px 0 5px 15px;
	}
	.vis2-title .num{
		font-size: 28px;
	}
	.vis2-title .num strong{
		font-size: 34px;
	}
	.vis2-title h3{
		font-size: 18px;
	}
	.vis2-item-info,
	.vis2-item-img{
		margin-bottom: 20px;
	}
	.vis2-card{
		margin-bottom: 20px;
		padding: 16px;
	}
	.vis2-card h4{
		font-size: 16px;
	}
	.vis2-point{
		padding: 24px 20px;
		margin-top: 40px;
	}
	.vis2-point-info h3{
		font-size: 18px;
		padding: 6px 20px;
		margin: 0 0 20px -20px;
		letter-spacing: 2px;
	}
	.vis2-point-info h3::after{
		right: -16px;
		width: 16px;
	}
	.vis2-point-info p{
		font-size: 14px;
		line-height: 2;
	}
	.vis3-items{
		gap: 40px 0;
	}
	.vis3-item:not(:last-of-type) {
		margin-bottom: 30px;
	}
	.vis3-item h3{
		font-size: 18px;
	}
	.vis4-items>div{
		margin-bottom: 24px;
	}
}

/****************** CONCEPT *********************/
.con-top{
	text-align: center;
}
.con-top h2{
    font-family: "Yu Mincho",
		"YuMincho",
		"Noto Serif JP",
		serif;
    margin-bottom: 60px;
    font-size: 50px;
}
.con-top h2 span{
	display: block;
	font-size: 20px;
}
.con-top p{
	line-height: 2.4;
}
.con1-items{
	gap: 50px 0;
}
.con1-item{
	flex-basis: 48%;
}
.con1-item h3{
    text-align: center;
    margin: 25px auto 15px;
    font-size: 28px;
}
.con1-item span{
    display: block;
    background: #574F46;
    text-align: center;
    color: #fff;
    padding: 7px;
    margin-bottom: 30px;
    font-size: 18px;
}
.con1-item p{
	padding: 0 4%;
}
.con2{
	background-image: url("../img/bg1.webp");
}
.con2-item:not(:last-of-type){
	margin-bottom: 50px;
}
.con2-info{
	flex-basis: 48%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.con2-info .num{
    display: inline-block;
    font-size: 70px;
    position: relative;
    margin-bottom: 20px;
	font-family: Impact, 'Anton', sans-serif;
}
.con2-info .num::after{
    content: "";
    position: absolute;
    bottom: 16px;
    left: 125%;
    width: 60px;
    height: 2px;
    background: #333;
}
.con2-info h3{
    font-size: 24px;
    margin-bottom: 10px;
}
.con2-info p{
    margin: auto 0;
    padding-bottom: 10px;
    max-width: 500px;
}
.con2-img{
	flex-basis: 48%;
}

@media screen and (max-width:768px){
	.con-top h2{
		font-size: 28px;
		margin-bottom: 36px;
	}
	.con-top h2 span{
		font-size: 14px;
	}
	.con1-item{
		margin-bottom: 24px;
	}
	.con1-item h3{
		font-size: 20px;
	}
	.con1-item span{
		font-size: 16px;
		margin-bottom: 20px;
	}
	.con2-item:not(:last-of-type){
		margin-bottom: 36px;
	}
	.con2-info .num{
		font-size: 36px;
		margin-bottom: 5px;
	}
	.con2-info .num::after{
		width: 40px;
		bottom: 10px;
	}
	.con2-info h3{
		font-size: 18px;
	}
	.con2-img{
		margin-top: 20px;
	}
}

/****************** quality *********************/
.qua1{
	padding-top: 0;
}
.qua1-top{
	height: 50vh;
	margin-bottom: 50px;
}
.qua1-top img{
	height: 100%;
	object-fit: cover;
}
.qua1-items{
	gap: 40px 0;
}
.qua1-item{
    flex-basis: 48%;
    background: #fff;
    border: 4px solid #EAE8DF;
    align-items: center;
    padding: 40px 4% 40px 0;
}
.qua1-icon{
	flex-basis: 140px;
}
.qua1-info{
	flex-basis: calc(100% - 140px);
}
.qua1-info h3{
    font-size: 24px;
    margin-bottom: 20px;
}
.qua2{
	background: #F2F2F2;
}
.qua2-items{
	gap: 30px 0;
	margin-bottom: 50px;
}
.qua2-item{
	flex-basis: 32%;
    background: #fff;
    border: 4px solid #EAE8DF;
    padding: 30px 4%;
}
.qua2-item-top{
	margin-bottom: 20px;
	align-items: center;
}
.qua2-item-top-img{
	flex-basis: 35%;
}
.qua2-item-title{
	flex-basis: 60%;
}
.qua2-item-title .num{
	color: #C3642;
    font-size: 30px;
}
.qua2-itemtitle h3{
    font-weight: bold;
    font-size: 22px;
}
.qua2-item-info dl{
    border-top: 2px solid #EAE8DF;
    padding: 15px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.qua2-item-info dt{
    background: #574F46;
    text-align: center;
    padding: 3px;
    flex-basis: 70px;
    color: #fff;
    font-size: 15px;
}
.qua2-item-info dd{
	font-size: 14px;
	flex-basis: calc(100% - 85px);
}
.qua2-footp{
	font-size: 18px;
	font-weight: 500;
}
.qua3-item{
    background: #fff;
    padding: 30px;
	align-items: center;
}
.qua3-img{
	flex-basis: 40%;
}
.qua3-info{
	flex-basis: 55%;
}
.qua3-info-item:not(:last-of-type){
    padding-bottom: 20px;
    border-bottom: 1px solid #EAE8DF;
    margin-bottom: 20px;
}
.qua3-info .num{
    color: #EAE8DF;
    font-size: 80px;
	width: 100px;
}
.qua3-info-r{
	flex-basis: calc(100% - 120px);
}
.qua3-info-r h3{
    display: flex;
    align-items: center;
    gap: 3%;
    font-size: 24px;
    margin-bottom: 20px;
}
.qua3-info-r h3 span{
	width: 24px;
	height: 24px;
	border-radius: 50%;
}
.qua3-1 h3 span{ background: #18364E; }
.qua3-2 h3 span{ background: #C36D42; }
.qua3-3 h3 span{ background: #286E6E; }
.qua3-4 h3 span{ background: #B28028; }
.qua3-info-r p{
	font-size: 14px;
}
.qua4{
	background: #f2f2f2;
}
.qua4-item:not(:last-of-type){
	margin-bottom: 100px;
}
.qua4-info{
	flex-basis: 48%;
	display: flex;
	flex-direction: column;
}
.qua4-info h3{
	display: flex;
	align-items: center;
	gap: 3%;
	font-size: 24px;
}
.qua4-info h3 span{
    font-family: Impact, 'Anton', sans-serif;
	font-size: 65px;
	color: #7F7F7F;
}
.qua4-info>p{
	margin-bottom: 20px;
	max-width: 555px;
	letter-spacing: 1.5px;
}
.qua4-info-item{
    border: 1px solid;
    background: #fff;
    margin-top: auto;
	padding: 20px;
}
.qua4-info-item h4{
	text-align: center;
	background: #404040;
	padding: 3px;
	color: #fff;
	margin-bottom: 15px;
}
.qua4-info-item p{
	line-height: 1.7;
}
.qua4-img{
	flex-basis: 48%;
}
.qua4-pick{
	--pick-gap: 40px;
	/* 画面に3枚＋左右半分（＝4枠）が見える幅 */
	--pick-item: calc((100% - var(--pick-gap) * 3) / 4);
	margin: 80px 0;
    background: #fff;
    padding: 80px 0 80px 5%;
    border: 2px solid #f2f2f2;
}
.qua4-pick h3{
	text-align: center;
	margin-bottom: 40px;
}
.qua4-pick h3 strong{
	display: block;
	font-family: Impact, 'Anton', sans-serif;
	font-size: 42px;
	letter-spacing: 3px;
	font-weight: 500;
	color: #404040;
	line-height: 1.2;
}
.qua4-pick h3 span{
	display: block;
	margin-top: 12px;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 2px;
}
.qua4-pick-items{
	display: flex;
	flex-wrap: nowrap;
	gap: var(--pick-gap);
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	padding: 10px 5% 30px;
	cursor: grab;
	scrollbar-width: thin;
	scrollbar-color: #7F7F7F transparent;
}
.qua4-pick-items::-webkit-scrollbar{
	height: 6px;
}
.qua4-pick-items::-webkit-scrollbar-track{
	background: transparent;
}
.qua4-pick-items::-webkit-scrollbar-thumb{
	background: #7F7F7F;
	border-radius: 3px;
}
.qua4-pick-items.is-dragging{
	cursor: grabbing;
	scroll-behavior: auto;
	scroll-snap-type: none;
	user-select: none;
}
.qua4-pick-item{
	position: relative;
	flex: 0 0 var(--pick-item);
	scroll-snap-align: start;
	min-width: 0;
}
.qua4-pick-item .num{
    display: block;
    background: #404040;
    color: #fff;
    text-align: center;
    padding: 6px 10px;
    font-size: 15px;
    margin-bottom: 10px;
}
.qua4-pick-img{
	margin-bottom: 16px;
}
.qua4-pick-img img{
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.qua4-pick-item h4{
    font-size: 18px;
    margin-bottom: 15px;
    letter-spacing: 1px;
    text-align: center;
}
.qua4-pick-item p{
	letter-spacing: 1px;
}
.qua4-pick-item:not(:last-child)::after{
	content: "";
	position: absolute;
	top: 28%;
	right: calc(var(--pick-gap) / -2);
	transform: translate(50%, -50%);
	width: 14px;
	height: 18px;
	background: #574F46;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	pointer-events: none;
	z-index: 1;
}
.qua5{
	padding-bottom: 0;
}
.qua5-items{
	gap: 50px 0;
}
.qua5-item{
	flex-basis: 47%;
}
.qua5-item h3{
    text-align: center;
    margin: 15px 0 15px;
    font-size: 20px;
}

@media screen and (max-width:768px){
	.qua1-top{
		height: 36vh;
		min-height: 200px;
		margin-bottom: 30px;
	}
	.qua1-items {
		width: 90%;
		margin: auto;
	}
	.qua1-item{
		padding: 20px;
		display: block;
	}
	.qua1-item:not(:last-of-type){
		margin-bottom: 20px;
	}
	.qua1-icon{
		margin: 0 auto 10px;
		max-width: 70px;
	}
	.qua1-info{
		flex-basis: 100%;
	}
	.qua1-info h3{
		font-size: 18px;
		text-align: center;
		margin-bottom: 12px;
	}
	.qua2-items {
		margin-bottom: 20px;
	}
	.qua2-item{
		margin-bottom: 16px;
		padding: 20px 16px;
	}
	.qua2-item-top{
		margin-bottom: 10px;
		text-align: center;
	}
	.qua2-item-title {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
	}
	.qua2-item-top-img{
		margin: 0 auto 12px;
		max-width: 120px;
	}
	.qua2-item-title .num{
		font-size: 24px;
	}
	.qua2-footp{
		font-size: 14px;
		text-align: left;
	}
	.qua3-item{
		padding: 20px 16px;
		margin-bottom: 20px;
	}
	.qua3-img{
		margin-bottom: 20px;
	}
	.qua3-info .num{
		font-size: 38px;
		width: 70px;
	}
	.qua3-info-r{
		flex-basis: calc(100% - 80px);
	}
	.qua3-info-r h3{
		font-size: 17px;
		margin-bottom: 10px;
	}
	.qua4-item:not(:last-of-type){
		margin-bottom: 30px;
	}
	.qua4-info h3{
		font-size: 18px;
		flex-wrap: wrap;
	}
	.qua4-info h3 span{
		font-size: 40px;
	}
	.qua4-img{
		margin-top: 20px;
	}
	.qua5-item{
		margin-bottom: 20px;
	}
	.qua5-item h3{
		font-size: 16px;
	}
	.qua4-pick{
		--pick-gap: 28px;
		--pick-item: calc((100% - var(--pick-gap)) / 1.5);
		margin: 50px 0;
		padding: 40px 0 40px 5%;
	}
	.qua4-pick h3{
		margin-bottom: 28px;
	}
	.qua4-pick h3 strong{
		font-size: 32px;
	}
	.qua4-pick h3 span{
		font-size: 14px;
	}
	.qua4-pick-items{
		padding: 8px 5% 24px;
	}
	.qua4-pick-item h4{
		font-size: 16px;
	}
	.qua4-pick-item p{
		font-size: 12px;
	}
	.qua4-pick-item:not(:last-child)::after{
		top: 24%;
		width: 10px;
		height: 14px;
	}
}

/************** アフターサポート *****************/
.af-sec-title{
    background: #7F7F7F;
    color: #fff;
    padding: 30px;
    text-align: center;
	margin-bottom: 50px;
}
.af-sec-title .main{
    font-size: 28px;
    margin-bottom: 5px;
}
.af-sec-title .main.imp{
	font-family: Impact, 'Anton', sans-serif;
	font-size: 50px;
}
.af-sec-title .sub{
	font-size: 18px;
}
.af1{
	padding-bottom: 0;
}
.af1-top-items{
    margin-bottom: 60px;
    padding-top: 45px;
}
.af1-top-item{
    flex-basis: 31%;
    background: #fff;
    box-shadow: 3px 3px 7px rgba(0,0,0,0.3);
    padding: 70px 30px 40px;
    position: relative;
}
.af1-top-item .num{
    background: #333;
    color: #fff;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    line-height: 1.2;
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
}
.af1-top-item small{
	font-size: 15px;
}
.af1-top-item .num strong{
	font-size: 30px;
	font-weight: bold;
}
.af1-top-item h3{
    text-align: center;
    margin-bottom: 20px;
    font-size: 19px;
    font-weight: 600;
}
.af1-top-item p{
	font-size: 15px;
	line-height: 1.8;
}
.bg-gray{
	background: #f2f2f2;
	padding-bottom: 50px;
	margin-bottom: 50px;
}
.af1-foot{
	margin-top: 100px;
}
.af1-foot h3{
    background: #404040;
    color: #fff;
    padding: 15px;
    text-align: center;
    font-size: 24px;
}
.af1-foot-item{
    background: #fff;
    box-shadow: 3px 3px 5px rgba(0,0,0,0.3);
    padding: 50px;
}
.af1-foot-item>p{
    font-size: 18px;
    font-weight: bold;
	margin-bottom: 30px;
}
.af1-foot-l{
	flex-basis: 48%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 30px;
	align-items: center;
}
.af1-foot-r{
	flex-basis: 48%;
}
.af1-foot-r img{
	filter: grayscale(100%);
}
.af1-logo{
	max-width: 360px;
}
.af2-top-p{
	margin-bottom: 40px;
}
.af2-top-p p{
    display: inline-block;
    text-align: left;
    max-width: 800px;
    font-weight: bold;
}
.af2-item{
    border: 2px solid #574F46;
	background: #fff;
	margin-bottom: 100px;
}
.af2-item-go{
    background: #404040;
    color: #fff;
    padding: 8px 20px;
    display: inline-block;
    font-size: 20px;
}
.af2-item h3{
    background: #574F46;
    color: #fff;
    padding: 20px;
    text-align: center;
    font-size: 24px;
}
.af2-item-in{
	padding: 50px;
}
.af2-item-in>p{
    margin: 20px auto 70px;
    padding-bottom: 50px;
    border-bottom: 1px solid;
    font-size: 14px;
}
.af2-item-in h4{
	display: flex;
	gap: 3%;
	max-width: 650px;
	margin: 0 auto 40px;
	align-items: center;
	font-size: 28px;
}
.af2-item-in h4::before, .af2-item-in h4::after{
	content: "";
	flex-grow: 1;
	border-bottom: 2px solid;
}
.af2-tenkens{
	gap: 40px 0;
}
.af2-tenken{
	flex-basis: 47%;
}
.af2-tenken h5{
    background: #574F46;
    color: #fff;
    text-align: center;
    padding: 8px;
    font-size: 20px;
    margin-bottom: 20px;
}
.af2-tenken p{
	font-size: 15px;
}
.af2-pick{
    background: #fff;
    padding: 50px;
    box-shadow: 3px 3px 8px rgba(0,0,0,0.4);
}
.af2-pick h3{
    font-family: Impact, 'Anton', sans-serif;
    font-size: 50px;
    display: flex;
    gap: 3%;
    align-items: center;
    margin-bottom: 20px;
}
.af2-pick h3::after{
	content: "";
	flex-grow: 1;
	border-bottom: 2px solid;
}
.af2-pick-flex{
	margin-bottom: 50px;
}
.af2-pick-info{
	flex-basis: 48%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 5%;
}
.af2-pick-info h4{
	font-size: 24px;
	font-weight: bold;
}
.af2-pick-img{
	flex-basis: 48%;
}
.af2-pick h4{
    background: #404040;
    color: #fff;
    text-align: center;
    padding: 10px;
    font-size: 24px;
    margin-bottom: 30px;
}
.af2-pick>p{
    font-size: 20px;
    margin-bottom: 20px;
}
.af2-pick-item{
	align-items: center;
}
.af2-pick-item p{
	flex: 1;
	aspect-ratio: 1/1;
	background: #f2f2f2;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	border: 2px solid;
}
.af2-pick-item span{
    flex-basis: 5%;
    border-top: 1px solid;
	position: relative;
}
.af2-pick-item span.arrow::after{
    content: "▶";
    position: absolute;
    top: 50%;
    right: -3px;
    transform: translateY(-55%);
}
.af3-item h3{
		border-bottom: 2px solid;
		font-size: 30px;
		margin-bottom: 50px;
		display: flex;
		align-items: center;
		gap: 20px;
}
.af3-item h3 .num{
    width: 70px;
    height: 70px;
    background: #404040;
    color: #fff;
    font-family: Impact, 'Anton', sans-serif;
    font-size: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.af3-item-flex{
	margin-bottom: 50px;
}
.af3-item-img{
	flex-basis: 48%;
}
.af3-item-info{
    flex-basis: 48%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 7%;
}
.af3-item-info h4{
	font-size: 24px;
	border-left: 5px solid;
	padding-left: 20px;
}
.af3-item-info p{
	max-width: 520px;
}
.af3-item01{
    border: 2px solid #574F46;
    margin-bottom: 60px;
}
.af3-item01 h4{
    background: #574F46;
    color: #fff;
    padding: 10px;
    text-align: center;
    font-size: 20px;
}
.af3-item01-in{
	padding: 40px 30px;
}
.af3-item01-flex{
	margin-bottom: 40px;
}
.af3-item01-img{
	flex-basis: 48%;
}
.af3-item01-info{
    flex-basis: 48%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8%;
}
.af3-item01-info dt{
    font-size: 18px;
    margin-bottom: 10px;
    font-weight: bold;
}
.af3-item01-foot{
    background: #574F46;
    color: #fff;
    padding: 30px;
}
.af3-item01-foot h5{
	display: flex;
	gap: 3%;
	max-width: 650px;
	margin: 0 auto 20px;
	font-size: 20px;
	align-items: center;
}
.af3-item01-foot h5::before, .af3-item01-foot h5::after{
	content: "";
	flex-grow: 1;
	border-bottom: 1px solid;
}
.af3-item01-foot p{
    max-width: 840px;
    margin: auto;
}
.af3-points{
    border: 2px solid;
    padding: 40px;
    margin-bottom: 80px;
	background: #fff;
}
.af3-points h3{
    font-family: Impact, 'Anton', sans-serif;
    font-size: 50px;
	margin-bottom: 30px;
}
.num-sp{
	display: none;
}
.af3-point-flex{
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
.af3-point-flex:not(:last-of-type){
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #D9D9D9;
}
.af3-point-flex .num{
    width: 70px;
    height: 70px;
    border: 2px solid;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 35px;
    letter-spacing: 0px;
}
.af3-point-info{
	flex-basis: calc(100% - 120px);
}
.af3-point-info h4{
	font-size: 22px;
	margin-bottom: 15px;
}
.af3 .bg-gray{
	padding-top: 70px;
	padding-bottom: 70px;
}
.bg-gray .af3-points {
    margin-bottom: 0px;
}
.af3-item04 h3, .af3-item05 h3, .af3-item06 h4{
    border-left: 5px solid;
    border-bottom: 1px solid;
    padding: 5px 20px 10px;
    font-size: 20px;
    margin-bottom: 50px;
}
.af3-item04 img{
    max-width: 1000px;
    margin: 0 auto 30px;
}
.af3-item04-info h4{
    font-size: 24px;
    margin-bottom: 40px;
    position: relative;
	text-align: center;
}
.af3-item04-info h4::after{
	content: "";
	position: absolute;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
	height: 2px;
	width: 100px;
	background: #404040;
}
.af3-item04-info p{
    max-width: 800px;
    margin: 0 auto 60px;
}
.af3-item05-items{
    max-width: 1000px;
    margin: 0 auto 60px;
	gap: 30px 0;
}
.af3-item05-item{
	flex-basis: 48%;
    background: #fff;
    border: 1px solid;
    padding: 20px;
}
.af3-item05-item h4{
    font-size: 22px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 2%;
}
.af3-item05-item h4::after{
	content: "";
	flex-grow: 1;
	border-bottom: 1px solid;
}
.af3-item05-img{
	flex-basis: 110px;
}
.af3-item05-item ul{
	flex-basis: calc(100% - 130px);
	font-size: 14px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.af3-item06-flex{
	margin-bottom: 50px;
	gap: 30px 0;
}
.af3-item06-flex div{
	flex-basis: 23%;
}
.af3-item06-flex p{
	text-align: center;
	margin-top: 10px;
}
.af3-item06-flex2{
    max-width: 1100px;
    margin: 0 auto 50px;
	gap: 3%;
}
.af3-item06-flex2>div{
    flex: 1;
    background: #fff;
    box-shadow: 3px 3px 5px rgba(0,0,0,0.3);
}
.af3-item06-flex2 h5{
    background: #404040;
    color: #fff;
    text-align: center;
    padding: 8px;
    font-size: 18px;
}
.af3-item06-flex2-in{
	padding: 20px;
}
.af3-item06-flex2-in p{
    font-size: 15px;
    line-height: 1.7;
    border-bottom: 1px solid;
    padding: 0 15px 15px;
    margin-bottom: 15px;
}
.af3-item06-flex2-in dl{
    font-size: 14px;
    display: flex;
    margin-bottom: 10px;
}
.af3-item06-flex2-in .triangle-down{
    margin: 20px auto;
    width: 0;
    border-top: 20px solid #767171;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
}
.af3-item06-flex2-in span{
    display: block;
    text-align: center;
    font-size: 18px;
    color: #767171;
}
.after-support-page .page-foot{
	padding-top: 0;
}

@media screen and (max-width:768px){
	.af-sec-title{
		padding: 20px 16px;
		margin-bottom: 30px;
	}
	.af-sec-title .main{
		font-size: 20px;
	}
	.af-sec-title .main.imp{
		font-size: 28px;
		margin: 0;
	}
	.af-sec-title .sub{
		font-size: 14px;
	}
	.af1-top-item{
		margin-bottom: 24px;
		padding: 50px 20px 28px;
	}
	.af1-top-item:not(:last-of-type) {
		margin-bottom: 55px;
	}
	.af1-top-item .num {
		width: 75px;
		height: 75px;
		top: -35px;
	}
	.af1-top-item small {
		font-size: 13px;
	}
	.af1-top-item .num strong {
		font-size: 26px;
		font-weight: bold;
	}
	.af1-top-item h3{
		font-size: 16px;
		margin-bottom: 15px;
	}
	.af1-top-item p {
		font-size: 14px;
	}
	.af1-foot{
		margin-top: 50px;
	}
	.af1-foot h3{
		font-size: 16px;
		padding: 8px;
	}
	.af1-foot-item{
		padding: 24px 20px;
	}
	.af1-foot-item>p{
		font-size: 14px;
		margin-bottom: 20px;
	}
	.af1-foot-l,
	.af1-foot-r{
		margin-bottom: 20px;
	}
	.af2-item{
		margin-bottom: 50px;
	}
	.af2-item-go {
		padding: 5px 15px;
		font-size: 15px;
		margin-bottom: 10px;
	}
	.af2-item h3{
		font-size: 18px;
		padding: 14px;
	}
	.af2-item-in{
		padding: 24px 16px;
	}
	.af2-item-in>p{
		margin: 16px auto 36px;
		padding-bottom: 24px;
		line-height: 1.7;
	}
	.af2-item-in h4{
		font-size: 18px;
		margin-bottom: 24px;
	}
	.af2-tenken h5{
		font-size: 16px;
	}
	.af2-pick{
		padding: 24px 16px;
	}
	.af2-pick h3{
		font-size: 32px;
	}
	.af2-pick-info h4,
	.af2-pick h4{
		font-size: 15px;
		margin-bottom: 15px;
	}
	.af2-pick>p{
		font-size: 14px;
	}
	.af2-pick-item{
		display: block;
		margin-bottom: 16px;
	}
	.af2-pick-item span{
		display: block;
		border: none;
		height: 20px;
		width: 1px;
		background: #333;
		margin: auto;
	}
	.af2-pick-item span.arrow::after{
		display: none;
	}
	.af2-pick-item p{
		aspect-ratio: auto;
		border-radius: 8px;
		padding: 8px;
	}
	.af2-pick-info {
		margin-bottom: 15px;
	}
	.af3-item-flex {
		margin-bottom: 20px;
	}
	.af3-item h3{
		font-size: 16px;
		margin-bottom: 15px;
	}
	.af3-item h3 .num{
		width: 56px;
		height: 56px;
		font-size: 36px;
	}
	.af3-item-img {
		margin-bottom: 15px;
	}
	.af3-item-info h4{
		font-size: 16px;
		margin-bottom: 10px;
		padding-bottom: 2px;
	}
	.af3-item01 {
		margin-bottom: 30px;
	}
	.af3-item01-in{
		padding: 20px;
	}
	.af3-item01-flex {
		margin-bottom: 20px;
	}
	.af3-item01 h4 {
		font-size: 16px;
	}
	.af3-item01-img {
		margin-bottom: 15px;
	}
	.af3-item01-info {
		gap: 15px;
	}
	.af3-item01-info dt {
		font-size: 16px;
		margin-bottom: 5px;
	}
	.af3-item01-info dd {
		font-size: 14px;
	}
	.af3-item01-foot {
		padding: 20px;
	}
	.af3-item01-foot h5 {
		margin: 0 auto 15px;
		font-size: 16px;
	}
	.af3-item01-foot p {
		font-weight: 400;
		line-height: 1.8;
	}
	
	.af3-points{
		padding: 20px;
		margin-bottom: 40px;
	}
	.af3-points h3{
		font-size: 30px;
		margin-bottom: 15px;
	}
	.af3-point-flex:not(:last-of-type) {
		padding-bottom: 15px;
		margin-bottom: 15px;
	}
	.af3-point-flex .num{
		display: none;
	}
	.af3-point-flex .num-sp{
		border-radius: 50%;
		width: 30px;
		height: 30px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		font-weight: bold;
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		background: #574f46;
		color: #fff;
	}
	.af3-point-info h4{
		font-size: 16px;
		position: relative;
		padding-left: 40px;
		margin-bottom: 12px;
	}
	.af3-point-info p{
	    line-height: 1.7;
	    padding: 0 10px;
	}
	.af3-item04-info h4{
		font-size: 18px;
		margin-bottom: 24px;
	}
	.af3-item05-item h4{
		font-size: 16px;
		flex-wrap: wrap;
		margin-bottom: 10px;
	}
	.af3-item06-flex div{
		margin-bottom: 20px;
	}
	.af3 .bg-gray {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.af3-item04-info p {
		margin: 0 auto 30px;
	}
	.af3-item05-items {
		margin: 0 auto 30px;
	}
	.af3-item05-item:not(:last-of-type) {
		margin-bottom: 20px;
	}
	.af3-item05 h3, .af3-item06 h4 {
		margin-bottom: 20px;
	}
	.af3-item05-img {
		flex-basis: 90px;
		align-self: center;
	}
	.af3-item05-item ul {
		flex-basis: calc(100% - 100px);
		font-size: 13px;
		gap: 4px;
	}
	.af3-item06-flex {
		margin-bottom: 30px;
		gap: 15px 0;
	}
	.af3-item06-flex div {
		flex-basis: 47%;
		margin-bottom: 0;
	}
	.af3-item06-flex p {
		margin-top: 5px;
	}
	.af3-item06-flex2>div:not(:last-of-type) {
		margin-bottom: 15px;
	}
	.af3 .bg-gray:last-of-type {
		margin-bottom: 0;
	}
}

/******************* company ***********************/
.com-links{
	padding-top: 0;
}
.com-links div{
    flex-basis: 24%;
    text-align: center;
}
.com-links div a{
    background: #574F46;
    color: #fff;
    padding: 10px;
    width: 100%;
    display: inline-block;
	position: relative;
}
.com-links div a::after{
	content: "＞";
	transform: rotate(90deg);
	position: absolute;
	right: 10px;
}
.com1{
	padding-top: 0;
}
.com1-text1 p{
    text-align: center;
    font-size: 26px;
	margin-bottom: 30px;
}
.com1-text1 p small{
	font-size: 22px;
}
.com1 dl{
    text-align: center;
    margin-top: 80px;
	line-height: 2;
}
.com1 dl dt{
    font-size: 24px;
    margin-bottom: 10px;
}
.com1 dl dd{
	font-size: 18px;
}
.com2-img{
	margin-bottom: 60px;
}
.company-list{
    border-top: 1px solid #aaa;
    max-width: 1000px;
    margin: auto;
}
.company-list__row{
    display: flex;
    align-items: center;
    padding: 30px 4%;
    border-bottom: 1px solid #aaa;
	line-height: 2;
}
.company-list dt{
	flex-basis: 220px;
}
.company-list dd{
	flex-basis: calc(100% - 220px);
}
.com3 .map{
    height: 60vh;
    margin-bottom: 30px;
}
.com3>p{
    font-size: 18px;
    font-weight: bold;
    max-width: 1100px;
    margin: 0 auto 40px;
}
.com4{
	margin-bottom: 80px;
}
.history-list__item{
	display: flex;
}
.history-list__item time{
	line-height: 2;
	flex-basis: 100px;
}
.history-list__item p{
	flex-basis: calc(100% - 100px);
	padding: 0 0 40px 30px;
	border-left: 1px solid #aaa;
	position: relative;
}
.history-list__item p::before{
    content: "";
    left: -5px;
    top: 16px;
    position: absolute;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #333;
}

@media screen and (max-width:768px){
	.com-links div a {
		font-size: 14px;
	}
	.com-links div{
		margin-bottom: 12px;
	}
	.com1-text1 p{
		font-size: 18px;
	}
	.com1-text1 p small{
		font-size: 16px;
	}
	.com1 dl{
		margin-top: 40px;
	}
	.com1 dl dt{
		font-size: 18px;
	}
	.com1 dl dd{
		font-size: 14px;
	}
	.com2-img{
		margin-bottom: 36px;
	}
	.company-list {
		font-size: 14px;
	}
	.company-list__row{
		display: block;
		padding: 20px 0;
	}
	.company-list dt{
		font-weight: bold;
	}
	.company-list dd{
		line-height: 1.7;
	}
	.com3 .map{
		height: 40vh;
		min-height: 240px;
	}
	.com3>p{
		font-size: 14px;
		margin-bottom: 20px;
	}
	.com4{
		margin-bottom: 40px;
	}
	.history-list__item time{
		display: block;
		margin-bottom: 8px;
		flex-basis: 75px;
	}
	.history-list__item p{
		padding: 0 0 24px 20px;
		flex-basis: calc(100% - 75px);
	}
}

/******************* desin bridge ***********************/
.design-page{
    font-family: "Noto Serif JP", serif;
	font-weight: bold;
}
.design-page .page-top1-info{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.design-page .page-top1-info .main{
    font-size: 50px;
    position: relative;
    margin: 20px auto 10px;
    font-weight: 700;
    letter-spacing: 3px;
}
.design-page .page-top1-info .rubi{
    position: absolute;
    right: 10px;
    top: -20px;
    font-size: 18px;
}
.design-page .page-top1-info .sub{
    font-size: 22px;
    margin-bottom: 30px;
}
.dis1-item{
	flex-basis: 30%;
}
.dis1-item h3{
    margin: 20px auto;
    text-align: center;
    font-size: 18px;
}
.dis1-item p{
    font-size: 15px;
}
.des1 > p{
	text-align: center;
	margin: 100px auto 50px;
	font-size: 24px;
}
.des1-foot{
	margin: 0 0 20px;
	padding-bottom: 40px;
}
.des1-foot .slick-slide{
	padding: 0 10px;
}
.des1-foot img{
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.des1-foot .slide-arrow{
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 25px;
	height: 25px;
	padding: 0;
	border: none;
	border-top: 2px solid #574F46;
	border-right: 2px solid #574F46;
	background: transparent;
	z-index: 10;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}
.des1-foot .slide-arrow:before{
	content: none;
	display: none;
}
.des1-foot .prev-arrow{
	left: 40px;
	transform: rotate(-135deg);
}
.des1-foot .next-arrow{
	right: 40px;
	transform: rotate(45deg);
}
.des1-foot .slick-dots{
	bottom: -30px;
}
.des1-foot .slick-dots li button:before{
	font-size: 12px;
	color: #574F46;
}
.des1-foot .slick-dots li.slick-active button:before{
	color: #574F46;
}
.des2-table table{
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	border-right: 1px solid;
}
.des2-table th,
.des2-table td{
	border: 1px solid #574F46;
	padding: 18px 16px;
	text-align: center;
	vertical-align: middle;
	font-size: 16px;
	line-height: 1.7;
}
.des2-table tr > :first-child{
	border-left: none;
}
.des2-table tr > :last-child{
	border-right: none;
}
.des2-table th{
	background: #D9D9D9;
	font-weight: 700;
}
.des2-table thead th:first-child,
.des2-table tbody th{
	width: 22%;
}
.des2-table td{
	width: 39%;
}
.des3{
	background-image: url("../img/bg2-2.webp");
	padding-top: 0;
}
.des-sec-title{
	color: #fff;
	padding: 100px 0;
	background-size: cover;
	background-position: center;
	margin-bottom: 80px;
}
.des3 .des-sec-title{
	background-image: url("../img/design/df0.webp");
}
.des-sec-title h2{
    border-left: 4px solid;
    font-size: 30px;
    padding: 5px 0 10px 20px;
    margin-bottom: 50px;
}
.des-sec-title h2 .en{
	font-size: 28px;
}
.des-sec-title h2 .jp{
	font-size: 32px;
	display: block;
	margin-top: 5px;
}
.des-sec-title p{
	line-height: 2.4;
}
.des3-item:not(:last-of-type){
	margin-bottom: 100px;
}
.des3-item:last-of-type{
	margin-bottom: 50px;
}
.des3-info{
    flex-basis: 50%;
    padding: 0 5%;
    color: #fff;
}
.des3-info-in{
	height: 100%;
    display: flex;
    flex-direction: column;
    gap: 6%;
    justify-content: center;
	max-width: 550px;
	margin: 0 auto;
}
.des3-info .num{
    border: 2px solid;
    align-self: flex-start;
    padding: 2px 30px 4px;
    font-size: 26px;
}
.des3-info h3{
    font-size: 30px;
    font-weight: 700;
}


.des3-img{
	flex-basis: 50%;
	position: relative;
	padding-right: 40px;
}
.des3-img img{
	position: relative;
	z-index: 1;
}
.des3-img::before{
    content: "";
    background: #BFBFBF;
    position: absolute;
    transform: translate(30px, 30px);
    width: calc(100% - 40px);
    height: 100%;
}
.des4{
	background-image: url("../img/bg1.webp");
	padding-top: 0;
}
.des4 .des-sec-title{
	background-image: url("../img/design/d-flow.webp");
}
.des4-item{
    background: #fff;
    padding: 50px;
}
.des4-item h3{
    text-align: center;
    font-size: 22px;
    line-height: 1.8;
    margin-bottom: 60px;
	position: relative;
}
.des4-item h3::after{
    content: "";
    position: absolute;
    height: 1px;
    width: 100px;
    background: #333;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
}
.des4-item>p{
    text-align: center;
    font-weight: 700;
    margin-bottom: 50px;
}
.des4-item-in{
    background: #F2F2F2;
    padding: 30px 5%;
}
.des4-item-in:not(:last-of-type){
    margin-bottom: 40px;
}
.des4-item-in h4{
    font-size: 24px;
    margin-bottom: 20px;
}
.des4-item-in h4 .num{
    background: #404040;
    color: #fff;
    padding: 4px 25px;
    margin-right: 15px;
    font-family: Impact, 'Anton', sans-serif;
    font-weight: 400;
}
.triangle-down{
    margin: 50px auto;
    width: 0;
    border-top: 50px solid #595959;
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
}
.des5{
	padding-bottom: 0;
}
.des5-title{
    text-align: center;
    margin-bottom: 80px;
}
.des5-title h2{
    font-size: 24px;
    margin-bottom: 50px;
    position: relative;
}
.des5-title h2::after{
    content: "";
    position: absolute;
    height: 1px;
    width: 120px;
    background: #595959;
    bottom: -17px;
    left: 50%;
    transform: translateX(-50%);
}
.des5-title p{
	font-size: 18px;
}
.des5-item{
    align-items: flex-end;
    margin: 0 auto 80px;
    max-width: 1700px;
}
.des5-img{
    flex-basis: 60%;
    margin-right: -10%;
    padding-bottom: 4%;
	align-self: stretch;
}
.des5-img img{
	max-height: 700px;
	object-fit: cover;
	height: 100%;
}
.des5-info{
    flex-basis: 50%;
    margin-left: -5%;
    padding-top: 100px;
}
.des5-info>div{
    background: #404040;
    color: #fff;
    padding: 50px 8%;
}
.des5-info h4{
    font-size: 24px;
    border-bottom: 2px solid;
    padding: 0 20px 20px;
    margin-bottom: 30px;
    line-height: 1.7;
}
.des5-info div p{
	font-size: 15px;
}
.des5-foot{
    border: 2px solid;
    padding: 50px 5%;
}
.des5-foot-img{
	flex-basis: 32%;
}
.des5-foot-info{
	flex-basis: 65%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 5%;
}
.des5-foot-info h3{
    font-size: 26px;
    line-height: 2.4;
}
.des5-foot-info h3 small{
    display: inline-block;
    font-size: 18px;
    margin-left: 5%;
}






@media screen and (max-width:768px){
	.design-page .page-top1-info .main{
		font-size: 28px;
		letter-spacing: 1px;
	}
	.design-page .page-top1-info .rubi{
		font-size: 12px;
		top: -14px;
		right: 0;
	}
	.design-page .page-top1-info .sub{
		font-size: 16px;
	}
	.dis1-item{
		margin-bottom: 28px;
	}
	.dis1-item p {
		font-size: 14px;
	}
	.des1 > p{
		margin: 40px auto 30px;
		font-size: 16px;
	}
	.des1-foot .prev-arrow{
		left: 12px;
	}
	.des1-foot .next-arrow{
		right: 12px;
	}
	.des2-table{
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.des2-table table{
		min-width: 520px;
	}
	.des2-table th,
	.des2-table td{
		padding: 10px 6px;
		font-size: 12px;
	}
	.des-sec-title{
		padding: 50px 0;
		margin-bottom: 40px;
	}
	.des-sec-title h2{
		font-size: 20px;
		margin-bottom: 28px;
	}
	.des-sec-title h2 .en {
		font-size: 20px;
	}
	.des-sec-title h2 .jp{
		font-size: 16px;
	}
	.des3-item:not(:last-of-type){
		margin-bottom: 50px;
	}
	.des3-info .num {
		font-size: 16px;
		margin-bottom: 15px;
	}
	.des3-info h3{
		font-size: 18px;
		margin-bottom: 15px;
	}
	.des3-img{
		padding-right: 0;
		margin-top: 20px;
	}
	.des3-img::before{
		transform: translate(12px, 12px);
		width: calc(100% - 12px);
	}
	.des4-item{
		padding: 28px 20px;
	}
	.des4-item h3{
		font-size: 18px;
		margin-bottom: 36px;
	}
	.des4-item-in {
		padding: 20px;
	}
	.des4-item-in:not(:last-of-type) {
		margin-bottom: 20px;
	}
	.des4-item-in h4{
		font-size: 16px;
		margin-bottom: 10px;
		text-align: center;
		border-bottom: 1px solid;
		padding-bottom: 5px;
	}
	.des4-item-in h4 .num {
		display: block;
		margin: 0 auto 10px;
		text-align: center;
	}
	.des4-item-in p{
		line-height: 1.7;
	}
	.des5-title{
		margin-bottom: 40px;
		padding: 0 5%;
	}
	.des5-title h2{
		font-size: 18px;
		margin-bottom: 28px;
	}
	.des5-title p{
		font-size: 14px;
	}
	.des5-info div p {
		font-size: 14px;
	}
	.des5-item{
		margin-bottom: 40px;
	}
	.des5-img{
		margin-right: 0;
		padding-bottom: 0;
		margin-bottom: 20px;
	}
	.des5-info{
		margin-left: 0;
		padding-top: 0;
	}
	.des5-info>div{
		padding: 28px 20px;
	}
	.des5-info h4{
		font-size: 18px;
		padding: 0 0 16px;
	}
	.des5-foot{
		padding: 20px;
	}
	.des5-foot-img img{
	    max-height: 300px;
	    object-fit: cover;
	}
	.des5-foot-info h3{
		font-size: 18px;
		line-height: 1.5;
		margin: 15px auto;
	}
	.des5-foot-info h3 small{
		font-size: 12px;
		margin-left: 10px;
	}
	.des5>p.text-r{
		font-size: 12px;
	}
	.triangle-down{
		margin: 30px auto 20px;
		border-top-width: 30px;
		border-left-width: 30px;
		border-right-width: 30px;
	}
}

/****************** original *********************/
.original-top-info{
	margin-bottom: 60px;
}
.ori-top-title{
	margin-bottom: 20px;
}
.ori-top-title h2{
    position: relative;
    display: inline-block;
    font-size: 50px;
    font-weight: 600;
}
.ori-top-title h2 .rubi{
    font-size: 18px;
    position: absolute;
    top: -18px;
    right: -18px;
}
.original-top .sub{
    font-size: 22px;
    margin-bottom: 60px;
    display: block;
}
.original-top-imgs{
	display: flex;
}
.original-top-imgs img{
    width: 20%;
}
.ori1 .page-sec-title .main {
    font-size: 34px;
    font-weight: 600;
}
.ori1-item{
	margin-bottom: 80px;
}
.ori1-info{
    flex-basis: 48%;
    align-self: center;
}
.ori1-info h3{
    font-size: 28px;
    margin-bottom: 20px;
}
.ori1-info div{
    font-size: 22px;
    margin-bottom: 40px;
}
.ori1-img{
	flex-basis: 48%;
}
.ori2-items{
    gap: 30px 0;
}
.ori2-item{
    flex-basis: 32%;
    text-align: center;
}
.ori2-item h3{
    font-size: 18px;
    font-weight: 600;
    margin: 20px auto 15px;
}
.ori3-item:not(:last-of-type){
	margin-bottom: 60px;
}
.ori3-item-top{
	margin-bottom: 40px;
}
.ori3-item-img{
	flex-basis: 52%;
}
.ori3-item-info{
	flex-basis: 43%;
	align-self: center;
}
.ori3-item-info h3{
    font-size: 24px;
    border-left: 4px solid;
    padding: 2px 0 4px 10px;
    margin-bottom: 4%;
}
.ori3-item-bottom div{
	flex-basis: 24%;
}
.ori4-items{
	gap: 50px 0;
}
.ori4-item{
	flex-basis: 30%;
}
.ori4-info h3{
    font-weight: 600;
    font-size: 18px;
    text-align: center;
    margin: 15px auto 10px;
    border-bottom: 1px solid;
    padding-bottom: 15px;
}
.ori4-info h3 span{
    display: block;
    font-size: 14px;
    margin-top: 5px;
}
.ori4-info p{
    line-height: 1.8;
    letter-spacing: 0px;
}
.ori5 .kome{
	margin-top: 60px;
}
.ori5 .kome span{
    display: inline-block;
    text-align: left;
    font-size: 14px;
}

@media screen and (max-width:768px){
	.original-top{
		padding-bottom: 0;
	}
	.ori-top-title h2{
		font-size: 28px;
	}
	.ori-top-title h2 .rubi{
		font-size: 12px;
	}
	.original-top .sub{
		font-size: 16px;
		margin-bottom: 36px;
	}
	.original-top-imgs.slick-initialized{
		display: block;
		padding-bottom: 28px;
	}
	.original-top-imgs .slick-slide img{
		width: 100%;
		display: block;
	}
	.original-top-imgs .slick-dots{
		bottom: 0;
	}
	.original-top-imgs .slick-dots li button:before{
		font-size: 10px;
		color: #574F46;
	}
	.original-top-imgs .slick-dots li.slick-active button:before{
		color: #574F46;
	}
	.ori1 .page-sec-title .main{
		font-size: 22px;
	}
	.ori1-info {
		margin-bottom: 15px;
	}
	.ori1-item{
		margin-bottom: 40px;
	}
	.ori1-info h3{
		font-size: 20px;
	}
	.ori1-info div{
		font-size: 16px;
		margin-bottom: 24px;
	}
	.ori2-item{
		margin-bottom: 24px;
	}
	.ori3-item-top{
		margin-bottom: 24px;
	}
	.ori3-item-info h3{
		font-size: 18px;
		margin-top: 20px;
	}
	.ori3-item-bottom div{
		margin-bottom: 16px;
	}
	.ori4-item{
		margin-bottom: 24px;
	}
}

/****************** land *********************/
.land-page .page-sec-title p{
	display: inline-block;
	max-width: 800px;
	text-align: left;
}
.land1-items{
	margin-bottom: 50px;
}
.land1-item{
	flex-basis: 31.5%;
	padding: 20px;
	background: #fff;
	border: 2px solid;
}
.land1-item h3{
    margin: 20px auto 25px;
    text-align: center;
    font-size: 22px;
    position: relative;
}
.land1-item h3::after{
    content: "";
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    height: 1px;
    width: 80px;
    background: #333;
}
.land1-item p{
	letter-spacing: 1px;
}
.land1-foot{
    background: #fff;
    border: 2px solid;
    padding: 40px 0;
}
.land1-foot h4{
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    font-size: 26px;
}
.land1-foot h4 strong{
    font-size: 24px;
    background: #333;
    color: #fff;
    padding: 5px 30px;
    letter-spacing: 3px;
    position: relative;
    height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 50px;
}
.land1-foot h4 strong::after{
    content: "";
    border-left: 25px solid #333;
    width: 0;
    position: absolute;
    left: 100%;
    border-top: 25px solid transparent;
    border-bottom: 25px solid transparent;
    top: 50%;
    transform: translateY(-50%);
}
.land1-foot ul{
    padding: 0 7%;
    margin-bottom: 40px;
}
.land1-foot ul li:not(:last-of-type){
	border-bottom: 1px solid #ccc;
	padding-bottom: 15px;
	margin-bottom: 15px;
}
.land1-foot ul li span{
    max-width: 750px;
    margin: auto;
    font-size: 20px;
    letter-spacing: 3px;
    display: flex;
    align-items: center;
}
.land1-foot ul span .num{
    font-size: 46px;
    font-style: italic;
    margin-right: 30px;
	letter-spacing: 0;
}
.land1-foot>div{
	padding: 0 7%;
}
.land1-foot>div div{
	max-width: 850px;
	margin: auto;
	display: flex;
	align-items: center;
	gap: 6%;
}
.land1-foot .triangle-right{
    width: 0;
    border-left: 25px solid #333;
    border-top: 25px solid transparent;
    border-bottom: 25px solid transparent;
}
.land1-foot p{
	font-size: 20px;
}
.land2 .vis2-item-top {
    align-items: center;
}
.land2 .vis2-title .num {
    font-size: 33px;
}
.land2 .vis2-title .num strong {
    font-size: 46px;
}
.land2-point{
    margin-top: 20px;
    border: 2px solid;
    background: #fff;
    padding: 18px;
}
.land2-point span{
    background: #333;
    color: #fff;
    padding: 0 20px;
    margin-bottom: 15px;
    display: inline-block;
    font-size: 18px;
}
.land2-point ul li{
    padding-left: 20px;
    position: relative;
}
.land2-point ul li:not(:last-of-type){
	margin-bottom: 10px;
}
.land2-point ul li::before{
    content: "●";
    position: absolute;
    left: 0;
}
.land3-item h3{
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
    line-height: 1;
}
.land3-item h3 .num{
	font-size: 48px;
}
.land3-item h3 span{
	font-size: 24px;
}
.land3-item-flex{
	align-items: center;
	margin-bottom: 50px;
}
.land3-item-flex>div{
	flex-basis: calc(50% - 50px);
	border: 1px solid #777;
	padding: 30px;
}
.land3-item-l{
	background: #7F7F7F;
}
.land3-item-l h4{
    background: #fff;
    text-align: center;
    font-size: 24px;
    margin-bottom: 20px;
}
.land3-item-l p{
	color: #fff;
	line-height: 1.7;
}
.land3-item-c{
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #404040;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
}
.land3-item-r{
	background: #fff;	
}
.land3-item-r h4{
	background: #333;
	color: #fff;
    text-align: center;
    font-size: 24px;
    margin-bottom: 20px;
}
.land3-item-r p{
	line-height: 1.7;
}
.land3-foot{
    display: block;
    max-width: 800px;
    margin: auto;
}
.land4-item{
	align-items: center;
	margin-bottom: 80px;
}
.land4-item-info{
    flex-basis: 48%;
}
.land4-item-info h3{
    font-size: 24px;
    border-left: 4px solid;
    padding: 3px 0 5px 10px;
    margin-bottom: 30px;
}
.land4-item-img{
	flex-basis: 45%;
}
.land4-foot{
    background: #fff;
    border: 2px solid;
    border-radius: 10px;
    padding: 20px 40px 40px;
}
.land4-foot-in{
    max-width: 800px;
    text-align: center;
    margin: auto;
}
.land4-foot-in h3{
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
}
.land4-foot-in h3 img{
	width: 80px;
}
.land4-foot-in h3 span{
	font-size: 22px;
}
.land4-foot-in ul{
    display: inline-block;
    text-align: left;
}
.land4-foot-in ul li{
    border-bottom: 2px solid;
    position: relative;
    padding: 13px 12px 13px 40px;
    letter-spacing: 3px;
}
.land4-foot-in ul li::before{
    content: "✓";
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #333;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 10px;
}
.land5-item{
    background: #fff;
    border: 2px solid;
    padding: 30px;
	align-items: center;
}
.land5-info{
	flex-basis: 64%;
}
.land5-info h3{
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.land5-info h3 .num{
    background: #595959;
    color: #fff;
    position: relative;
    font-size: 26px;
    font-weight: 400;
    padding: 0 20px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    margin-right: 30px;
}
.land5-info h3 .num::after{
    content: "";
    border-left: 15px solid #595959;
    width: 0;
    position: absolute;
    left: 100%;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    top: 50%;
    transform: translateY(-50%);
}
.land5-info h3 span{
    font-size: 24px;
}

.land5-img{
	flex-basis: 30%;
}

@media screen and (max-width:768px){
.land1-item:not(:last-of-type) {
	margin-bottom: 20px;
}
.land1-item h3 {
    margin: 15px auto 20px;
    font-size: 18px;
}
.land1-item h3::after {
    width: 60px;
}
.land1-foot {
    padding: 25px 0;
}
.land1-foot h4 {
    margin-bottom: 20px;
    font-size: 18px;
    display: block;
}
.land1-foot h4 strong {
    font-size: 18px;
    height: 36px;
}
.land1-foot h4 strong::after {
    border-left: 18px solid #333;
    border-top: 18px solid transparent;
    border-bottom: 18px solid transparent;
}
.land1-foot h4 span{
    margin: 5px 5%;
    display: block;
    text-align: center;
}
.land1-foot ul {
    padding: 0 5%;
    margin-bottom: 30px;
}
.land1-foot ul span .num {
    font-size: 30px;
    margin-right: 20px;
}
.land1-foot ul li span {
    font-size: 15px;
    letter-spacing: 1px;
}
.land1-foot ul li:not(:last-of-type) {
    padding-bottom: 10px;
    margin-bottom: 10px;
}
.land1-foot>div div {
    gap: 4%;
}
.land1-foot .triangle-right {
    border-left: 16px solid #333;
    border-top: 16px solid transparent;
    border-bottom: 16px solid transparent;
}
.land1-foot p {
    font-size: 14px;
}
.land2 .vis2-item{
	margin-bottom: 40px;
}
.land2 .vis2-title {
    padding: 7px 0 5px 15px;
    margin-bottom: 15px;
}
.land2 .vis2-title .num {
    font-size: 24px;
}
.land2 .vis2-title .num strong {
	font-size: 34px;
}
.land2 .vis2-title h3 {
    margin-top: 10px;
}
.land2-point span {
    margin-bottom: 15px;
}
.land2-point ul li {
    font-size: 14px;
}
.land2 .vis2-item-img {
    margin: 0 auto 20px;
    width: 90%;
}
.land3-item-flex {
    margin-bottom: 35px;
}
.land3-item h3 {
    gap: 15px;
	margin-bottom: 10px;
}
.land3-item h3 .num {
    font-size: 32px;
}
.land3-item h3 span {
    font-size: 20px;
}
.land3-item-flex>div {
    padding: 20px;
}
.land3-item-l h4 {
    font-size: 18px;
    margin-bottom: 15px;
}
.land3-item-c {
    width: 40px;
    height: 40px;
    font-size: 24px;
    margin: 10px auto;
    transform: rotate(90deg);
}
.land3-item-r h4 {
    font-size: 18px;
    margin-bottom: 15px;
}
.land4-item-info h3 {
    font-size: 18px;
    margin-bottom: 10px;
}
.land4-item-img {
    margin: 20px auto 0;
    width: 90%;
}
.land4-foot {
    padding: 20px;
}
.land4-foot-in h3 {
    margin-bottom: 10px;
}
.land4-foot-in h3 img {
    width: 50px;
}
.land4-foot-in h3 span {
    font-size: 18px;
}
.land4-foot-in ul li::before {
    width: 20px;
    height: 20px;
    left: 8px;
    font-size: 13px;
}
.land4-foot-in ul li {
    border-bottom: 1px solid;
    padding: 12px 10px 10px 35px;
    letter-spacing: 2px;
    font-size: 14px;
}
.land5-item {
    padding: 20px;
}
.land5-info h3 {
    display: block;
	margin-bottom: 15px;
}
.land5-info h3 .num {
    font-size: 16px;
    height: 34px;
    margin-right: 0px;
}
.land5-info h3 .num::after {
    border-top: 17px solid transparent;
    border-bottom: 17px solid transparent;
}
.land5-info h3 span {
    font-size: 18px;
    display: block;
    margin: 5px auto;
    text-align: center;
}
.land5-img {
    margin-top: 15px;
}




}

/****************** flow *********************/
.flow-sec{
	padding-top: 0;
}
.flow-sec-title{
    background: #EBECED;
    text-align: center;
    padding: 40px;
    margin-bottom: 60px;
}
.flow-sec-title .num{
    display: inline-block;
    margin: auto;
    font-size: 20px;
    margin-bottom: 15px;
    background: #404040;
    color: #fff;
    padding: 5px 50px;
}
.flow-sec-title .text{
    display: block;
    font-size: 18px;
}
.flow-items{
	gap: 70px 50px;
}
.flow-item{
	flex-basis: calc(50% - 25px);
}
.flow-item h3{
    margin-top: 20px;
    font-size: 20px;
    display: flex;
    align-items: center;
    padding: 0 10px;
}
.flow-item h3 .num{
    font-family: Impact, 'Anton', sans-serif;
    font-size: 46px;
    border-right: 2px solid;
    padding-right: 15px;
    margin-right: 15px;
}
.flow-item p{
    margin-top: 25px;
    padding-left: 50px;
}

@media screen and (max-width:768px){
	.flow-sec-title{
		padding: 28px 16px;
		margin-bottom: 36px;
	}
	.flow-sec-title .num {
		font-size: 16px;
		margin-bottom: 10px;
		padding: 2px 50px;
	}
	.flow-sec-title .text{
		font-size: 14px;
	}
	.flow-items{
		gap: 36px 0;
	}
	.flow-item:not(:last-of-type) {
		margin-bottom: 30px;
	}
	.flow-item h3{
		font-size: 16px;
		padding: 0;
		flex-wrap: wrap;
	}
	.flow-item h3 .num{
		font-size: 32px;
		padding-right: 10px;
		margin-right: 10px;
	}
	.flow-item p{
		padding-left: 0;
		margin-top: 16px;
	}
}

/****************** 住宅性能 *********************/
.per-top-title{
    background: #574F46;
    text-align: center;
    font-size: 34px;
    color: #fff;
    padding: 70px 5%;
    margin-bottom: 40px;
}
.per-top-cate{
	margin-bottom: 40px;
}
.per-top-item{
    flex-basis: 23%;
    background: #574F46;
    color: #fff;
    padding: 20px;
}
.per-top-item h3{
    background: #fff;
    color: #574f46;
    text-align: center;
    font-weight: bold;
    padding: 7px;
    font-size: 20px;
    margin-bottom: 15px;
}
.per-top-text1{
    font-size: 14px;
    text-align: center;
    margin-bottom: 5px;
}
.per-top-text2{
    text-align: center;
    font-size: 20px;
    border-bottom: 1px solid;
    padding-bottom: 10px;
    margin-bottom: 10px;
}
.per-top-text3{
	font-size: 14px;
}
.per-top-points{
    background: #fff;
    padding: 40px;
    margin-bottom: 50px;
}
.per-top-points h3{
    font-size: 28px;
    border-left: 4px solid;
    padding: 2px 0 5px 15px;
    margin-bottom: 30px;
}
.per-top-points-item{
	flex-basis: 32%;
}
.per-top-points-item .num{
    text-align: center;
    font-size: 22px;
    padding: 12px 0;
    font-family: "noto-serif", serif;
    font-weight: 800;
}
.per-top-points-item .num span{
	font-size: 28px;
}
.per-top-points-item h4{
    text-align: center;
    margin-bottom: 20px;
    font-size: 18px;
    font-weight: bold;	
}
.per-top-points-item p{
    font-size: 15px;
    line-height: 1.8;
    padding: 0 5%;
}
.per-top-foot{
	background-image: url("../img/performance/per-2.webp");
	background-size: cover;
	padding: 100px 5%;
	text-align: center;
	color: #fff;
	background-position: center;
}
.per-top-foot p{
    font-size: 40px;
    line-height: 1.6;
    text-shadow: 3px 3px 2px rgba(0,0,0,0.5);
    margin-bottom: 80px;
	position: relative;
}
.per-top-foot p::after{
	content: "";
	position: absolute;
	bottom: -20px;
	left: 50%;
	transform: translateX(-50%);
	height: 2px;
	width: 130px;
	background: #fff;
    box-shadow: 2px 2px 1px rgba(0,0,0,0.5);
}
.per-top-foot span{
    font-size: 22px;
    text-shadow: 3px 3px 2px rgba(0,0,0,0.5);
}
.per-item{
	padding-top: 0;
}
.per-item-top{
    background: #574F46;
    color: #fff;
    padding: 60px 0;
	margin-bottom: 60px;
}
.per-item-top-flex{
	align-items: center;
}
.per-item-top-l{
	flex-basis: 300px;
}
.per-item-top-l .num{
    font-family: Impact, 'Anton', sans-serif;
    font-size: 70px;
    opacity: 0.5;
    line-height: 1;
    margin-bottom: 15px;
    display: block;
}
.per-item-top-l h2{
	font-size: 42px;
}
.per-item-top-l h2 span{
    display: block;
    font-size: 22px;
    margin-top: 15px;
}
.per-item-top-r{
	flex-basis: calc(100% - 350px);
}
.per-item-top-r h3{
    font-size: 24px;
    margin-bottom: 30px;
}
.per-item-top-r p{
	font-size: 15px;
}
.per-item-points{
	margin-bottom: 80px;
}
.per-item-point{
	text-align: center;
}
.per-item-point .num{
    font-family: Impact, 'Anton', sans-serif;
    font-size: 40px;
    display: flex;
    gap: 50px;
    margin-bottom: 40px;
	align-items: center;
}
.per-item-point .num::before,.per-item-point .num::after{
	content: "";
	flex-grow: 1;
	border-top: 1px solid;
}
.per-item-point h3{
    font-size: 26px;
    margin-bottom: 40px;
}
.per-item-point p{
    margin-bottom: 50px;
}
.per-item-point-img{
    max-width: 1000px;
    margin: 0 auto 50px;
}
.per-pickup{
    background: #fff;
    padding: 50px;
	margin-bottom: 80px;
}
.per-pickup h3{
	margin-bottom: 60px;
	text-align: center;
}
.per-pickup h3 strong{
    font-family: Impact, 'Anton', sans-serif;
    display: block;
    font-size: 40px;
    margin-bottom: 40px;
}
.per-pickup h3 span{
	font-size: 28px;
}
.per-pickup-item{
	margin-bottom: 60px;
}
.per-pickup-item-info{
	flex-basis: 48%;
	align-self: center;
}
.per-pickup-item-info h4{
    font-size: 24px;
    margin-bottom: 30px;
}
.per-pickup-item-info h4 span{
    font-size: 40px;
    display: block;
    margin-top: 10px;
}
.per-pickup-item-img{
	flex-basis: 48%;
}
.per-pickup>h4{
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    position: relative;
    margin-bottom: 80px;
}
.per-pickup>h4::after{
	content: "";
	position: absolute;
	bottom: -15px;
	left: 50%;
	transform: translateX(-50%);
	height: 1px;
	width: 100px;
	background: #333;
}
.per-pickup-items2{
	margin-bottom: 80px;
}
.per-pickup-item2{
    background: #574F46;
    color: #fff;
    padding: 20px;
    flex-basis: 32%;
}
.per-pickup-item2 h5{
    text-align: center;
    font-size: 18px;
    border-bottom: 1px solid;
    padding-bottom: 10px;
    margin-bottom: 15px;
}
.per-pickup-item2 p{
	font-size: 15px;
	line-height: 1.8;
}
.per-pickup-item3-img{
	flex-basis: 50%;
}
.per-pickup-item3-info{
	flex-basis: 46%;
}
.per-pickup-item3{
    align-items: center;
}
.per-pickup-item3:not(:last-of-type){
    border-bottom: 1px solid;
    padding-bottom: 40px;
    margin-bottom: 40px;
}
.per-pickup-item3-info .num{
    background: #574F46;
    display: inline-block;
    color: #fff;
    padding: 3px 30px;
    font-size: 20px;
    margin-bottom: 15px;
}
.per-pickup-item3-info h5{
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 20px;
}
.per-pickup-foot{
    font-size: 24px;
    line-height: 1.7;
    margin-top: 80px;
}
.per-pickup-melit{
    border: 1px solid;
    background: #fff;
    padding: 40px;
    margin-bottom: 80px;
}
.per-pickup-melit h3{
    background: #574F46;
    color: #fff;
    text-align: center;
    font-size: 24px;
    padding: 8px;
    margin-bottom: 50px;
}
.per-pickup-melit-item{
	flex-basis: 31%;
}
.per-pickup-melit-item h4{
    margin: 20px auto 15px;
    text-align: center;
    font-size: 20px;
    line-height: 1.7;
}
.per-pickup-melit-item p{
    font-size: 15px;
    line-height: 1.8;
}
.per-item-points-flex-item{
	flex-basis: 46%;
}
.per-item-points-flex-item h4{
    font-size: 24px;
    font-weight: bold;
    margin: 20px auto;
}
.per-item-points-flex-item p{
	text-align: left;
}
.per4{
	padding-bottom: 0;
}
.per4 .per-pickup-melit {
    margin-bottom: 0;
}

@media screen and (max-width:768px){
	.per-top-title {
		font-size: 20px;
		padding: 30px 5%;
		margin-bottom: 30px;
	}
	.per-top-item {
		margin-bottom: 15px;
	}
	.per-top-item h3 {
		padding: 5px;
		font-size: 16px;
	}
	.per-top-points {
		padding: 20px;
		margin-bottom: 30px;
	}
	.per-top-points h3 {
		font-size: 18px;
		border-left: 4px solid;
		padding: 2px 0 5px 12px;
		margin-bottom: 15px;
	}
	.per-top-points-item .num {
		font-size: 20px;
		padding: 10px 0;
	}
	.per-top-points-item .num span {
		font-size: 26px;
	}
	.per-top-points-item h4 {
		margin-bottom: 15px;
		font-size: 16px;
	}
	.per-top-points-item p {
		font-size: 14px;
		padding: 0 2%;
		margin-bottom: 15px;
	}
	.per-top-foot {
		padding: 50px 5%;
		background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),url("../img/performance/per-2.webp");
	}
	.per-top-foot p {
		font-size: 20px;
		margin-bottom: 60px;
	}
	.per-top-foot p::after {
		bottom: -15px;
		width: 80px;
	}
	.per-top-foot span {
		font-size: 16px;
		line-height: 2;
	}
	.per-item-top {
		padding: 30px 0;
		margin-bottom: 30px;
	}
	.per-item-top-l .num {
		font-size: 40px;
		margin-bottom: 5px;
	}
	.per-item-top-l h2 {
		font-size: 24px;
		margin-bottom: 20px;
	}
	.per-item-top-l h2 span {
		font-size: 16px;
		margin-top: 5px;
	}
	.per-item-top-r h3 {
		font-size: 17px;
		margin-bottom: 20px;
		text-align: center;
	}
	.per-item-top-r p {
		font-size: 14px;
	}
	.per-item-point .num {
		font-size: 30px;
		gap: 20px;
		margin-bottom: 20px;
	}
	.per-item-point h3 {
		font-size: 18px;
		margin-bottom: 20px;
	}
	.per-item-point p {
		margin-bottom: 30px;
		text-align: left;
	}
	.per-pickup {
		padding: 30px;
		margin-bottom: 40px;
	}
	.per-pickup h3 {
		margin-bottom: 30px;
	}
	.per-pickup h3 strong {
		font-size: 32px;
		margin-bottom: 25px;
	}
	.per-pickup h3 span {
		font-size: 20px;
	}
	.per-pickup-item-info h4 {
		font-size: 18px;
		margin-bottom: 20px;
	}
	.per-pickup-item-info h4 span {
		font-size: 28px;
		margin-top: 5px;
	}
	.per-pickup-item-img {
		margin-top: 15px;
	}
	.per-pickup>h4 {
		font-size: 20px;
		margin-bottom: 50px;
	}
	.per-pickup-item2:not(:last-of-type) {
		margin-bottom: 15px;
	}
	.per-pickup-item2 h5 {
		font-size: 16px;
	}
	.per-pickup-item2 p {
		font-size: 14px;
	}
	.per-item-top-l {
		text-align: center;
	}
	.per-pickup-item3-img {
		margin-bottom: 15px;
	}
	.per-pickup-item3-info .num {
		font-size: 16px;
		margin-bottom: 10px;
	}
	.per-pickup-item3-info h5 {
		font-size: 17px;
		margin-bottom: 12px;
	}
	.per-pickup-item3:not(:last-of-type) {
		padding-bottom: 30px;
		margin-bottom: 30px;
	}
	.per-pickup-foot {
		font-size: 16px;
		line-height: 1.7;
		margin-top: 30px;
	}
	.per-pickup-melit {
		padding: 25px;
		margin-bottom: 40px;
	}
	.per-pickup-melit h3 {
		font-size: 17px;
		margin-bottom: 20px;
	}
	.per-pickup-melit-item:not(:last-of-type) {
		margin-bottom: 30px;
	}
	.per-pickup-melit-item h4 {
		margin: 15px auto 10px;
		font-size: 18px;
	}
	.per-pickup-melit-item p {
		font-size: 14px;
		line-height: 1.8;
	}
	.per-item-points-flex-item h4 {
		font-size: 18px;
		margin: 20px auto 15px;
	}
	.per4 .per-pickup-item-info h4 {
		font-size: 16px;
	}
	.per4 .per-pickup-item-info h4 span {
		font-size: 22px;
	}
}

/****************** 資金計画 *********************/
.mon1-foot{
    background: #fff;
    padding: 40px;
    border: 1px solid;
}
.mon1-foot h3{
    margin-bottom: 15px;
    font-weight: bold;
    font-size: 22px;
    border-left: 4px solid;
    padding: 5px 0 8px 12px;
}
.mon2 .vis2-title .num{
    color: #595959;
    font-size: 35px;
    margin-bottom: 5px;
    display: inline-block;
}
.mon2 .vis2-title .num strong {
    font-size: 55px;
}
.mon3-table{
	width: 100%;
	table-layout: fixed;
	margin-bottom: 40px;
}
.mon3-table tr > :nth-child(1) {
    width: 24%;
}
.mon3-table tr > :nth-child(2),.mon3-table tr > :nth-child(3) {
    width: 38%;
}
.mon3-table tr{
	border-bottom: 1px solid #574f46;
}
.mon3-table th,.mon3-table td{
	padding: 13px 2%;
}
.mon3-table th{
    background: #574F46;
    color: #fff;
}
.mon3-table td{
	background: #fff;
}
.mon-ad{
    border: 1px solid;
    background: #fff;
    padding: 30px;
}
.mon-ad-in{
	max-width: 1000px;
	margin: auto;
}
.mon-ad-in h3{
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	gap: 30px;
}
.mon-ad-in h3 strong {
    background: #574f46;
    color: #fff;
    padding: 8px 10px;
    font-family: Impact, 'Anton', sans-serif;
    font-size: 30px;
    font-weight: 400;
    flex-basis: 170px;
    text-align: center;
}
.mon-ad-in h3 span{
    font-size: 22px;
    flex: 1;
    font-weight: 600;
}
.mon4 .land1-item h3 {
    margin-bottom: 20px;
    font-size: 20px;
	font-weight: 600;
}
.mon4 .land1-item h3::after {
	display: none;
}
.mon5{
	padding-bottom: 0;
}
.mon5-item{
    background: #fff;
    border: 2px solid;
    padding: 25px;
	align-items: center;
}
.mon5-item .step-num{
    flex-basis: 110px;
    font-size: 24px;
    font-family: Impact, 'Anton', sans-serif;
    letter-spacing: 2px;
	text-align: center;
}
.mon5-item .step-num strong{
    display: block;
    font-weight: 400;
    font-size: 60px;
}
.mon5-info{
    flex: 1;
    padding: 10px 30px;
	border-left: 2px solid;
}
.mon5-info h3{
    font-size: 22px;
    margin-bottom: 20px;
    font-weight: 600;
}
.mon5-info p{
	font-size: 15px;
	line-height: 1.8;
}
.mon5 .triangle-down {
    margin: 30px auto;
    border-top: 30px solid #595959;
}

@media screen and (max-width:768px){
	.mon1-foot {
		padding: 25px;
	}
	.mon1-foot h3 {
		font-size: 16px;
	}
	.mon2 .vis2-title .num {
		font-size: 30px;
	}
	.mon2 .vis2-title .num strong {
		font-size: 40px;
	}
	.mon2 .vis2-title {
		margin-bottom: 20px;
	}
	.mon3-table-wrap {
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		margin-bottom: 20px;
	}
	.mon3-table {
		width: 700px;
		font-size: 14px;
		margin-bottom: 20px;
	}
	.mon3-table tr > :nth-child(1) {
		width: 20%;
	}
	.mon3-table tr > :nth-child(2), .mon3-table tr > :nth-child(3) {
		width: 40%;
	}
	.mon-ad {
		padding: 20px;
	}
	.mon-ad-in h3 {
		gap: 10px;
		flex-direction: column;
		align-items: normal;
		margin-bottom: 14px;
	}
	.mon-ad-in h3 strong {
		padding: 4px 10px;
		font-size: 20px;
		flex-basis: 100%;
	}
	.mon-ad-in h3 span {
		font-size: 16px;
		text-align: center;
	}
	.mon4 .land1-item h3 {
		margin-bottom: 15px;
		font-size: 16px;
	}
	.mon5-item {
		padding: 20px;
	}
	.mon5-info {
		border-left: none;
		padding: 0;
	}
	.mon5-item .step-num {
		font-size: 18px;
		margin-bottom: 10px;
	}
	.mon5-item .step-num strong {
		font-size: 38px;
		line-height: 1;
		transform: translateX(-1px);
	}
	.mon5-info h3 {
		font-size: 16px;
		text-align: center;
	}
	.mon5-info p {
		font-size: 14px;
	}
	.mon5 .triangle-down {
		margin: 20px auto;
		border-top: 20px solid #595959;
	}
}

/****************** コンタクト *********************/
.page-top-flex{
	padding-top: 0;
}
.page-top-flex-info{
	flex-basis: 48%;
}
.page-top-flex-info .main{
    font-size: 45px;
    border-bottom: 3px solid;
    max-width: 400px;
	margin-bottom: 20px;
}
.page-top-flex-info .sub{
    font-size: 24px;
    line-height: 1.7;
    margin-bottom: 30px;
}
.page-top-flex-img{
	flex-basis: 48%;
}
.cont1{
	background-image: url("../img/bg4.jpeg");
}
.cont1-in{
    text-align: center;
    width: 90%;
    margin: auto;
}
.cont1-in h2{
    font-size: 28px;
    margin-bottom: 40px;
}
.cont1-in ul{
    display: inline-block;
    text-align: left;
    font-size: 22px;
}
.cont1-in li{
    border-bottom: 1px solid #404040;
    padding: 10px 10px 10px 40px;
    position: relative;
}
.cont1-in li span{
    width: 30px;
    height: 30px;
    display: inline-flex;
    background: #404040;
    border-radius: 50%;
    color: #fff;
    align-items: center;
    justify-content: center;
    margin-right: 13px;
    font-size: 18px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.cont1-in>p{
	font-size: 28px;
}
.cont-sec-title{
    background: #EBECED;
    text-align: center;
    padding: 30px 10px;
    margin-bottom: 80px;
}
.cont-sec-title strong{
    font-size: 50px;
    font-weight: 700;
    display: block;
    color: #333;
	font-family: "Roboto Condensed", sans-serif;
}
.cont-sec-title span{
	font-size: 24px;
}
.cont2{
	padding-bottom: 0;
}
.cont2-items{
	gap: 50px 30px;
}
.cont2-item{
	flex-basis: calc(100% / 3 - 20px);
}
.cont2-item h3{
    text-align: center;
    border-bottom: 1px solid #777;
    font-size: 20px;
    padding: 20px 0 10px;
    margin-bottom: 15px;
}
.cont2-item p{
	line-height: 1.7;
}
.cont3-item{
    justify-content: center;
    gap: 3%;
    align-items: center;
}
.cont3-item:not(:last-of-type){
    border-bottom: 1px solid;
    padding-bottom: 40px;
    margin-bottom: 60px;
}
.cont3-item .num{
    background: #574F46;
    color: #fff;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
	flex-direction: column;
}
.cont3-item .num span{
    font-size: 18px;
    letter-spacing: 0;
    line-height: 1;
}
.cont3-item .num strong{
    line-height: 1;
    font-size: 30px;
    font-weight: 700;
}
.cont3-info{
    flex-basis: calc(100% - 120px);
    max-width: 850px;
}
.cont3-info h3{
    font-size: 21px;
    margin-bottom: 30px;
    font-weight: 600;
}
.cont4{
	background-image: url("../img/bg4.jpeg");
}
.cont4-in{
    background: #fff;
    padding: 40px;
	align-items: center;
}
.cont4-info{
	flex-basis: 50%;
}
.cont4-img{
	flex-basis: 45%;
}
.cont4-info h2{
	margin-bottom: 20px;
}
.cont4-info h2 strong{
    display: inline-block;
    font-size: 30px;
    border-bottom: 2px solid;
    padding: 0 20px 5px 0;
    margin-bottom: 10px;
}
.cont4-info h2 span{
	display: block;
}
.cont4-info>span{
    font-size: 20px;
    margin-bottom: 20px;
    display: block;
    line-height: 1.8;
}
.cont4-area{
    margin-top: 20px;
    border: 1px solid;
    padding: 20px;
}
.cont4-area h3{
    background: #574F46;
    display: inline-flex;
    color: #fff;
    padding: 0 20px;
    margin-bottom: 15px;
    font-size: 18px;
    align-items: center;
    gap: 10px;
}
.cont4-area h3 img{
	width: 40px;
	height: 40px;
}
.cont4-area p{
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 20px;
}
.cont4-area div{
    background: #574F46;
    color: #fff;
    padding: 10px 15px;
    font-size: 14px;
    line-height: 1.8;
}
.form{
    background: #EAEBEC;
    margin: 100px auto;
    padding: 80px 5%;
}
.form-top{
	text-align: center;
	margin-bottom: 60px;
}
.form-top h2{
    margin-bottom: 40px;
    font-size: 18px;
}
.form-top h2 strong{
    font-size: 40px;
    display: inline-block;
/*    transform: scaleX(0.8);
    transform-origin: center center;*/
    color: #333;
    font-weight: 500;
	font-family: "Roboto Condensed", sans-serif;
}
.form-top ul{
    display: inline-block;
    text-align: left;
    margin-bottom: 40px;
    font-size: 15px;
    line-height: 1.8;
}
.form-flow{
    justify-content: center;
    align-items: center;
    gap: 2%;
}
.form-flow div{
    border: 2px solid #333;
    padding: 10px;
    font-size: 15px;
    width: 20%;
    background: #fff;
}
.form-flow div.target{
	background: #ED7D31;
	color: #fff;
	border-color: #ED7D31;
}

.contact-form{
	max-width: 800px;
	margin: auto;
}
.contact-form input, .contact-form textarea{
    background: #fff;
}
input::placeholder, textarea::placeholder{
    font-size: 13px;
}
.contact-form form>p{
    margin-bottom: 20px;
}
.form-naiyou{
    border: 1px solid;
    padding: 30px;
    margin-bottom: 30px;
}
.form-title {
    text-align: center;
    font-weight: bold;
    font-size: 30px;
    letter-spacing: 2px;
    margin-bottom: 40px;
}
.form-checkbox{
    border: 1px solid;
    padding: 30px 30px 15px;
    margin-bottom: 30px;
    margin-top: 20px;
}
.top-check .wpcf7-form-control{
	gap: 10px 0;
}

.top-check .wpcf7-form-control, .form-checkbox-input .wpcf7-form-control{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.top-check .wpcf7-list-item, .form-checkbox-input .wpcf7-list-item{
    flex-basis: 48%;
    background: #fff;
    border: 1px solid;
	margin-left: 0;
    margin-bottom: 15px;
    padding: 5px;
    display: flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
}
.top-check .wpcf7-list-item{
	border-radius: 10px;
	margin-bottom: 0;
}
.form-main1{
    display: flex;
    flex-wrap: wrap;
    gap: 20px 6%;
    justify-content: space-between;
	margin-left: 3%;
	margin-bottom: 20px;
}
.form-full{
	margin-left: 3%;
	margin-bottom: 20px;
}
.form-sec-title{
    font-size: 20px;
    border-left: 7px solid;
    padding-left: 20px;
	margin: 50px 0 30px;
}
.form-sec-title span{
	font-size: 14px;
	margin-left: 10px;
}
.form-main1>div{
    flex-basis: 45%;
}
.contact-form .wpcf7-form-control-wrap{
    display: block;
}

.form-main1 .wpcf7-form-control-wrap input{
    width: 100%;
    padding: 5px;
}
.contact-form label{
    display: block;
	margin-bottom: 10px;
}
.top-check .wpcf7-list-item label{
	margin-bottom: 0;
}
.required{
    background: #ED7D31;
    font-size: 13px;
    margin-right: 10px;
    padding: 0px 10px;
    color: #fff;
    font-weight: 500;
}
.nini{
    background: #2E75B6;
    font-size: 13px;
    margin-right: 10px;
    padding: 0px 10px;
    color: #fff;
    font-weight: 500;
}
.wpcf7-form-control-wrap{
    margin-bottom: 15px;
}
.contact-form .wpcf7-form-control-wrap input,.contact-form .wpcf7-form-control-wrap select{
    padding: 10px;
    border-radius: 10px;
    border: 1px solid;
    font-size: 16px;
}
.contact-form .wpcf7-form-control-wrap select{
    width: 100%;
}
.wpcf7-form-control::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #999999; /* 赤色に設定 */
}
.wpcf7-form-control::-moz-placeholder { /* Firefox 19+ */
  color: #999999; /* 赤色に設定 */
}
.wpcf7-form-control:-ms-input-placeholder { /* IE 10+ */
  color: #999999; /* 赤色に設定 */
}
.wpcf7-form-control:-moz-placeholder { /* Firefox 18- */
  color: #999999; /* 赤色に設定 */
}
.wpcf7-checkbox{
    width: 100%;
    display: block;
}
.wpcf7-checkbox label{
	cursor: pointer;
}
.wpcf7-checkbox input{
	width: auto!important;
}
.wpcf7-checkbox .contact-form label {
    display: flex;
}
.contact-form textarea{
    width: 100%;
    font-size: 16px;
    padding: 10px;
    line-height: 1.3;
    border: 1px solid;
    border-radius: 10px;
}
.policy{
    text-align: center;
    margin: 30px 0;
}
.submit{
    text-align: center;
}
.submit input{
    background: #fff;
    border: 1px solid;
    padding: 10px 100px;
    color: #000;
    margin: 0 5px;
    cursor: pointer;
	transition: all 0.3s ease;
}
.submit input:hover{
	background: #737373;
	color: #fff;
}
.wpcf7-spinner{
    display: none!important;
}
.form-full input{
    width: 100%;
}
.form-checkbox-input label{
    margin: 0;
    padding: 5px 0;
    flex-basis: 100%;
}
.form-confirm{
    max-width: 600px;
    margin: 0 auto 50px;
}
.confirm-text{
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    align-items: center;
}
.confirm-text label{
    flex-basis: 25%;
    margin-bottom: 0;
}
.confirm-text p{
    flex-basis: 70%;
    background: #fff;
    min-height: 40px;
    display: flex;
    align-items: center;
    padding-left: 10px;
}
.modal {
    display: none; /* 最初は隠しておく */
    position: fixed; /* 画面に固定 */
    z-index: 10; /* 他の内容より上に表示 */
    left: 0;
    top: 0;
    width: 100%; /* 幅は画面全体 */
    height: 100%; /* 高さも画面全体 */
    overflow: auto; /* スクロール可能にする */
    background-color: rgba(0,0,0,0.4); /* 背景は半透明の黒 */
    opacity: 0;
    transition: opacity 0.5s;
}

.modal-content {
    background-color: #fefefe;
    margin: 15% auto; /* 中央寄せ */
    padding: 30px;
    border: 1px solid #888;
    width: 80%; /* 幅は80% */
    transition: transform 0.5s;
    transform: translateY(-50px);
    font-size: 14px;
}

.modal-content .close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}
.modal-content .close:hover,
.modal-content .close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}
.modal-content h2{
    text-align: center;
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 30px;
}
.modal-content h3{
    font-weight: bold;
    font-size: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid;
    margin-bottom: 10px;
}
.modal-content p{
    line-height: 1.8;
    margin-bottom: 30px;
}
.wpcf7 form .wpcf7-response-output{
    border: none!important;
}
.contact-confirm{
	background: var(--bg);
	padding: 80px 0;
}
.contact-thanks{
    text-align: center;
    line-height: 2.5;
}
.wpcf7-list-item {
    display: inline-block;
    margin: 0 0 0 1em;
}

.insta-contact-top p{
    text-align: center;
    font-size: 32px;
    margin-bottom: 100px;
    display: flex;
    gap: 30px;
	align-items: center;
}
.insta-contact-top p::before,.insta-contact-top p::after{
	content: "";
	flex-grow: 1;
	border-top: 5px solid;
}
.contact-insta span{
    display: inline-block;
    margin: 40px 0;
    background: #595959;
    color: #fff;
    padding: 10px 30px;
}

@media screen and (max-width:768px){
	.page-top-flex-info {
		margin-bottom: 15px;
	}
	.page-top-flex-info .main{
		font-size: 24px;
		margin-bottom: 15px;
	}
	.page-top-flex-info .sub{
		font-size: 18px;
		margin-bottom: 20px;
	}
	.cont1-in h2{
		font-size: 20px;
		margin-bottom: 10px;
	}
	.cont1-in ul{
		font-size: 16px;
	}
	.cont1-in li {
		font-size: 14px;
	}
	.cont1-in li span{
		width: 26px;
		height: 26px;
		font-size: 14px;
	}
	.cont1-in>p{
		font-size: 16px;
		line-height: 1.7;
	}
	.cont-sec-title{
		padding: 24px 16px;
		margin-bottom: 40px;
	}
	.cont-sec-title strong{
		font-size: 32px;
	}
	.cont-sec-title span{
		font-size: 16px;
	}
	.cont2-item{
		margin-bottom: 24px;
	}
	.cont2-item h3{
		font-size: 16px;
	}
	.cont3-item:not(:last-of-type){
		padding-bottom: 28px;
		margin-bottom: 36px;
	}
	.cont3-item .num{
		display: none;
	}
	.cont3-info{
		flex-basis: 100%;
		max-width: none;
	}
	.cont3-info h3{
		font-size: 16px;
		margin-bottom: 10px;
		position: relative;
		padding-left: 55px;
	}
	.cont3-info h3 .num-sp{
		display: inline-flex;
		background: #574F46;
		color: #fff;
		width: 45px;
		height: 45px;
		border-radius: 50%;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		line-height: 1;
	}
	.cont3-info h3 .num-sp span{
		font-size: 11px;
	}
	.cont3-info p{
	    line-height: 1.8;
	    padding: 0 5%;
	}
	.cont4-in{
		padding: 24px 20px;
	}
	.cont4-info h2 strong{
		font-size: 22px;
	}
	.cont4-info>span{
		font-size: 14px;
	}
	.cont4-area h3 {
		display: flex;
		font-size: 16px;
		justify-content: center;
	}
	.cont4-area div {
		font-size: 13px;
	}
	.cont4-img {
		margin-top: 15px;
		padding: 10px;
	}
	.form{
		margin: 50px auto;
		padding: 40px 5%;
		margin-bottom: 30px !important;
	}
	.form-top {
		margin-bottom: 30px;
	}
	.form-top h2 strong{
		font-size: 28px;
	}
	.form-top ul {
		font-size: 14px;
		margin-bottom: 20px;
	}
	.form-flow div {
		width: 100%;
	}
	.form-flow span{
	    display: inline-block;
		margin: 5px;
		transform: rotate(90deg);
	}
	.form-title{
		font-size: 22px;
		margin-bottom: 24px;
	}
	.contact-form label {
		font-size: 14px;
	}
	.contact-form .kome{
		font-size: 14px;
	}
	.form-naiyou,
	.form-checkbox{
		padding: 20px 16px;
	}
	.top-check .wpcf7-list-item,
	.form-checkbox-input .wpcf7-list-item{
		flex-basis: 100%;
		font-size: 14px;
	}
	.contact-form .wpcf7-form-control-wrap input, .contact-form .wpcf7-form-control-wrap select {
		font-size: 14px;
	}
	.form-main1{
		margin-left: 0;
		gap: 12px;
	}
	.form-main1>div{
		flex-basis: 100%;
	}
	.form-full{
		margin-left: 0;
	}
	.form-sec-title{
		font-size: 16px;
		margin: 20px 0;
		padding-left: 12px;
		border-left-width: 5px;
	}
	.policy .wpcf7-list-item{
		margin-left: 0;
	}
	.confirm-text{
		display: block;
	}
	.confirm-text label{
		margin-bottom: 8px;
	}
	.confirm-text p{
		flex-basis: 100%;
	}
	.submit input{
		padding: 10px 40px;
		width: 100%;
		max-width: 280px;
	}
	.modal-content{
		width: 92%;
		margin: 20% auto;
		padding: 20px;
	}
	.insta-contact-top p{
		font-size: 18px;
		margin-bottom: 50px;
		gap: 12px;
	}
	.insta-contact-top p::before,
	.insta-contact-top p::after{
		border-top-width: 2px;
	}
}

/****************** 一覧共通 *********************/
/****************** よくある質問 *********************/
.faq-category{
    background: #574F46;
    padding: 50px 0;
}
.faq-category-title{
    color: #fff;
    text-align: center;
    margin-bottom: 60px;
}
.faq-category-title .en{
    display: block;
    font-size: 40px;
    margin-bottom: 10px;
    position: relative;
}
.faq-category-title .en::after{
	content: "";
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
	height: 2px;
	width: 40px;
	background: #fff;
}
.faq-category-title .jp{
    font-size: 18px;
    letter-spacing: 3px;
}
.faq-categorys{
	display: flex;
	flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    justify-content: center;
}
.faq-categorys a{
    background: #fff;
    flex-basis: calc(100% / 4 - 9px);
    text-align: center;
    padding: 20px 35px 20px 15px;
    min-width: 220px;
    position: relative;
}
.faq-category__item .down-mark{
    position: absolute;
    right: 14px;
    font-weight: 900;
}
.faq-main{
	padding-bottom: 0;
}
.faq-main h3{
    text-align: center;
    font-size: 24px;
    margin-bottom: 60px;
    position: relative;
}
.faq-main h3::after{
	content: "";
	position: absolute;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
	width: 100px;
	height: 2px;
	background: #574F46;
}
.qa-item{
    margin-bottom: 25px;
    border-bottom: 1px solid #BFBFBF;
    padding-bottom: 25px;
}
.qa-item dt{
    position: relative;
    padding: 0 45px;
    font-size: 18px;
	cursor: pointer;
	line-height: 1.7;
}
.qa-item dt::after{
    content: "+";
    font-weight: bold;
    font-size: 50px;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}
.qa-item.open dt::after{
    content: "ー";
    font-size: 30px;
}
.qa-item dd{
    position: relative;
    padding: 0 10% 0 45px;
	max-height: 0;
	transition: all 0.3s ease;
	overflow: hidden;
}
.qa-item.open dd{
	padding-top: 20px;
	line-height: 2;
}
.qa-item dt span, .qa-item dd span{
    color: #BBA082;
    font-size: 28px;
    font-family: "noto-serif", serif;
    font-weight: bold;
    line-height: 1;
    position: absolute;
    left: 0;
}

@media screen and (max-width:768px){
	.faq-category{
		padding: 36px 0;
	}
	.faq-category-title{
		margin-bottom: 36px;
	}
	.faq-category-title .en{
		font-size: 28px;
	}
	.faq-category-title .jp{
		font-size: 14px;
	}
	.faq-categorys a{
		flex-basis: 100%;
		min-width: 0;
		padding: 10px 28px 10px 12px;
		font-size: 13px;
	}
	.faq-main h3{
		font-size: 18px;
		margin-bottom: 36px;
	}
	.faq-main h3::after {
		width: 60px;
	}
	.qa-item dt{
		font-size: 14px;
		padding: 0 36px 0 32px;
	}
	.qa-item dt::after{
		right: 8px;
		font-size: 36px;
	}
	.qa-item.open dt::after {
		font-size: 26px;
	}
	.qa-item dd{
		padding: 0 5% 0 32px;
		font-size: 14px;
	}
	.qa-item dt span,
	.qa-item dd span{
		font-size: 22px;
	}
}

/****************** 一覧イベント *********************/
.a-event-main{
	padding-top: 0;
}
.a-event-main .event-items{
	margin-bottom: 0;
}
.a-event-main .event-item:not(:last-of-type) {
    margin-bottom: 30px;
}
/****************** 一覧ブログ *********************/
.a-blog-main{
	padding-top: 0;
}
.a-blog{
	flex-basis: 74%;
}
.a-items{
	gap: 50px 15px;
}
.a-item{
	flex-basis: calc(100% / 3 - 10px);
	display: flex;
	flex-direction: column;
}
.a-item-img{
	margin-bottom: 10px;
}
.a-item-img img{
	aspect-ratio: 3/2;
	object-fit: cover;
}
.a-info{
	margin-bottom: 10px;
}
.a-info time{
	font-size: 14px;
}
.a-item h3{
	margin-bottom: 20px;
	line-height: 1.8;
}
.a-info-btn{
	margin-top: auto;
}
.pagination{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin: 80px auto 0;
}
.pagination .page-numbers{
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 44px;
	height: 44px;
	padding: 0 8px;
	border: 1px solid #574F46;
	background: #fff;
	color: #574F46;
	text-decoration: none;
	font-size: 14px;
	line-height: 1;
}
.pagination .prev,
.pagination .next{
	min-width: 180px;
	padding: 0 18px;
}
.pagination .current{
	background: #574F46;
	color: #fff;
	border-color: #574F46;
}
.pagination .dots{
	min-width: 0;
	height: auto;
	padding: 0;
	border: none;
	background: transparent;
}
.pagination a.page-numbers:hover{
	background: #574F46;
	color: #fff;
}
@media screen and (max-width:768px){
	.a-blog{
		flex-basis: 100%;
		margin-bottom: 40px;
	}
	.a-blog-main.flex-sb{
		display: block;
	}
	.s-blog-nav{
		flex-basis: 100%;
	}
	.s-blog-nav nav{
		margin-bottom: 50px;
	}
	.a-item:not(:last-of-type){
		margin-bottom: 30px;
	}
	.a-item h3{
		font-size: 14px;
		margin-bottom: 12px;
	}
	.pagination{
		gap: 6px;
		margin-top: 50px;
	}
	.pagination .page-numbers{
		min-width: 36px;
		height: 36px;
		font-size: 12px;
	}
	.pagination .prev,
	.pagination .next{
		min-width: 120px;
		padding: 0 8px;
		font-size: 11px;
	}
}

/****************** 一覧施工事例 *********************/
.archive .works-items{
	margin-bottom: 0;
}
.a-works1{
	padding: 0;
}
.a-point{
    border: 2px solid #574F46;
    border-left: 15px solid #574F46;
    padding: 30px 0;
    background: #fff;
}
.a-point>div{
	flex-basis: 50%;
	padding: 0 5%;
}
.a-point-l{
	border-right: 2px solid #574F46;
}
.point-title{
	font-size: 40px;
}
.a-point-l h3{
    margin: 20px 0;
    font-size: 24px;
    line-height: 1.8;
}
.a-point>div>p{
	font-size: 14px;
	line-height: 1.8;
}
.a-point-r{
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
}
.a-point-r-top{
	text-align: center;
}
.a-point-r-top p{
	margin-bottom: 20px;
}
.works-main{
	margin-bottom: 30px;
}

@media screen and (max-width:768px){
	.a-point{
		border-left: 2px solid #574F46;
		border-top: 12px solid #574F46;
		padding: 0;
	}
	.a-point>div{
		padding: 20px 5%;
	}
	.a-point-l{
		border-right: none;
		border-bottom: 2px solid #574F46;
		margin-bottom: 20px;
		padding-bottom: 24px;
	}
	.point-title{
		font-size: 28px;
	}
	.a-point-l h3{
		font-size: 18px;
	}
	.a-point-r-top {
		margin-bottom: 25px;
	}
	.event-page .page-top2 .main{
		font-size: 18px;
	}
}

/****************** シングル *********************/
.single-page{
	margin-bottom: 80px;
}
.s-time{
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}
.s-time img{
    width: 24px;
    margin-right: 5px;
}
.single-title{
    font-size: 28px;
    border-bottom: 2px solid;
    padding: 0 20px 8px;
    margin-bottom: 50px;
}
.single-content h2{
    background: #574F46;
    color: #fff;
    font-size: 24px;
    margin: 40px auto 30px;
    padding: 10px 20px;
}
.single-content h3{
    border-left: 6px solid #574F46;
    border-bottom: 2px solid #574F46;
    padding: 5px 10px 8px 15px;
    font-size: 22px;
    margin: 30px auto 20px;
}
.single-content p{
    margin-top: 20px;
    padding: 0 1%;
}
.single-content .wp-block-image{
	margin-top: 20px;
	width: 70%;
}
.single-content ul{
    background: #f5f2ee;
    margin: 24px 1%;
    padding: 16px 22px 16px 18px;
    border-left: 4px solid #574F46;
	box-shadow: 3px 3px 6px rgba(0,0,0,0.1);
}
.single-content li{
    position: relative;
    padding: 5px 0 5px 1.4em;
    line-height: 1.5;
}
.single-content li:not(:last-child){
    border-bottom: 1px solid rgba(87, 79, 70, 0.12);
}
.single-content li::before{
    content: "■";
    position: absolute;
    left: 0;
    top: 12px;
    color: #574F46;
    font-size: 0.65em;
    line-height: 1;
}
.single-content ul ul{
    background: transparent;
    margin: 8px 0 0;
    padding: 0 0 0 4px;
    border-left: none;
}

.post-navi{
	margin: 80px auto 0;
}
.post-navi .nav-btns:not(.ichiran){
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 20px;
}
.post-navi .nav-btns a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 160px;
	height: 44px;
	padding: 0 18px;
	border: 1px solid #574F46;
	background: #fff;
	color: #574F46;
	text-decoration: none;
	font-size: 14px;
	line-height: 1;
	white-space: nowrap;
}
.post-navi .nav-btns-archive{
	background: #574F46;
	color: #fff;
}
.post-navi .nav-btns a:hover{
	background: #574F46;
	color: #fff;
	opacity: 1;
}
.post-navi .nav-btns-archive:hover{
	background: #fff;
	color: #574F46;
}
.post-navi .ichiran{
	margin-top: 10px;
	text-align: center;
}
.post-navi .ichiran a{
	min-width: 160px;
}
@media screen and (max-width:768px){
	.single-page{
		margin-bottom: 40px;
	}
	.single-title{
		font-size: 20px;
		padding: 0 0 8px;
		margin-bottom: 30px;
	}
	.single-content h2{
		font-size: 18px;
		margin: 28px auto 20px;
		padding: 8px 14px;
	}
	.single-content h3{
		font-size: 16px;
		margin: 24px auto 16px;
	}
	.single-content .wp-block-image{
		width: 100%;
	}
	.post-navi{
		margin-top: 50px;
	}
	.post-navi .nav-btns:not(.ichiran){
		gap: 8px;
	}
	.post-navi .nav-btns a{
		min-width: 0;
		height: 40px;
		padding: 0 12px;
		font-size: 13px;
	}
}

/****************** シングルブログ *********************/
.s-blog-main{
	flex-basis: 75%;
}
.s-blog-nav{
	flex-basis: 21%;
}
.s-blog-nav nav{
	margin-bottom: 100px;
}
.s-blog-nav h2{
    border-bottom: 2px solid;
    padding-bottom: 5px;
    margin-bottom: 20px;
}
.s-blog-nav ul li{
    border-bottom: 2px solid;
	padding: 10px 0 10px 8px;
}
.s-blog-nav ul li a{
    text-indent: -15px;
    margin-left: 15px;
    display: block;
    font-size: 14px;
}
.s-blog-nav ul li a::before{
	content: "■";
}
.s-blog-osusume a{
    display: block;
    padding-left: 8%;
    padding-right: 8%;
}
.s-blog-osusume a:not(:first-of-type){
	margin-top: 20px;
	border-top: 1px solid;
	padding-top: 20px;
}
.s-blog-osusume-img{
	margin-bottom: 5px;
}
.s-blog-osusume-img img{
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.s-blog-osusume h3{
	font-size: 14px;
	line-height: 1.6;
	font-weight: 600;
}
.s-blog-main .post-navi{
	margin-bottom: 50px;
}

@media screen and (max-width:768px){
	.s-blog-flex{
		display: block;
	}
	.s-blog-main{
		flex-basis: 100%;
	}
	.s-blog-nav{
		margin-top: 40px;
	}
}

/****************** シングル施工事例 *********************/
.s-works-top{
	padding-top: 0;
}
.s-works-top h1{
    text-align: center;
    margin: 50px auto 80px;
    font-size: 24px;
}
.s-works-top h1 span span{
	position: relative;
	display: inline-block;
}
.s-works-top h1 span span::after{
	content: "";
	position: absolute;
	bottom: -15px;
	left: 50%;
	height: 1px;
	width: 60%;
	background: #574F46;
	transform: translateX(-50%);
}
.s-works-top p{
    max-width: 780px;
    margin: 0 auto 80px;
}
.s-works-jouhou{
	margin-bottom: 80px;
}
.s-works-jouhou h2{
    border-left: 4px solid;
    padding: 3px 0 5px 12px;
    font-size: 20px;
    margin-bottom: 20px;
}
.s-works-jouhou dl{
	border-top: 1px solid;
	border-left: 1px solid;
	text-align: center;
}
.s-works-jouhou dt{
	flex-basis: 20%;
	border-right: 1px solid #574F46;
	border-bottom: 1px solid #574F46;
	background: #f2f2f2;
	padding: 13px 5px;
}
.s-works-jouhou dd{
	flex-basis: 30%;
	border-right: 1px solid #574F46;
	border-bottom: 1px solid #574F46;
	background: #fff;
	padding: 13px 5px;
}
.s-works-point{
	background-image: url("../img/bg3.webp");
}
.s-works-point h2{
    margin-bottom: 60px;
    text-align: center;
}
.s-works-point h2 strong{
    display: block;
    position: relative;
    font-weight: 500;
    font-size: 40px;
	margin-bottom: 5px;
}
.s-works-point h2 strong::after{
    content: "";
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    height: 2px;
    width: 70px;
    background: #574F46;
}
.s-works-point-items{
	gap: 50px 6%;
}
.s-works-point-item{
	flex-basis: 47%;
}
.s-works-point-img{
	margin-bottom: 20px;
}
.s-works-point-img img{
    max-height: 500px;
    object-fit: contain;
}
.s-works-point-item h3{
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 2px;
    border-left: 3px solid #333;
    padding: 1px 0 3px 10px;
}
.s-works-point-item p{
	padding: 0 10px;
}
@media screen and (max-width:768px){
	.s-works-top h1{
		margin: 30px auto 40px;
		font-size: 18px;
	}
	.s-works-top p{
		margin-bottom: 40px;
	}
	.s-works-jouhou{
		margin-bottom: 40px;
	}
	.s-works-jouhou h2{
		font-size: 16px;
	}
	.s-works-jouhou dl.flex,
	.s-works-jouhou dl.flex-sb{
		display: block;
	}
	.s-works-jouhou dt,
	.s-works-jouhou dd{
		flex-basis: 100%;
		display: block;
		width: 100%;
		padding: 5px;
		font-size: 14px;
	}
	.s-works-point h2 {
		margin-bottom: 30px;
	}
	.s-works-point h2 strong{
		font-size: 28px;
	}
	.s-works-point-item{
		margin-bottom: 40px;
	}
	.s-works-point-item h3{
		font-size: 16px;
	}
}
/**************************************************/

.rev{
	flex-direction: row-reverse;
}
.mt-10{
    display: inline-block;
    margin-top: 10px;
}
.mb-0{margin-bottom: 0;}
.mb-20{margin-bottom: 20px;}
.mb-30{margin-bottom: 30px;}
.mb-40{margin-bottom: 40px;}
.mb-50{margin-bottom: 50px;}
.mb-80{margin-bottom: 80px;}
.mb-100{margin-bottom: 100px;}


@media screen and (max-width:768px){
	.des1-foot .slick-slide{
		padding: 0 6px;
	}
	.mb-80{ margin-bottom: 50px; }
	.mb-100{ margin-bottom: 60px; }
	.mb-50{ margin-bottom: 30px; }
}


/****************** シングルイベント *********************/
.s-event-format{
	padding: 60px 0;
}
.s-event-img{
	flex-basis: 46%;
}
.s-event-img img{
	width: 100%;
	height: auto;
}
.s-event-info{
	flex-basis: 48%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.s-event-cate{
	align-self: start;
	border: 1px solid #574F46;
	background: #fff;
	padding: 6px 22px;
	font-size: 14px;
	line-height: 1.5;
	margin-bottom: 24px;
	letter-spacing: 0.06em;
}
.s-event-info h1{
    font-size: 22px;
    font-weight: 500;
    line-height: 1.7;
    margin-bottom: 30px;
    border-bottom: 1px solid;
    padding-bottom: 7px;
}
.s-event-info dl{
	margin-bottom: 10px;
}
.s-event-info dl:not(:last-of-type){
    border-bottom: 1px solid;
    padding-bottom: 10px;
}
.s-event-info dt{
	background: #574F46;
	color: #fff;
	font-size: 13px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 6px 8px;
	flex-basis: 88px;
}
.s-event-info dd{
	font-size: 15px;
	flex-basis: calc(100% - 110px);
	padding: 6px 0 6px 14px;
}
.s-event-reserve{
	display: inline-block;
	margin-top: 36px;
	background: #574F46;
	color: #fff;
	font-size: 14px;
	letter-spacing: 0.08em;
	padding: 12px 22px 12px 28px;
}
.s-event-reserve::after{
	content: "▼";
	font-size: 10px;
	margin-left: 14px;
	vertical-align: 1px;
}
.s-event-page .single-content{
	margin-bottom: 40px;
}
@media screen and (max-width:768px){
	.s-event-format{
		padding: 36px 0;
	}
	.s-event-img{
		margin-bottom: 28px;
	}
	.s-event-info h1{
		font-size: 18px;
	}
	.s-event-info dl.flex-sb-al{
		display: flex;
		flex-wrap: wrap;
	}
	.s-event-info dt{
		flex-basis: 88px;
	}
	.s-event-info dd{
		flex-basis: calc(100% - 100px);
		padding-left: 10px;
		font-size: 14px;
	}
	.s-event-reserve{
		margin-top: 24px;
		width: 100%;
		text-align: center;
		box-sizing: border-box;
	}
}


 /*pc・タブレットcss*/
  /*pc_defaultset*/
  .pc {
	display: block !important;
}
  /*pcのみ表示ブロック*/
  .pc2 { display: inline-block !important; }
  /*pcのみ表示ブロック*/
  .sp, .sp2 { display: none !important; }

@media screen and (max-width: 768px) {
.pc, .pc2 { display: none !important; }
  /*pcのみ表示ブロック*/
  .sp { display: block !important; }
}