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

body {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
	font-size: 14px;
	color: #2a2a2a;
	background-color: #fbfaf6;
	letter-spacing: 0.02em;
	width: 100%;
	overflow-x: hidden;
	line-height: 1.8;
}

body a {
	color: #2a2a2a;
	text-decoration: none;
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}

body a:hover{
	opacity: 0.75;
}

img{
	vertical-align: bottom;
}

ul, li{
	list-style: none;
	margin: 0;
	padding: 0;
}

.no_br{
	display: block;
}

.pc_none{
	display: block;
}

.sp_none{
	display: block;
}

.tb_none{
	display: none;
}

.link_anchor{
	margin-top: -70px;
	padding-top: 70px;
}

.text_center{
	text-align: center;
}

/*==========================================================================
= common
========================================================================== */

.main_container{
	width: 100%;
	max-width: 100%;
	padding: 0 32px;
	margin: 0 auto;
	box-sizing: border-box;
}

.sec_title_en{
	font-family: "Cormorant Garamond", serif;
	font-weight: 400;
	font-size: 13px;
	letter-spacing: 0.25em;
}

.sec_title_jp{
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
	font-size: 14px;
	color: #2a2a2a;
	margin-top: 7px;
	letter-spacing: 0.1em;
}

/*==========================================================================
= header
========================================================================== */

header{
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 999;
}

.header_container{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 22px 32px;
}

.header_logo{
	width: 95px;
	line-height: 0;
}

.header_logo a{
	display: block;
}

.header_logo img{
	width: 100%;
	height: auto;
}

.header_logo img.header_logo_dark{
	display: block;
}

.header_logo img.header_logo_light{
	display: none;
}

.header_nav{
	display: none;
}

/*==========================================================================
= hamburger menu
========================================================================== */

.menu-btn{
	position: fixed;
	top: 16px;
	right: 20px;
	width: 50px;
	height: 50px;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(42,42,42,0.85);
	cursor: pointer;
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}

.menu-btn span{
	display: block;
	font-family: "Cormorant Garamond", serif;
	font-size: 24px;
	line-height: 1;
	color: #fff;
}

.menu-btn span::before{
	content: attr(data-txt-menu);
}

body.open .menu-btn{
	background-color: transparent;
}

body.open .menu-btn span::before{
	content: attr(data-txt-close);
}

.menu{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #2a2a2a;
	z-index: 9998;
	opacity: 0;
	visibility: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	-webkit-transition: all 0.4s ease 0s;
	transition: all 0.4s ease 0s;
}

body.open .menu{
	opacity: 1;
	visibility: visible;
}

.hum_container{
	padding: 100px 60px 70px;
	box-sizing: border-box;
	max-width: 600px;
	margin: 0 auto;
}

.hum_logo{
	width: 110px;
	margin-bottom: 46px;
}

.hum_logo img{
	width: 100%;
	height: auto;
}

.hum_list{
	margin-bottom: 46px;
}

.hum_item{
	border-bottom: 1px solid rgba(255,255,255,0.16);
}

.hum_item a{
	display: block;
	padding: 18px 2px;
	color: #fff;
}

.hum_en{
	display: block;
	font-family: "Cormorant Garamond", serif;
	font-weight: 500;
	font-size: 19px;
	letter-spacing: 0.22em;
	color: #fff;
	line-height: 1.4;
}

.hum_jp{
	display: block;
	font-family: "Noto Serif JP", serif;
	font-weight: 300;
	font-size: 12px;
	letter-spacing: 0.1em;
	color: rgba(255,255,255,0.6);
	margin-top: 4px;
	line-height: 1.4;
}

.hum_info{
	color: rgba(255,255,255,0.7);
}

.hum_add{
	font-family: "Noto Serif JP", serif;
	font-size: 12px;
	line-height: 1.9;
	letter-spacing: 0.05em;
}

.hum_tel{
	margin-top: 16px;
}

.hum_tel a{
	font-family: "Cormorant Garamond", serif;
	font-size: 22px;
	letter-spacing: 0.08em;
	color: #C9A961;
}

.wrapper{
	display: none;
}

