@charset "utf-8";
/* 	Base
------------------------------------ */
:root {
	/* テキスト色 */
	--text-color: #333333;	
	--text-color-01: #a2a4f2;
	
	/* 青系 */
	--blue-primary-color: #a2a4f2;
	--blue-primary-color-dark: #494dec;
	--blue-secondary-color: #A2BDF2;
	--blue-secondary-color-dark: #4e85f0;
	
	/* 黄色系 */
	--yellow-primary-color: #F7E054;
	--yellow-primary-color-dark: #efa016;
	--yellow-secondary-color: #F7B954;
	--yellow-secondary-color-dark: #dd5519;
	
	/* サービス部分　色 */
	--service-primary-color: #f2a2a4;
	--service-primary-color-dark: #ca4e51;
	--service-secondary-color: #f2c9a2;
	--service-secondary-color-dark: #b47f4d;
	
	
	/*背景色*/
	--background-color-a: #f8f5f2;		
	--background-color-a-dark: #ece8e5;		
}

html{
	box-sizing: border-box;
    font-size: 62.5%;
	color: var(--text-color);
}
html {
  visibility: hidden;
}
html.wf-active, html.loading-delay {
	visibility: visible;
	animation-duration: 0.5s;
	animation-name: fade-in;
}

@keyframes fade-in {
  0% {
    visibility: hidden;
    opacity: 0;
  }
  100% {
    visibility: visible;
    opacity: 1;
  }
}

html,body,.wrapper {
	width: 100%;
	position: relative;
	font-family: 'Kosugi','メイリオ', Meiryo,'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: clamp(12px, 1.4vw, 14px);
	line-height: 2rem;
	overflow-x: hidden;
}

body{
	border-top: 4px solid #b68d67;
}

body#cnts{
	background: url("../images/bg.png") repeat;
}

#wrapper {
	margin: 0 auto;
	position: relative;
}
a:hover {
	-moz-opacity:0.5;
	opacity:0.5;
}
a {
	color: var(--text-color);
	text-decoration: none;
	-webkit-transition: all 0.2s 0s ease;
	-moz-transition: all 0.2s 0s ease;
	transition: all 0.2s 0s ease;
}

p.center{
	text-align: center;
}
p.right{
	text-align: right;
}

.pc{
	display: block;
}

.sp{
	display: none;
}

/* 	header
------------------------------------ */
#top header {
}

#header_inner{
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	padding: 1% 0;
}

#top #header_inner h1{
	width: 24%;
	max-width: 269px;
	height: 79px;
	display: block;
	background: url("../images/logo.png") no-repeat center;
	background-size: contain;
	margin: 0 2% 0 2%;
	font-size: 0px;
	box-sizing: border-box;
}

#header_inner h1{
	font-size: 0px;
	width: 24%;
	max-width: 269px;
	height: 79px;
	margin: 0 2% 0 2%;
	box-sizing: border-box;
}


#header_inner h1 a{
	width: 100%;
	max-width: 269px;
	height: 79px;
	display: block;
	background: url("../images/logo.png") no-repeat center;
	background-size: contain;
}

#cnts header div#header_inner{
	background-color: #FFFFFF;

}

.header_menu{
	display: none;
	width: 70%;
}

.pc_menu ul{
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	justify-content: space-around;
	flex-wrap: wrap;
}

.pc_menu li{
	width: 20%;
	text-align: center;
	text-transform: uppercase;
	font-weight: bold;
}

.pc_menu li a{
	position: relative;
	width: 100%;
	display: block;
	padding: 15px 0;
	font-size: clamp(12px, 1.8vw, 18px);
}

.pc_menu li a:hover{
	opacity: 1;
	color: #b68d67;
}

.pc_menu li a::after {
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 3px;
	background: #b68d67;
	bottom: -1px;
	transform: scale(0, 1);
	transform-origin: center top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
	transition: transform 0.3s;   /*変形の時間*/
}

.pc_menu li a:hover::after {
	transform: scale(1, 1); /*ホバー後、x軸方向に1（相対値）伸長*/
}


#header-recruit {
    position: fixed;
	top: 0;
	right: 55px;
    width: 100%;
    box-sizing: border-box;
    z-index: 1000;
    display: flex;
    justify-content: flex-end;
}

#header-recruit p{

}
#header-recruit a {
	color: #FFFFFF;
	margin: 0;
	font-size: clamp(16px, 2.1vw, 21px);
    font-weight: bold;
    width: 100%;
	line-height: 55px;
    background-color: var(--service-primary-color-dark);
	box-sizing: border-box;
	text-align: center;
	position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0px 3dvw 0px 5dvw;
    border-radius: 0px 0px 0px 40px;
}

#header-recruit a:hover {
	color: #333333;
    transition: 0.5s;
    background-color: var(--service-primary-color);
	opacity: 1;
}



/*========= ナビゲーションのためのCSS ===============*/

#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: -999;
    /*ナビのスタート位置と形状*/
	top: 0;
	left: 0;
	width:100%;
	height: 100vh;/*ナビの高さ*/
	opacity: 0;
	transition: 0.5s;

}

#g-nav p.logo{
	display: block;
	font-size: 0;
	max-width: 269px;
	width: 50%;
	height: 79px;
	margin: 0 auto 5% auto;
}

#g-nav p.logo a{
	background: url(../images/logo.png) no-repeat center;
	background-size: contain;
	display: block;
	width: 100%;
	height: 79px;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
 	width: 100%;
	z-index: 3000;
	opacity: 1;
	background-color: var(--background-color-a);
}

#g-nav .g-nav{
	width: 100%;
}

/*ナビゲーションの縦スクロール*/
#g-nav #g-nav-list{
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	justify-content: space-around;
	flex-wrap: wrap;
    z-index: 999;
    width: 100%;
	margin: 5vh auto 0 auto;
    height: 90vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
	box-sizing: border-box;
	align-content: flex-start;
}

/*ナビゲーション*/
#g-nav ul {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	justify-content: space-around;
	flex-wrap: wrap;
	width: 100%;
	flex-grow: 1;
	border-top: 1px solid #b68d67;
}

/*リストのレイアウト設定*/

#g-nav li{
	width: 100%;
	list-style: none;
    text-align: center;
}

#g-nav li a{
	color: #b68d67;
	text-decoration: none;
	display: inline-block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	width: 100%;
	box-sizing: border-box;
	padding: clamp(3%, 5vh, 5%) 0;
	border-bottom: 1px solid #b68d67;
	font-size: clamp(21px, 3vw, 30px);
	font-family: "Bebas Neue", 'Kosugi','メイリオ', Meiryo,'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
}
#g-nav li a:active{
	background-color: var(--background-color-a-dark);
}

#g-nav li a:hover{
	background-color: #b68d67;
	color: #FFFFFF;
}

#g-nav li a span{
	font-size: clamp(12px, 1.6vw, 16px);
	margin: 2px 0 0 15px;
	vertical-align: middle;
	letter-spacing: 0;
	position: relative;
	top: 2px;
}


/*========= ボタンのためのCSS ===============*/

.openbtn{
	display: block;
	/*ボタン内側の基点となるためrelativeを指定。
追従するナビゲーションの場合はfixed＋top、rightといった位置をセットで指定*/
	position:fixed;
    z-index: 9999;/*ボタンを最前面に*/
	top: 0;
	right: 0;
	cursor: pointer;
    width: 55px;
    height: 55px;
	border: 1px solid #b68d67;
	border-top: none;
	border-right: none;
	background-color: #FFFFFF;
	box-sizing: border-box;
}

/*ボタン内側*/
.openbtn span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 13px;
    height: 3px;
    border-radius: 5px;
	background: #b68d67;
  	width: 55%;
  	font-family: "Bebas Neue", 'Kosugi','メイリオ', Meiryo,'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;;
}


.openbtn span:nth-of-type(1) {
	top:13px;	
}

.openbtn span:nth-of-type(2) {
	top:21px;
}

.openbtn span:nth-of-type(3) {
	top:29px;
}

.openbtn span:nth-of-type(3)::after {
	content:"Menu";/*3つ目の要素のafterにMenu表示を指定*/
	position: absolute;
	top: 0px;
	left: 2px;
	color: #b68d67;
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	text-align: center;
}

/*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/

.openbtn.active span:nth-of-type(1) {
    top: 14px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 45%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 26px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 45%;
}

.openbtn.active span:nth-of-type(3)::after {
	content:"Close";/*3つ目の要素のafterにClose表示を指定*/
    transform: translateY(0) rotate(-45deg);
	top: 3px;
    left: 13px;
	text-align: center;
}


/* 	wrapper
------------------------------------ */
#wrapper section{
	width: 100%;
	margin: 0 auto 0 auto;
	padding: 30px 0 50px;
}

.inner{
	max-width: 1000px;
	margin: 0 auto;
}

.btn{
	margin: 30px auto 0 auto;
}

.btn a {
    background: #a2a4f2;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 200px;
    padding: 15px 25px;
    color: #ffffff;
    transition: 0.3s ease-in-out;
	letter-spacing: 2px;
/*	
	outline: 1px solid rgb(0, 0, 0);
	outline-offset: -3px;
*/
	font-size: clamp(14px, 1.8vw, 18px);
	font-weight: bold;
}

.btn a:after {
	content: "";
	position: absolute;
	top: 50%;
	bottom: 0;
	right: 2rem;
	font-size: 90%;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: right 0.3s;
	width: 6px;
	height: 6px;
	border-top: solid 2px currentColor;
	border-right: solid 2px currentColor;
	transform: translateY(-50%) rotate(45deg);
}
.btn a:hover {
	background-color: #8c8ed9;
	opacity: 1;
}
.btn a:hover:after {
	right: 1.4rem;
}







/* main-visual */
#main-visual {
	position: relative;
  margin: 0 auto;
  width: 100%;
}