/*==========================================================================
= top01 first view
========================================================================== */

.top01{
	position: relative;
}

.first_view{
	position: relative;
	width: 100%;
	height: 100vh;
	min-height: 640px;
	overflow: hidden;
}

.first_view_bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.first_view_bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.first_view_leaf{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	z-index: 5;
	pointer-events: none;
}

.first_view_inner{
	position: absolute;
	top: 50%;
	left: 6%;
	right: 6%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	z-index: 10;
	color: #2a2a2a;
}

.first_view_catch_jp{
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
	font-size: 42px;
	line-height: 1.55;
	letter-spacing: 0.08em;
	margin-bottom: 24px;
}

.first_view_catch_en{
	font-family: "Cormorant Garamond", serif;
	font-weight: 400;
	font-size: 20px;
	letter-spacing: 0.15em;
	margin-bottom: 22px;
}

.first_view_text{
	font-family: "Noto Serif JP", serif;
	font-weight: 300;
	font-size: 13px;
	line-height: 2;
	letter-spacing: 0.08em;
}

.first_view_scroll{
	position: absolute;
	left: 6%;
	bottom: 40px;
	z-index: 10;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	color: #2a2a2a;
}

.first_view_scroll_text{
	font-family: "Cormorant Garamond", serif;
	font-size: 11px;
	letter-spacing: 0.3em;
}

.first_view_scroll_line{
	display: block;
	width: 1px;
	height: 60px;
	background-color: #2a2a2a;
}

/*==========================================================================
= top02 welfare network
========================================================================== */

.top02{
	padding: 70px 0 90px;
	background-color: #fbfaf6;
}

.top02_head{
	margin-bottom: 36px;
}

.top02_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.top02_card{
	display: block;
	color: #2a2a2a;
}

.top02_card_img{
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

.top02_card_img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.top02_card_body{
	background-color: #f3eee5;
	padding: 16px 14px 18px;
	min-height: 120px;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}

.top02_card_subtitle{
	font-family: "Cormorant Garamond", serif;
	font-size: 10px;
	letter-spacing: 0.15em;
	color: #6e6a62;
	margin-bottom: 3px;
}

.top02_card_title{
	font-family: "Cormorant Garamond", serif;
	font-weight: 500;
	font-size: 20px;
	line-height: 1.3;
	letter-spacing: 0.05em;
	margin-bottom: auto;
	padding-bottom: 11px;
	border-bottom: 1px solid #d9d2c4;
}

.top02_card_foot{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	padding-top: 9px;
}

.top02_card_addr{
	font-size: 10px;
	line-height: 1.5;
	color: #6e6a62;
}

.top02_card_arrow{
	font-size: 13px;
	color: #2a2a2a;
}

/*==========================================================================
= top03 vision
========================================================================== */

.top03{
	position: relative;
	width: 100%;
	height: 85vh;
	min-height: 560px;
	overflow: hidden;
}

.top03_bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.top03_bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.top03_inner{
	position: absolute;
	top: 12%;
	left: 6%;
	right: 6%;
	z-index: 10;
	max-width: 460px;
}

.top03_title{
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 26px;
	letter-spacing: 0.08em;
	margin-top: 18px;
	margin-bottom: 24px;
	color: #2a2a2a;
}

.top03_text{
	font-family: "Noto Serif JP", serif;
	font-weight: 300;
	font-size: 13px;
	line-height: 2.2;
	color: #2a2a2a;
	letter-spacing: 0.04em;
}

/*==========================================================================
= top04 business
========================================================================== */

.top04{
	padding: 80px 0 90px;
	background-color: #fbfaf6;
}

.top04_head{
	margin-bottom: 32px;
}

.top04_list{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}

.top04_card{
	position: relative;
	overflow: hidden;
	aspect-ratio: auto;
	min-height: 460px;
	color: #fff;
}

.top04_card_img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.top04_card_img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.top04_card_img::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.28);
}

.top04_card_letter{
	position: relative;
	padding: 0 24px;
	font-family: "Cormorant Garamond", serif;
	font-weight: 400;
	font-size: 140px;
	line-height: 1.1;
	color: #fff;
	z-index: 5;
	letter-spacing: 0;
}