#main-visual:before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0 auto;
	width: 100%;
	max-width: 1200px;
	height: 0;
	background-image: url("../images/mainvisual/main_logo.png");
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center;
	padding-top: calc(683 / 1200 * 100%);
	z-index: 100;
}

#main-visual .slider-img {
  margin: 0 auto;
}
#main-visual .slider-img .visual-img img {
  height: auto;
  width: 100%;
}

#main-visual .slider-img{
	position: relative;
}



/* top-about */
#wrapper section#top-about{
	background-image: url("../images/top_about_photo.jpg");
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center;
	padding: clamp(20px, 5.0vw, 50px) 0;
}

#top-about h2{
	display: none;
}


#top-about p{
	color: #FFFFFF;
}

#top-about p{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	font-size: clamp(12px, 1.8vw, 18px);
	line-height: 200%;
	text-align: center;
}

#top-about p.btn{
	margin: clamp(15px, 3.0vw, 30px) auto 0 auto;
}


/* top-dw */
#top #top-dw h2{
	width: 96%;
	margin: 0 auto;
	background-image: url("../images/midashi_dw.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	font-size: clamp(30px, 6.0vw, 60px);
	font-weight: bold;
	letter-spacing: 3px;
	color: #b68d67;
	text-align: center;
	height:auto; 
	padding-top: 10.5%;
	padding-bottom: 10.5%;
	-webkit-text-stroke: 7px #65462a;
	text-stroke: 7px #65462a;
	paint-order: stroke;
/*	text-shadow: 3px 3px 0px #2c1c0e;*/
}


#top #top-dw .txt{
    width: 100%;
    margin: 0 auto 0 auto;
    text-align: center;
	background-color: var(--background-color-a);
	box-sizing: border-box;
	padding: 3% 3%;
}

#top #top-dw .txt p {
    font-size: clamp(12px, 1.8vw, 18px);
	margin: 0 auto 20px auto;
    line-height: 200%;
}

#top #top-dw .txt p:first-child {
    font-size: clamp(16px, 2.1vw, 21px);
	font-style: italic;
	text-decoration: underline;
}

#top #top-dw .txt p span{
	display: block;
}

#top #top-dw .txt p strong{
	display: block;
    font-size: clamp(24px, 4.0vw, 40px);
	margin: 30px auto 0 auto;
	font-weight: bold;
	color: var(--service-primary-color-dark);
}

#top #top-dw .dw-list{
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	justify-content: space-around;
	flex-wrap: wrap;
	width: 100%;
	box-sizing: border-box;
}


#top #top-dw .dw-section{
	width: 50%;
	padding: 3%;
	box-sizing: border-box;
	position: relative;
	display: flex;
	flex-direction: column;
}


#top #top-dw .dw-section.r_style{
	background-color: var(--yellow-primary-color);
	aspect-ratio: 2;
	z-index: 10;
}


#top #top-dw .dw-section.l_style{
	background-color: var(--yellow-secondary-color);
	aspect-ratio: 2;
}

#top #top-dw .dw-section h3{
	font-size: clamp(20px, 3.0vw, 30px);
	font-weight: bold;
	letter-spacing: 1.5px;
	line-height: 180%;
	margin: 0 0 3% 0;
}
#top #top-dw .dw-section p{
	font-size: clamp(12px, 1.6vw, 16px);
	line-height: 180%;
	margin: 0 2% 3% 0;
}

#top #top-dw .dw-section figure{
	width: 50%;
	margin: auto auto 0 auto;
}

#top #top-dw .dw-section figure img{
	width: 100%;
}

#top #top-dw .dw-section.r_style h3:first-letter{
	color: var(--yellow-primary-color-dark);
}

#top #top-dw .dw-section.l_style h3:first-letter{
	color: var(--yellow-secondary-color-dark);
}

#top #top-dw .dw-section.r_style:before{
	content: "";
	display: block;
	width: 30%;
	margin: 0 0 3% 0;
	border: 4px solid var(--yellow-primary-color-dark);
	box-sizing: border-box;
}

#top #top-dw .dw-section.r_style.no-info{
	background-image: url("../images/logo_white.png");
	background-position: center;
	background-size: 40%;
	background-repeat: no-repeat;
}
#top #top-dw .dw-section.r_style.no-info:before{
	border: none;
}

#top #top-dw .dw-section.l_style:before{
	content: "";
	display: block;
	width: 30%;
	margin: 0 0 3% 0;
	border: 4px solid var(--yellow-secondary-color-dark);
	box-sizing: border-box;
}


/*
#top #top-dw .dw-section.l_style:after{
	content: "";
	position: absolute;
	display: block;
	width: 50%;
	height: 100%;
	background-color: var(--service-secondary-color);
	clip-path: polygon(0 0, 60% 0, 40% 100%, 0 100%);
	left: 70%;
	top: 0;
	z-index: -1;
}
*/