.top04_card_body{
	position: relative;
	width: 100%;
	padding: 0 24px 30px;
	box-sizing: border-box;
	z-index: 10;
	color: #fff;
}

.top04_card_title{
	font-family: "Cormorant Garamond", serif;
	font-weight: 500;
	font-size: 20px;
	letter-spacing: 0.2em;
	margin-bottom: 9px;
}

.top04_card_text{
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
	font-size: 13px;
	line-height: 1.7;
	letter-spacing: 0.06em;
	margin-bottom: 15px;
}

.top04_card_list{
	border-top: 1px solid rgba(255,255,255,0.5);
	padding-top: 13px;
}

.top04_card_list li a {
	color: #fff;
}

.top04_card_list li{
	font-size: 12px;
	line-height: 1.9;
	letter-spacing: 0.05em;
	position: relative;
	padding-left: 12px;
}

.top04_card_list li::before{
	content: "・";
	position: absolute;
	left: 0;
	top: 0;
}

/*==========================================================================
= top05 raru philosophy
========================================================================== */

.top05{
	position: relative;
	width: 100%;
	height: 75vh;
	min-height: 480px;
	overflow: hidden;
}

.top05_bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.top05_bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.top05_inner{
	position: absolute;
	top: 50%;
	left: 6%;
	right: 6%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	z-index: 10;
	color: #fff;
	max-width: 600px;
}

.top05_subtitle{
	font-family: "Cormorant Garamond", serif;
	font-size: 12px;
	letter-spacing: 0.25em;
	margin-bottom: 18px;
	color: #fff;
}

.top05_title{
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
	font-size: 29px;
	letter-spacing: 0.1em;
	line-height: 1.5;
	margin-bottom: 24px;
	color: #fff;
}

.top05_text{
	font-family: "Noto Serif JP", serif;
	font-weight: 300;
	font-size: 13px;
	line-height: 2.2;
	letter-spacing: 0.04em;
	color: #fff;
}

/*==========================================================================
= top06 about + company
========================================================================== */

.top06{
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	background-color: #fbfaf6;
}

.top06_left,
.top06_right{
	position: relative;
	min-height: 400px;
	overflow: hidden;
}

.top06_left_bg,
.top06_right_bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.top06_left_bg img,
.top06_right_bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.top06_left_inner{
	position: relative;
	z-index: 10;
	padding: 60px 7%;
	color: #fff;
}

.top06_left_title{
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 22px;
	line-height: 1.7;
	letter-spacing: 0.08em;
	margin-top: 18px;
	margin-bottom: 22px;
}

.top06_left_text{
	font-family: "Noto Serif JP", serif;
	font-weight: 300;
	font-size: 12px;
	line-height: 2.1;
	letter-spacing: 0.04em;
}

.top06_right_inner{
	position: relative;
	z-index: 10;
	padding: 60px 8%;
}

.top06_right_list{
	margin-top: 22px;
}

.top06_right_list li{
	border-bottom: 1px solid #cfc8b9;
}

.top06_right_list li a{
	display: block;
	padding: 14px 4px;
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
	font-size: 13px;
	letter-spacing: 0.12em;
	color: #2a2a2a;
}

/*==========================================================================
= top07 contact
========================================================================== */

.top07{
	display: grid;
	grid-template-columns: 1fr 1fr;
	width: 100%;
	min-height: 440px;
}

.top07_left{
	position: relative;
	overflow: hidden;
	min-height: 440px;
}

.top07_left_bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.top07_left_bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.top07_left_inner{
	position: relative;
	z-index: 10;
	height: 100%;
	display: flex;
	align-items: center;
	padding: 50px 7%;
	box-sizing: border-box;
	color: #fff;
}