#top #top-dw .dw-section.r_style:after{
	content: "";
	position: absolute;
	display: block;
	width: 50%;
	height: 100%;
	background-color: var(--yellow-primary-color);
	clip-path: polygon(55% 0, 100% 0, 100% 100%, 45% 100%);
	right: 0;
	left: -30%;
	top: 0;
	z-index: -1;
}

#top #top-dw .dw-section.r_style.on:after{
	clip-path: polygon(45% 0, 100% 0, 100% 100%, 55% 100%);
}



/* top-service */
#top #top-service h2{
	width: 96%;
	margin: 0 auto;
	background-image: url("../images/midashi_service.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	font-size: clamp(36px, 6.0vw, 60px);
	font-weight: bold;
	letter-spacing: 5px;
	color: #b68d67;
	text-align: center;
	height:auto; 
	padding-top: 10.5%;
	padding-bottom: 10.5%;
	/*padding-top: clamp(40px, 14.0vw, 140px);
	padding-bottom: clamp(40px, 14.0vw, 140px);*/
}


#top #top-service .service-section{
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	justify-content: space-around;
	flex-wrap: wrap;
	width: 100%;
	box-sizing: border-box;
}


#top #top-service .service-section .service-info{
	padding: 3%;
}

#top #top-service .service-section.r_style .service-info{
	background-color: var(--service-primary-color);
	aspect-ratio: 1;
}

#top #top-service .service-section.l_style .service-info{
	background-color: var(--service-secondary-color);
	aspect-ratio: 1;
}

#top #top-service .service-section .service-info h3{
	font-size: clamp(21px, 4.0vw, 40px);
	font-weight: bold;
	letter-spacing: 5px;
	margin: 0 0 6% 0;
}
#top #top-service .service-section .service-info p{
	font-size: clamp(12px, 1.6vw, 16px);
	line-height: 180%;
	font-weight: bold;
}

#top #top-service .service-section .service-info ul{
	margin-top: clamp(15px, 2.0vw, 20px);
}

#top #top-service .service-section .service-info li{
	font-size: clamp(10px, 1.4vw, 14px);
	line-height: 200%;
}
#top #top-service .service-section .service-info li:before{
	content: "◇";
	
}


#top #top-service .service-section.r_style .service-info h3:first-letter{
	color: var(--service-primary-color-dark);
}

#top #top-service .service-section.l_style .service-info h3:first-letter{
	color: var(--service-secondary-color-dark);
}

#top #top-service .service-section.r_style .service-info:before{
	content: "";
	display: block;
	width: 30%;
	margin: 0 0 6% 0;
	border: 4px solid var(--service-primary-color-dark);
	box-sizing: border-box;
}

#top #top-service .service-section.l_style .service-info:before{
	content: "";
	display: block;
	width: 30%;
	margin: 0 0 6% 0;
	border: 4px solid var(--service-secondary-color-dark);
	box-sizing: border-box;
}

#top #top-service .service-section.l_style .service-info h3:first-letter{
	color: var(--service-secondary-color-dark);
}

#top #top-service .service-section .service-info{
	width: 50%;
	height:auto;
	display:flex;
	flex-direction:column;
	box-sizing: border-box;
}

#top #top-service .service-section .service-image{
	width: 50%;
	height:auto;
	display:flex;
	flex-direction:column;
	box-sizing: border-box;
}

#top #top-service .service-section .service-image img{
	width: 100%;
	height:auto;
	object-fit: cover;
}


/* top-access */
#wrapper section#top-access {
    padding: 0 0 0;
}

#top #top-access h2{
	width: 96%;
	margin: 0 auto;
	background-image: url("../images/midashi_access.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	font-size: clamp(40px, 6.0vw, 60px);
	font-weight: bold;
	letter-spacing: 5px;
	color: #b68d67;
	text-align: center;
	height:auto; 
	padding-top: 10.5%;
	padding-bottom: 10.5%;
	/*padding-top: clamp(40px, 14.0vw, 140px);
	padding-bottom: clamp(40px, 14.0vw, 140px);*/
}

#top #top-access h3{
    color: var(--text-color-01);
	font-size: clamp(16px, 2.1vw, 21px);
	line-height: 180%;
	font-weight: bold;
	letter-spacing: 5px;
	text-align: center;
	margin: 50px auto 0 auto;
}

#top #top-access p.address{
	font-size: clamp(14px, 1.6vw, 16px);
	line-height: 180%;
	font-weight: bold;
	text-align: center;
	margin: 0 auto 50px auto;
}


#top #top-access .access-contact{
	background-color: var(--background-color-a);
	text-align: center;
	padding: 30px 0;
	box-sizing: border-box;
}

#top #top-access .access-contact p.tel{
    color: var(--text-color-01);
	font-size: clamp(16px, 2.4vw, 24px);
	font-weight: bold;
	margin: 10px auto;
}

#top #top-access .access-contact p.tel:before{
	content: "";
	position: relative;
	top: 5px;
	width: 29px;
	height: 29px;
	display: inline-block;
	margin: 0 15px 0 0;
	background: url("../images/icon_tel.png") no-repeat center;
}

#top #top-access .access-contact .btn_contact{
	width: 90%;
	margin: 30px auto 0 auto;
}

#top #top-access .access-contact .btn_contact a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 400px;
    padding: 15px 25px;
    color: var(--text-color-01);
    transition: 0.3s ease-in-out;
	letter-spacing: 2px;
	font-size: clamp(14px, 1.8vw, 18px);
	font-weight: bold;
	border: 1px solid var(--text-color-01);
}

#top #top-access .access-contact .btn_contact a:after {
	content: "";
	position: absolute;
	top: 50%;
	bottom: 0;
	right: 2rem;
	font-size: 90%;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: right 0.3s;
	width: 6px;
	height: 6px;
	border-top: solid 2px currentColor;
	border-right: solid 2px currentColor;
	transform: translateY(-50%) rotate(45deg);
}
#top #top-access .access-contact .btn_contact a:hover {
	color: var(--background-color-a);
	background-color: var(--text-color-01);
	opacity: 1;
}
#top #top-access .access-contact .btn_contact a:hover:after {
	right: 1.4rem;
}



#access-map {
	position: relative;
	padding-bottom: 46.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}
#access-map iframe,
#access-map object,
#access-map embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}



/* 第二階層 */
.contents{
	overflow: hidden;
}
.slidein{
	/* 装飾に関わるスタイルは省略 */
	transition: 1s cubic-bezier(0.75, 0, 0.25, 1);
	opacity: 0;
}
.slidein_deray{
	/* 装飾に関わるスタイルは省略 */
	transition: 1s cubic-bezier(0.75, 0, 0.25, 1);
	transition-delay: 0.2s;
	opacity: 0;
}
.slide_left{
	transform: translateX(calc(-50vw - 50%));
}
.slide_right{
	transform: translateX(calc(50vw + 50%));
}
.show{
	transform: translateX(0);
	opacity: 1;
}

/* contents */
#cnts .wrapper section{
	padding: 0 0 50px 0;
}

#cnts .wrapper section.contents{
	width: 96%;
	max-width: 1200px;
	margin: 0 auto;
	border-top: 1px solid #b68d67;
}

#cnts .wrapper h2{
	width: 100%;
	margin: 0 auto;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	font-size: clamp(36px, 6.0vw, 60px);
	font-weight: bold;
	letter-spacing: 5px;
	color: #b68d67;
	text-align: center;
	height:auto; 
	padding-top: 10.5%;
	padding-bottom: 10.5%;
	padding-left: 2%;
	padding-right: 2%;
	background-color: #FFFFFF;
	box-sizing: border-box;
}

#cnts .wrapper section .txt p{
	margin: 0 0 20px 0;
}

#cnts section.contents h3{
	font-family: "Bebas Neue", serif;
	color: #FFFFFF;
	background-color: var(--text-color-01);
	font-size: clamp(32px, 4.0vw, 40px);
	line-height: 180%;
	text-align: left;
	margin: 30px auto;
	padding: 0 3%;
	max-width: 1200px;
	width: 100%;
	box-sizing: border-box;
/*
	border-radius: 10px;
*/
	vertical-align: middle;
	text-transform: uppercase;
	letter-spacing: 0.2rem;
}

#cnts section.contents#philosophy h3{
	width: 96%;
}

#cnts section.contents h3 span{
	font-family: 'Kosugi', 'メイリオ', Meiryo, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
	font-size: clamp(14px, 1.6vw, 16px);
	margin: 0 0 0 20px;
	vertical-align: middle;
}

.katagaki{
	width: auto;
	font-family: "Parisienne", serif;
	font-weight: 400;
	font-style: normal;
	font-size: 5.00rem;
	transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    -webkit-transform: rotate(-10deg);
	color: #b68d67;
}


/* company */
#cnts .wrapper#company h2{
	background-image: url("../images/company/title.png");
	background-size: 96%;
}

#cnts #company .contents#greeting .greeting-info{
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	justify-content: space-around;
	flex-wrap: wrap;
	width: 90%;
	margin: 0 auto;
}

#cnts #company .contents#greeting .ceo-info{
	flex-basis: 30%;
}

#cnts #company .contents#greeting h4.katagaki{
	padding: 10px 0 0 0;
    border: none;
    margin: 0 0 0 0;
    display: block;
    position: absolute;
	text-transform: capitalize;
}

#cnts #company .contents#greeting .txt{
    flex-basis: 70%;
	width: 90%;
	margin: 0 auto;
	padding: 60px 2.5% 0 2.5%;
	box-sizing: border-box;
}

#cnts #company .contents#greeting .txt h5.name{
    font-size: clamp(21px, 2.8vw, 28px);
	font-weight: bold;
	text-align: left;
	margin: 0 0 20px 0;
	line-height: 150%;
}

#cnts #company .contents#greeting .txt h5.name span{
	font-size: clamp(14px, 1.6vw, 16px);
	padding: 0 0 0 0;
	display: block;
}