.top07_catch_text{
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
	font-size: 22px;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.top07_right{
	background-color: #2a2a2a;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 440px;
}

.top07_contact_box{
	width: 100%;
	max-width: 100%;
	color: #fff;
	padding: 50px 9%;
	box-sizing: border-box;
}

.top07_contact_label{
	font-family: "Cormorant Garamond", serif;
	font-size: 13px;
	letter-spacing: 0.25em;
	margin-bottom: 18px;
}

.top07_contact_text{
	font-family: "Noto Serif JP", serif;
	font-weight: 300;
	font-size: 12px;
	letter-spacing: 0.08em;
	margin-bottom: 26px;
}

.top07_contact_btn{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 100%;
	border: 1px solid #fff;
	padding: 15px 20px;
	color: #fff;
	font-family: "Cormorant Garamond", serif;
	font-size: 13px;
	letter-spacing: 0.15em;
	margin-bottom: 22px;
	box-sizing: border-box;
}

.top07_contact_btn_arrow{
	font-size: 15px;
}

.top07_contact_sns{
	display: flex;
	gap: 14px;
}

.top07_sns_icon{
	display: block;
	width: 25px;
}

/*==========================================================================
= footer
========================================================================== */

footer{
	background-color: #2a2a2a;
	color: #fff;
	padding: 0;
}

.copy{
	text-align: center;
	font-family: "Cormorant Garamond", serif;
	font-size: 11px;
	letter-spacing: 0.2em;
	padding: 18px 0;
	background-color: #2a2a2a;
	color: #fff;
}

/*==========================================================================
= header modifier for dark hero (sub pages)
========================================================================== */

.header_light .header_logo img.header_logo_dark{
	display: none;
}

.header_light .header_logo img.header_logo_light{
	display: block;
}

/*==========================================================================
= company page
========================================================================== */

.company_bg{
	background-image: linear-gradient(180deg, #00355d, #4384ac);
	color: #fff;
}

.company_page{
	background-color: #F5F1E9;
	color: #2C2723;
}

.company_page a{
	color: #2C2723;
}

.company_page .main_container{
	max-width: 100%;
	padding: 0 32px;
	margin: 0 auto;
	box-sizing: border-box;
}

.com_label{
	font-family: "Cormorant Garamond", serif;
	font-weight: 400;
	font-size: 18px;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	margin-bottom: 11px;
	color: #C9A961;
}

.com_label_light{
	color: rgba(237,231,221,0.55);
}

/*----------------------------------
= com_top
----------------------------------*/

.com_top{
	position: relative;
	width: 100%;
	height: 82vh;
	min-height: 560px;
	overflow: hidden;
	background-image: url("../images/company/comhero.jpg");
	background-size: cover;
	background-position: center;
}

.com_top .main_container{
	position: relative;
}

.com_top_inner{
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	z-index: 3;
	pointer-events: none;
}

.com_top_word{
	font-family: "Cormorant Garamond", serif;
	font-weight: 500;
	font-size: 48px;
	line-height: 1.35;
	color: #fff;
	letter-spacing: 0.02em;
}

.com_top_sub{
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 18px;
	letter-spacing: 0.25em;
	margin-top: 13px;
	color: #C9A961;
}

.com_top_text{
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 15px;
	line-height: 2;
	letter-spacing: 0.18em;
	margin-top: 13px;
	color: #fff;
}

/*----------------------------------
= com_hero
----------------------------------*/

.com_hero{
	position: relative;
	width: 100%;
	height: 48vh;
	min-height: 380px;
	overflow: hidden;
	background-image: url("../images/company/comhero.jpg");
	background-size: cover;
	background-position: center;
}

.com_hero_bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.com_hero_bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.com_hero_scrim{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	background: linear-gradient(180deg, rgba(24,22,20,.5), rgba(24,22,20,.05) 34%, rgba(24,22,20,.72));
	pointer-events: none;
}

.com_hero_inner{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	z-index: 3;
	pointer-events: none;
	text-align: center;
	width: 100%;
}

.com_hero_inner2{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 16px;
	z-index: 3;
	pointer-events: none;
}

.com_hero_word{
	font-family: "Cormorant Garamond", serif;
	font-weight: 500;
	font-size: 68px;
	line-height: 0.92;
	color: #fff;
	letter-spacing: 0.02em;
}

.com_hero_word2{
	font-family: "Cormorant Garamond", serif;
	font-weight: 500;
	font-size: 64px;
	line-height: 1.4;
	color: #fff;
	letter-spacing: 0.02em;
}

.com_hero_sub{
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 20px;
	letter-spacing: 0.3em;
	color: rgba(255,255,255,0.92);
	margin-top: 12px;
}

/*----------------------------------
= com_msg (代表メッセージ)
----------------------------------*/

.com_msg{
	position: relative;
	min-height: auto;
	overflow: hidden;
	background-image: url("../images/company/commes.png");
	background-size: cover;
	background-position: center;
	color: #fff;
}

.com_msg_bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.com_msg_bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.com_msg_scrim{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	background: linear-gradient(90deg, rgba(20,18,16,.94) 0%, rgba(20,18,16,.86) 60%, rgba(20,18,16,.4) 100%);
	pointer-events: none;
}

.com_msg .main_container{
	position: relative;
	z-index: 3;
}

.com_msg_inner{
	padding: 70px 0 90px;
}

.com_msg .com_label{
	margin-bottom: 9px;
}

.com_msg_title{
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 20px;
	letter-spacing: 0.05em;
	margin: 0 0 26px;
	color: #fff;
}

.com_msg_body{
	font-family: "Noto Serif JP", serif;
	font-size: 13.5px;
	line-height: 2;
	letter-spacing: 0.03em;
	display: flex;
	flex-direction: column;
	gap: 15px;
	max-width: 100%;
}

.com_msg_body p{
	margin: 0;
}

.com_msg_sign{
	margin-top: 34px;
}

.com_msg_sign_company{
	font-family: "Noto Serif JP", serif;
	font-size: 15px;
	letter-spacing: 0.08em;
	color: #fff;
}

.com_msg_sign_name{
	font-family: "Noto Serif JP", serif;
	font-size: 13.5px;
	letter-spacing: 0.12em;
	margin-top: 6px;
	display: flex;
	align-items: start;
}

.com_msg_sign_name img{
	width: 125px;
	padding-left: 18px;
}

/*----------------------------------
= com_biz (事業内容)
----------------------------------*/

.com_biz{
	background-color: #F5F1E9;
	padding-bottom: 30px;
}

.com_biz_head{
	text-align: center;
	padding-top: 80px;
	padding-bottom: 14px;
}

.com_biz_head .com_label{
	letter-spacing: 0.38em;
	margin-bottom: 11px;
}

.com_biz_title{
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 28px;
	letter-spacing: 0.1em;
	margin: 0;
	color: #2C2723;
}

.com_biz_block{
	position: relative;
	overflow: hidden;
	padding: 42px 0;
}

.com_biz_block:last-child{
	padding-bottom: 72px;
}

.com_biz_letter{
	position: absolute;
	top: -22px;
	font-family: "Cormorant Garamond", serif;
	font-weight: 600;
	font-size: 190px;
	line-height: 1;
	color: #ECE5D8;
	pointer-events: none;
	z-index: 0;
	opacity: 0.7;
}

.com_biz_letter_left{
	left: -8px;
}

.com_biz_letter_right{
	right: -8px;
}

.com_biz_row{
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 0;
}

.com_biz_img{
	height: 300px;
	min-width: 0;
	overflow: hidden;
}

.com_biz_img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.com_biz_text{
	min-width: 0;
}

.com_biz_text_right{
	padding-left: 32px;
}

.com_biz_text_left{
	padding-right: 32px;
}

.com_biz_subtitle{
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 22px;
	letter-spacing: 0.05em;
	margin: 0 0 14px;
	color: #2C2723;
}

.com_biz_lead{
	font-family: "Noto Serif JP", serif;
	font-size: 13px;
	line-height: 2;
	color: rgba(44,39,35,0.68);
	margin: 0 0 16px;
	max-width: 100%;
}

.com_biz_facilities{
	font-family: "Noto Serif JP", serif;
	font-size: 12px;
	letter-spacing: 0.05em;
	color: #6b6155;
	line-height: 2;
}

/*----------------------------------
= com_profile (会社概要テーブル)
----------------------------------*/

.com_profile{
	color: #fff;
}

.com_profile .main_container{
	padding-top: 80px;
	padding-bottom: 80px;
}

.com_profile_title{
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 20px;
	letter-spacing: 0.05em;
	margin: 0 0 34px;
	color: #fff;
}

.com_profile_fl{
	display: block;
	gap: 0;
}

.com_profile_dl{
	margin: 0;
}

.com_profile_row{
	display: grid;
	grid-template-columns: 160px 1fr;
	padding: 18px 2px;
	border-top: 1px solid rgba(237,231,221,0.16);
}

.com_profile_row_last{
	border-bottom: none;
}

.com_profile_dl:last-child .com_profile_row_last{
	border-bottom: 1px solid rgba(237,231,221,0.16);
}

.com_profile_row dt{
	font-family: "Noto Serif JP", serif;
	font-size: 12px;
	letter-spacing: 0.12em;
	font-weight: 400;
	color: rgba(255,255,255,0.7);
}

.com_profile_row dd{
	margin: 0;
	font-family: "Noto Serif JP", serif;
	font-size: 13.5px;
	line-height: 1.9;
}

/*----------------------------------
= com_history (沿革)
----------------------------------*/

.com_history{
	background-image: url("../images/company/bg.jpg");
	background-position: top;
	background-size: cover;
	background-color: #4384ac;
	color: #fff;
}

.com_history .main_container{
	padding-top: 80px;
	padding-bottom: 80px;
}

.com_history_title{
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 20px;
	letter-spacing: 0.05em;
	margin: 0 0 34px;
}

.com_history_list{
	display: flex;
	flex-direction: column;
}

.com_history_row{
	display: grid;
	grid-template-columns: 170px 1fr;
	gap: 20px;
	align-items: baseline;
	padding: 20px 0;
	border-top: 1px solid rgba(237,231,221,0.16);
}

.com_history_row_last{
	border-bottom: 1px solid rgba(237,231,221,0.16);
}

.com_history_year{
	font-family: "Cormorant Garamond", serif;
	font-size: 16px;
	letter-spacing: 0.02em;
}

.com_history_month{
	font-size: 14px;
}

.com_history_text{
	font-family: "Noto Serif JP", serif;
	font-size: 14px;
	line-height: 1.8;
}

/*----------------------------------
= com_access (アクセス)
----------------------------------*/

.com_access{
	position: relative;
}

.com_access_map{
	display: block;
	width: 100%;
	height: 400px;
	border: 0;
}

.com_access_card{
	position: static;
	top: auto;
	right: auto;
	left: auto;
	background-color: #262220;
	color: #EDE7DD;
	padding: 44px 32px 40px;
	max-width: 100%;
	box-sizing: border-box;
	z-index: 5;
}

.com_access_title{
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 23px;
	letter-spacing: 0.05em;
	margin: 0 0 22px;
	color: #fff;
}

.com_access_label{
	font-family: "Cormorant Garamond", serif;
	font-size: 12px;
	letter-spacing: 0.28em;
	color: rgba(237,231,221,0.5);
	margin-bottom: 7px;
}

.com_access_text{
	font-family: "Noto Serif JP", serif;
	font-size: 13.5px;
	line-height: 1.9;
	margin-bottom: 20px;
	color: #EDE7DD;
}

.com_access_tel{
	font-family: "Cormorant Garamond", serif;
	font-size: 20px;
	letter-spacing: 0.08em;
	color: #EDE7DD;
}

/*----------------------------------
= com_footer
----------------------------------*/

.company_page footer{
	background-color: #1e1b19;
	padding: 0;
}

.company_page .copy{
	background-color: #1e1b19;
	font-family: "Cormorant Garamond", serif;
	font-size: 13px;
	letter-spacing: 0.35em;
	color: rgba(237,231,221,0.7);
	padding: 30px 32px;
	text-align: center;
}

/*==========================================================================
= contact page
========================================================================== */

.con_intro{
	background-color: #F5F1E9;
}

.con_intro .main_container{
	padding-top: 80px;
	padding-bottom: 32px;
	text-align: center;
}

.con_intro_title{
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 28px;
	letter-spacing: 0.1em;
	margin: 0 0 24px;
	color: #2C2723;
}

.con_intro_text{
	font-family: "Noto Serif JP", serif;
	font-size: 13.5px;
	line-height: 2.2;
	color: rgba(44,39,35,0.72);
	margin: 0;
}

/*----------------------------------
= con_form
----------------------------------*/

.con_form_sec{
	background-color: #F5F1E9;
}

.con_form_sec .main_container{
	padding-top: 32px;
	padding-bottom: 90px;
}

.con_form{
	max-width: 100%;
	margin: 0 auto;
}

.con_form_row{
	display: grid;
	grid-template-columns: 190px 1fr;
	gap: 24px;
	align-items: flex-start;
	padding: 24px 0;
	border-top: 1px solid rgba(44,39,35,0.16);
}

.con_form_row:last-of-type{
	border-bottom: 1px solid rgba(44,39,35,0.16);
	margin-bottom: 34px;
}

.con_form_label{
	display: flex;
	align-items: center;
	gap: 10px;
	padding-top: 10px;
}

.con_form_labeltext{
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 13.5px;
	letter-spacing: 0.1em;
	color: #2C2723;
}

.con_form_required{
	display: inline-block;
	font-family: "Cormorant Garamond", serif;
	font-size: 10px;
	letter-spacing: 0.15em;
	color: #fff;
	background-color: #A89279;
	padding: 2px 9px;
}

.con_form_field{
	min-width: 0;
}

.con_form_input,
.con_form_textarea{
	width: 100%;
	font-family: "Noto Serif JP", serif;
	font-size: 14px;
	line-height: 1.8;
	color: #2C2723;
	background-color: #fff;
	border: 1px solid rgba(44,39,35,0.16);
	padding: 13px 15px;
	box-sizing: border-box;
	border-radius: 0;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 0.2s ease;
}

.con_form_input:focus,
.con_form_textarea:focus{
	outline: none;
	border-color: #8a6a4a;
}

.con_form_input::placeholder,
.con_form_textarea::placeholder{
	color: rgba(44,39,35,0.35);
}

.con_form_textarea{
	resize: vertical;
	min-height: 180px;
}

.con_form_radio{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: "Noto Serif JP", serif;
	font-size: 13.5px;
	color: #2C2723;
	margin-right: 20px;
	margin-bottom: 8px;
	cursor: pointer;
	padding-top: 8px;
}

.con_form_radio input{
	accent-color: #8a6a4a;
	width: 16px;
	height: 16px;
	cursor: pointer;
	flex-shrink: 0;
}

/*----------------------------------
= privacy / agree / submit
----------------------------------*/

.con_form_policy{
	font-family: "Noto Serif JP", serif;
	font-size: 12.5px;
	line-height: 2;
	color: rgba(44,39,35,0.72);
	text-align: center;
	margin-bottom: 16px;
}

.con_form_policy_link{
	color: #8a6a4a;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.con_form_agree{
	text-align: center;
	margin-bottom: 40px;
}

.con_form_checkbox{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: "Noto Serif JP", serif;
	font-size: 13.5px;
	color: #2C2723;
	cursor: pointer;
	letter-spacing: 0.05em;
}

.con_form_checkbox input{
	accent-color: #8a6a4a;
	width: 18px;
	height: 18px;
	cursor: pointer;
	flex-shrink: 0;
}

.con_form_submit_wrap{
	text-align: center;
}

.con_form_submit{
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	width: 100%;
	max-width: 340px;
	padding: 19px 28px;
	background-color: #262220;
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 14.5px;
	letter-spacing: 0.2em;
	border: 1px solid #262220;
	cursor: pointer;
	transition: all 0.3s ease;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
}

.con_form_submit:hover{
	background-color: #1e1b19;
	opacity: 1;
}

.con_form_submit_arrow{
	font-family: "Cormorant Garamond", serif;
	font-size: 17px;
}

.privacy-policy-container h3 {
	margin-top: 30px;
	margin-bottom: 15px;
}