#cnts #company .contents#greeting p{
	text-align: left;
	font-size: clamp(14px, 1.6vw, 16px);
}

p .marker{
	font-size: clamp(17px, 2.1vw, 21px);
	padding: 0 0;
	display: inline;
	background: linear-gradient(transparent 60%, #F6CDCD 0%);
	background-repeat: no-repeat;
	background-size: 0% 100%;
	transition:background-size 1.5s;
}

p .marker.on{
	background-size: 100% 100%;
}

#cnts #company .contents#greeting p.right{
	text-align: right;
}

#cnts #company #greeting figure.photo{
	width: 100%;
	max-width: 250px;
	margin: 30px auto;
}

#cnts #company #greeting figure.photo img{
	width: 100%;
	margin: 0 auto;
}

#cnts .wrapper section.contents#philosophy {
    width: 100%;
    max-width: inherit !important;
    margin: 0 auto;
	border-top: none;
}

#cnts .wrapper section.contents#philosophy:before {
	content: "";
	width: 96%;
	max-width: 1200px;
    margin: 0 auto;
	border-top: 1px solid #b68d67;
	display: block;
}

#cnts #company .contents#philosophy h4{
	font-size: 36px;
	margin: 40px auto 0 auto;
	text-align: center;
	letter-spacing: 20px;
	writing-mode: vertical-rl;
	font-family: "Zen Old Mincho", serif;
}

#cnts #company .contents#philosophy li{
	font-size: clamp(16px, 1.8vw, 18px);
	margin: 5% 0 5% 0;
	position: relative;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	justify-content: space-around;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	min-height: clamp(200px, 50vw, 338px);
	line-height: 200%;
}

#cnts #company .contents#philosophy li p{
	font-size: clamp(23px, 3.6vw, 36px);
	background-color: rgba(162,164,242,0.70);
	width: 80%;
	padding: 3% 2%;
	box-sizing: border-box;
	text-shadow: 0px 0px 5px rgba(255, 255, 255, 1);
	margin: 0 auto 0 0;
	font-family: "Zen Old Mincho", serif;
	font-weight: bold;
}


#cnts #company .contents#philosophy li figure:before{
    width: auto;
    font-family: "Parisienne", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 3rem;
    transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    -webkit-transform: rotate(-10deg);
    color: #a2a4f2;
	display: block;	
	text-transform: capitalize;
	position: absolute;
	bottom: 1rem;
	right: 1rem;
}

#cnts #company .contents#philosophy li:nth-child(1) figure:before{
	content: "passion";
}

#cnts #company .contents#philosophy li:nth-child(2) figure:before{
	content: "integrity";
	right: 4rem;
	text-shadow: 0px 0px 5px rgba(255, 255, 255, 1);
}

#cnts #company .contents#philosophy li:nth-child(3) figure:before{
	content: "service";
	text-shadow: 0px 0px 5px rgba(255, 255, 255, 1);
}

#cnts #company .contents#philosophy li figure{
	position: absolute;
	top: 0;
	z-index: -1;
	height: auto;
	width: 100%;
	max-width: 600px;
}

#cnts #company .contents#philosophy li:nth-child(odd)  p{
	margin: 0 0 0 auto;
}


#cnts #company .contents#philosophy li:nth-child(odd) figure{
	left: -50px;
}

#cnts #company .contents#philosophy li:nth-child(even) figure{
	right: -50px;
}

#cnts #company .contents#philosophy li figure img{
	width: 100%;
	border-radius:20px;
	box-sizing: border-box;
	border: 5px solid #a2a4f2;
}

#cnts #company .contents {
	margin: 0 auto;
	text-align: center;
}

#cnts #company .contents ul{
	margin: 0 auto 20px auto;
	display: inline-block;
}
#cnts #company .contents#philosophy ul{
	width: 100%;
}


#cnts #company .contents ul li{
	text-align: left;
}

#cnts #company .contents#licensed-person ul li:before,
#cnts #company .contents#client ul li:before{
	content: "・";
}

#cnts .contents table{
	text-align: left;
	width: 96%;
	max-width: 1000px;
	margin: 0 auto 0 auto;
	border: 1px solid #cccccc;
}

#cnts .contents table tr td{
	padding: clamp(20px, 2.5vw, 25px) clamp(10px, 1.5vw, 15px);
	box-sizing: border-box;
	border-top: 1px solid #cccccc;
}

#cnts .contents table tr td span{
	display: inline-block;
}

#cnts .contents table tr td:first-child{
	width: 36%;
	text-align: center;
	font-weight: bold;
	border-right: 1px solid #cccccc;
	background-color: var(--background-color-a);
}


#cnts .contents table td ul{
	margin: 0 auto 0 auto!important;
}

#cnts s.contents table ul li:before{
	content: "・";
}


#cnts #company .bg-palla{
	height: clamp(150px, 50vw, 300px);
	margin: 0 0 30px 0;
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
}

#cnts #company .bg-palla .bg-photo {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
	z-index: -1;
}

#cnts #company .bg-palla .bg-photo::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-image: url(../images/company/bg.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}



/* recruit */
#cnts .wrapper#recruit h2{
	background-image: url("../images/recruit/title.png");
}

#cnts .wrapper#recruit h3{
	width: 96%;
}

#cnts .wrapper #recruit-info .txt{
	text-align: center;
	width: 80%;
	max-width: 1000px;
	min-height: 300px;
	margin: 0 auto;
	padding: 70px 0;
}

#cnts .wrapper #recruit-info .txt p{
	text-align: center;
	text-shadow: 0px 0px 15px #ffffff;
	font-size: clamp(12px, 1.6vw, 16px);
	line-height: 260%;
}

#cnts .wrapper #recruit-info .txt p .marker{
	font-size: clamp(16px, 2.4vw, 24px);
}

#cnts .wrapper #recruit-info .txt p strong{
	font-size: clamp(14px, 2.1vw, 21px);
	font-weight: bold;
}

#cnts .wrapper section.contents#recruit-info {
    width: 100%;
    max-width: inherit !important;
    margin: 0 auto;
	border-top: none;
	position: relative;
}
#cnts .wrapper section.contents#recruit-info:before {
	content: "";
	width: 96%;
	max-width: 1200px;
    margin: 0 auto;
	border-top: 1px solid #b68d67;
	display: block;
}

#cnts .wrapper section.contents#recruit-info div.photo{
}

#cnts .wrapper section.contents#recruit-info div.photo figure{
	position: absolute;
	width: 100%;
	z-index: -1;
}

#cnts .wrapper section.contents#recruit-info div.photo figure.photo_l{
	width: 100%;
	max-width: 300px;
	top: 350px;
	left: -100px;
}

#cnts .wrapper section.contents#recruit-info div.photo figure.photo_r{
	width: 100%;
	max-width: 250px;
	top: 150px;
	right: -50px;
	margin: 0 0 0 auto;
	text-align: right;
}

#cnts .wrapper section.contents#recruit-info div.photo figure img{
	width: 100%;
	border-radius: 15px;
}

#cnts .wrapper section.contents#recruit-info div.photo figure.photo_r img{
}

@media only screen and (max-width: 980px) {
#cnts .wrapper section.contents#recruit-info div.photo figure.photo_l{
	top: 300px;
	left: -150px;
}

#cnts .wrapper section.contents#recruit-info div.photo figure.photo_r{
	top: 150px;
	right: -100px;
}
	
}

/* ↓↓↓ wordpress ↓↓↓ */

.entry-title, .archive-title {
	color: #b68d67;
	font-size: clamp(21px, 2.8vw, 28px);
    margin: 12px 0 30px 0;
	box-sizing: border-box;
}

#cnts .date-tags{
	text-align: left;
}

#cnts .entry-content {
    margin-top: 3em;
    margin-bottom: 3em;
}

div.under-entry-content{
	padding: 0 0 0 0;
    border-top: 1px solid #b68d67;
	box-sizing: border-box;	
}

div.under-entry-content h2:first-child{
	margin-top: 0;
}

div.under-entry-content h2{
	font-weight: bold;
	text-align: center;
	color: var(--text-color-01);
	font-size: clamp(21px, 2.4vw, 24px);
	padding: 22px 0 0 0;
}

.widget h2 {
	font-size: clamp(16px, 1.8vw, 18px);
	font-weight: bold;
}

.widget ul li {
	font-size: clamp(14px, 1.6vw, 16px);
	border-bottom: 1px solid #e0dcd8;
}
.sidebar h2, .sidebar h3 {
	background-color: var(--background-color-a);
}


@media screen and (max-width: 480px) {
    .entry-title, .article h2 {
        padding: 0 0;
    }
}

/* news */
#cnts h2.news-title{
	width: 100%;
	margin: 0 auto;
	background-size: 96%;
	background-repeat: no-repeat;
	background-position: center;
	font-size: clamp(36px, 6.0vw, 60px);
	font-weight: bold;
	letter-spacing: 5px;
	color: #b68d67;
	text-align: center;
	height:auto; 
	padding-top: 10.5%;
	padding-bottom: 10.5%;
	padding-left: 2%;
	padding-right: 2%;
	background-image: url("../images/news/title.png");
	background-color: #FFFFFF;
	box-sizing: border-box;
}

#cnts.page-template-default h2.news-title{
	display: none;
}

.home.blog #content-in,
.archive #content-in,
.post-template-default #content-in{
	width: 96%;
    max-width: 1200px;
	margin: 0 auto;
    padding: 30px 3%;
    border-top: 1px solid #b68d67;
	background-color: #FFFFFF;
	box-sizing: border-box;
}

.home.blog main#main,
.archive main#main,
.post-template-default main#main{
	width: 68%;
	margin-right: 2%;
	padding-bottom: 30px;
}

.home.blog div.sidebar,
.archive div.sidebar,
.post-template-default div.sidebar{
	width: 30%;
}


/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
.home.blog main#main,
.archive main#main,
.post-template-default main#main{
	width: 68%;
	margin-right: 2%;
	padding-bottom: 30px;
}

.home.blog div.sidebar,
.archive div.sidebar,
.post-template-default div.sidebar{
	width: 30%;
}

.content-in {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
	
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
.home.blog main#main,
.archive main#main,
.post-template-default main#main{
	width: 100%;
	margin-right: 0;
	padding-bottom: 30px;
}

.home.blog div.sidebar,
.archive div.sidebar,
.post-template-default div.sidebar{
	width: 100%;
}
}

/* contact */
.page-template-default #post-8 h1.entry-title{
	width: 100%;
	margin: 0 auto;
	background-size: 96%;
	background-repeat: no-repeat;
	background-position: center;
	font-size: clamp(36px, 6.0vw, 60px);
	font-weight: bold;
	letter-spacing: 5px;
	color: #b68d67;
	text-align: center;
	height:auto; 
	padding-top: 10.5%;
	padding-bottom: 10.5%;
	padding-left: 2%;
	padding-right: 2%;
	background-image: url("../images/contact/title.png");
	background-color: #FFFFFF;
	box-sizing: border-box;
}

.page-template-default #post-8 .entry-content{
	width: 96%;
    max-width: 1200px;
	margin: 0 auto;
    padding: 30px 3%;
    border-top: 1px solid #b68d67;
	box-sizing: border-box;
	background-color: #FFFFFF;
}
/* ↑↑↑ wordpress ↑↑↑ */


/* pagetop */
.pagetop{
	width: 100%;
}

.pagetop a{
	width: 100%;
	color: #FFFFFF;
	display: block;
	text-align: center;
	box-sizing: border-box;
	padding: 1% 0;
	background-color: var(--text-color-01);
	font-size: clamp(12px, 1.4vw, 14px);
}
.pagetop a:hover{
	opacity: 1;
	background-color: #8c8ed9;
}

.pagetop a:before{
	content: "▲";
	width: 100%;
	display: block;
	margin: 0 0 0 0;
}

.pagetop a:hover::before{
	animation:ptop 0.5s ease-in-out alternate infinite;
}

@keyframes ptop {
      to {
	transform:translate(0,-5px);
	}

}

/* footer */


footer{
	width: 100%;
	color: #ffffff;
	padding: 30px 0 0 0;
	background-color: #FFFFFF;
}

footer .footer_inner{
	margin: 0 auto;
	text-align: center;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	justify-content: space-around;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	max-width: 1000px;
}

#top footer h1{
	font-size: 0px;
	display: block;
	width: 40%;
	max-width: 269px;
	height: 79px;
	background: url("../images/logo.png") no-repeat center;
	background-size: contain;
	margin: 0 auto 0 auto;
	padding: 0 2%;
	box-sizing: border-box;
}

#cnts footer h1{
	font-size: 0px;
	display: block;
	width: 40%;
	max-width: 269px;
	height: 79px;
	margin: 0 auto 0 auto;
	box-sizing: border-box;
}

footer h1 a{
	font-size: 0px;
	display: block;
	width: 100%;
	max-width: 269px;
	height: 79px;
	background: url("../images/logo.png") no-repeat center;
	background-size: contain;
	margin: 0 auto 0 auto;
	padding: 0 2%;
	box-sizing: border-box;
}


.footer_menu ul{
	width: 96%;
	margin: 5% auto 5% auto;
	padding: 0 0 0 0;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	justify-content: center;
	flex-wrap: wrap;
	text-align: center;
}


.footer_menu li{
	width: auto;
	text-align: center;
	text-transform: uppercase;
	font-weight: bold;
	margin: 0 1%;
	padding: 0 clamp(5px, 2vw, 20px);
}

.footer_menu li a{
	position: relative;
	width: 100%;
	display: block;
	padding: 5px 0;
	font-size: clamp(12px, 1.4vw, 14px);
}

.footer_menu li a:hover{
	opacity: 1;
	color: #b68d67;
}


footer #footer_address{
	width: 50%;
	color: var(--text-color);
	text-align: left;
}

footer #footer_address p{
	font-size: clamp(12px, 1.6vw, 16px);
	margin: 10px 0 10px 0;
}

footer #footer_tel-fax ul{
	margin: 0;
	padding: 0;
}
footer #footer_tel-fax li{
	display: block;
	margin: 0 5px;
	font-size: clamp(12px, 1.6vw, 16px);
}

.tel-fax a,
footer #footer_tel-fax a{
	pointer-events: none;
	text-decoration: none;
}


footer p#footer_copy{
	font-size: clamp(12px, 1.4vw, 14px);
	color: #ffffff;
	background-color: #000000;
	padding: 10px 0 20px 0;
	text-align: center;
}

footer #footer_info{
}





.both{
	clear: both;
}