@charset "UTF-8";
/* CSS Document */

/*************************************************************************************************************************
* reset
*************************************************************************************************************************/
html{ height: 100%; font-weight: 400; font-size: 62.5%; color: #000;}
body{ height: 100%; margin: 0; padding: 0; font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif; text-align: justify; text-justify: inter-ideograph; -webkit-text-size-adjust: 100%;  -webkit-font-feature-settings: "palt"; font-feature-settings: "palt";}
img{ width: 100%; max-width: 100%; height: auto; border: 0; vertical-align: bottom;}
svg{ vertical-align: bottom;}
a{ color: inherit; outline: none; text-decoration: none; }
h1, h2, h3, h4, h5, h6{ margin: 0; padding: 0; font-size: inherit; }
p{ margin: 0; padding: 0;}
ul, ol, dl, dt, dd{ margin: 0; padding: 0;}
li{ margin: 0; padding: 0; list-style: none;}
form{ margin: 0; padding: 0;}
input, textarea, select, button{ font-family: inherit; appearance: none; outline: none; box-sizing: border-box; border: none; }
/*input, textarea, select { font-size:inherit; font-weight:inherit; display: inline-block !important; }*/

button{ font-size: inherit; cursor: pointer;}
table{ border: 0; border-collapse: collapse; border-spacing: 0;}
figure{ margin: 0; padding: 0;}
header, nav, main, article, aside, section, footer{ display: block;}
*{ box-sizing: border-box;}



/*************************************************************************************************************************
* common
*************************************************************************************************************************/
body {
	background: url(/common/img/bg_body.jpg) repeat 50% 50%/500px auto;
	font-size: 1.3rem;
	color: #5d4d41;
}
body._active {
	overflow-y: hidden;
}
@media print, screen and (min-width:681px){
 body{ min-width: 1400px;}
}

.tmc {
	font-family: ten-mincho-text, serif;
	font-weight: 400;
}


@media print, screen and (min-width: 1200px) {
	
	
	
}

.posi-rel {
	position: relative;
}

.hover-zoom {
	display: block;
	overflow: hidden;
}


@media print, screen and (min-width: 681px) {
	
	.c-wrapper {
		width: calc(100% - 80px);
	}

}


@media print, screen and (min-width: 800px) {
	
}


@media print, screen and (min-width: 1200px) {
	
	.c-wrapper {
		width: 1000px;
		margin: 0 auto;
	}
	
	.btn-round--m {
		height: 50px;
		border-radius: 25px;
	}

	.btn-round--l {
		height: 60px;
		border-radius: 30px;
	}
	
	.hover-zoom img{
		transition: transform .3s ease-out;
	}

	.hover-zoom img:hover{
		transform: scale(1.1);
	}
	
}



 .color-wrap--kakhi { background-color: #edede6; }



/* diplay
*****************************************************************************/
.tb-only01,
.tb-only02,
.tbpc-only01,
.tbpc-only02,
.pc-only01, 
.pc-only02 { 
	display: none;
}

@media print, screen and (min-width: 681px) {
	.sp-only {
		display: none;
	}
	.tb-only01,
	.tbpc-only01 {
		display: block;
	}
	.tb-only02,
	.tbpc-only02 {
		display: inline;;
	}
}

@media print, screen and (min-width: 1200px) {
	.tb-only01,
	.tb-only02 {
		display: none;
	}
	.pc-only01 {
		display: block;;
	}
	.pc-only02 {
		display: inline;;
	}
}


/* writing mode
*****************************************************************************/
.txt-vert {
	writing-mode: vertical-rl;
}


/* table
*****************************************************************************/
.table-style {
	width: 100%;
}

.table-style th,
.table-style td {
	padding: 7px 10px;
	font-weight: 400;
	font-size: 1.3rem;
	line-height: 1.57;
	text-align: justify;
	text-justify: inter-ideograph;
	vertical-align: top;
}

.table-style-1 th{
	background: #f5ecb3;
}

.table-style-1 td{
	background: #fafaf4;
}

.table-style-1 th,
.table-style-1 td {
	display: block;
}

.table-style-2 tr:not(:last-child) td {
	border-bottom: 1px solid #5d4d41;
}
.table-style-2 th,
.table-style-2 td {
	vertical-align: middle;
}
.table-style-2 th {
	border-left: 1px solid #fff;
}
.table-style-2 td {
	padding: 20px 7px;
	border-left: 1px solid #5d4d41;
}

.table-style-2 th{
	background: #aeaaa3;
	color: #fff;
}

.table-style-2 th:first-of-type,
.table-style-2 td:first-of-type {
	border-left: none;
}

.table-style-2 tr:nth-child(even) th,
.table-style-2 tr:nth-child(even) td {
	background: #f7f7f7;
}
	
.table-style-2 tr:nth-child(odd) td {
	background: #fff;
}

.table-style--plain th,
.table-style--plain td {
	padding: 15px 15px;
}
.table-style--plain th {
	border-right: 1px solid #5d4d41;
	text-align: center;
}
.table-style--plain tr:not(:last-child) th,
.table-style--plain tr:not(:last-child) td {
	border-bottom: 1px solid #5d4d41;
}
.table-style--plain tr:nth-child(odd) th,
.table-style--plain tr:nth-child(odd) td {
	background: #fff;
}
.table-style--plain tr:nth-child(even) th,
.table-style--plain tr:nth-child(even) td {
	background: #f7f7f7;
}

.table-style-thx2 td {
	padding: 15px 7px;
	border-left: 1px solid #5d4d41;
}


.table-style-thx2 tr:nth-child(even) td {
	background: #f7f7f7;
}
	
.table-style-thx2 tr:nth-child(odd) td {
	background: #fff;
}
.table-style-thx2 tr:nth-child(1) th:not(:first-child),
.table-style-thx2 tr:nth-child(1) th.exception {
	background: #96938f;
	border-radius: 10px 10px 0 0;
	color: #fff;
}
.table-style-thx2 tr:nth-child(1) th:last-child {
	border-left: 1px solid #fff;
}
.table-style-thx2 tr:nth-child(2) th {
	background: #aeaaa3;
	color: #fff;
	border-left: 1px solid #fff;
}
.table-style-thx2 th:first-of-type,
.table-style-thx2 td:first-of-type {
	border-left: none;
}
.table-style-thx2 tr:not(:last-child) td {
	border-bottom: 1px solid #5d4d41;
}


.table-style-3 tr:nth-child(even) td {
	background: #eae8d8;
}
.table-style-3 tr:nth-child(odd) td {
	background: #f7f7f3;
}

.table-thtd-cent th,
.table-thtd-cent td {
	text-align: center;
}
.last-col-left tr td:last-of-type {
	text-align: left;
}



@media print, screen and (min-width: 681px) {
	
	.table-style th {
		padding: 7px 7px;
	}
	.table-style td {
		padding: 20px 7px;
		font-size: 1.4rem;
	}
	.table-style--plain th {
		padding: 20px 7px;
	}

}


@media print, screen and (min-width: 1200px) {
	
	.table-style th,
	.table-style td {
		font-size: 1.4rem;
		font-weight: 500;
	}
	.table-style-1 th,
	.table-style-1 td {
		display: table-cell;
		border-top: 1px solid #ccc;
	}
	
	.table-style-1 tr:first-of-type th,
	.table-style-1 tr:first-of-type td {
		border-top: none;
	}
	
	.table-style-1 tr:nth-child(even) td {
		background: #fff;
	}
	
}


/* list
*****************************************************************************/
.list--circle__item {
	padding: 0 0 0 1em;
	text-indent: -1em;
}

.list--circle__item:before {
	content: "●";
}

.list--cicle__red .list--circle__item:before {
	color:#ff4645;
}

.list-num_1 {
	counter-reset: number 0;
}

.list-num_1__item {
	padding: 0 0 0 1em;
	position: relative;
}

.list-num_1__item::before {
	counter-increment: number 1;
	content: counter(number) ".";
	position: absolute;
	top: 0;
	left: 0;
}
.list--kome__item {
	padding: 0 0 0 1em;
	text-indent: -1em;
}
.list--kome__item:before {
	content: "※";
}
.list--komenum__item {
	padding: 0 0 0 1.8em;
	text-indent: -1.8em;
}



/*************************************************************************************************************************
* header
*************************************************************************************************************************/
header {
	
}
.header__logo {
	padding: 10px 0 0 15px;
	width: 103px;
	height: auto;
}
.header__logo a {
	display: block
}

.header__menu {
	position: fixed;
	top: 28px;
	right: 33px;
	height: 63px;
	transform: translateX(10px);
	text-align: center;
	z-index: 100;
}
.header__menu div {
	position: relative;
	width: 44px;
	height: 44px;
	margin-bottom: 5px;
	border-radius: 50%;
	background-color: #d26145;
}
.header__menu div p {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: 16px;
	height: 10px;
}
.header__menu div p:before,
.header__menu div p:after {
	position: absolute;
	display: inline-block;
	left: 0;
	width: 16px;
	height: 2px;
	background: #fff;
	content: "";
	transition: all .4s;
}
.header__menu div p:before {
	top: 0;
}
.header__menu div p:after {
	bottom: 0;
}
.header__menu div.default p:before {
	animation: default-menu-bar01 .75s forwards;
}
.header__menu div.active p:before {
	animation: active-menu-bar01 .75s forwards;
}
.header__menu div.default p:after {
	animation: default-menu-bar03 .75s forwards;
}
.header__menu div.active p:after {
	animation: active-menu-bar03 .75s forwards;
}
.header__menu strong {
	display: block;
	font-family: 'Manrope', sans-serif;
	font-size: 1.1rem;
	font-weight: 800;
	text-align: center;
	color: #d26145;
	letter-spacing: 2px;
}
.header__menu strong:after {
	content: " ";
	margin-left: -2px;
}

@keyframes show-menu-bar {
	0% { opacity: 0;}
	100% { opacity: 1;}
}

@keyframes default-menu-bar01 {
	0% { top: 50%; transform: translateY(50%) rotate(45deg);}
	50% { top: 50%; transform: translateY(50%) rotate(0);}
	100% { transform: translateY(0) rotate(0);}
}

@keyframes default-menu-bar03 {
	0% { top: 50%; transform: translateY(-50%) rotate(-45deg);}
	50% { top: 50%; transform: translateY(-50%) rotate(0);}
	100% { transform: translateY(0) rotate(0);}
}

@keyframes active-menu-bar01 {
	0% { transform: translateY(0) rotate(0);}
	50% { top: 50%; transform: translateY(-50%) rotate(0);}
	100% { top: 50%; transform: translateY(-50%) rotate(45deg);}
}

@keyframes active-menu-bar03 {
	0% { transform: translateY(0) rotate(0);}
	50% { top: 50%; transform: translateY(-50%) rotate(0);}
	100% { top: 50%; transform: translateY(-50%) rotate(-45deg);}
}












/*************************************************************************************************************************
* global navi
*************************************************************************************************************************/
nav {
	display: none;
	animation: fadeout .4s linear 0s;
	background: #f2e3a5;
	
}

nav.active {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	
	z-index: 50;
	height: 100vh;
	overflow-y: auto;
	animation: fadein .3s linear 0s;
}
nav.default {
	animation: fadeout .3s forwards 0s;
	display: none;
}

@keyframes fadein {
	from{ opacity: 0; }
	to{ opacity: 1; }
}
@keyframes fadeout {
	from{ opacity: 1; }
	to{ opacity: 0; }
}




nav.active .g-nav {
	display: flex;
	flex-direction: column;
	height: 100%;
	
/*	overflow-y: scroll;*/
}

.g-nav > li:not(:last-child) {
	border-bottom: 1px dashed #e0cd79;
}
.g-nav__logo {
	padding: 30px 0;
	text-align: center;
}
.g-nav__logo img {
	width: 172px;
	height: auto;
}
.g-nav__item a {
	position: relative;
	display: block;
	padding: 30px 0;
}
.g-nav__item a:before {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 3%;
	width: 65px;
	height: 100%;
	background-repeat: no-repeat;
	background-position:50% 50%;
	background-size:100% auto;
	content: "";
}
.g-nav__item-top a:before { background-image: url(/common/img/icon_nav_1.png); }
.g-nav__item-about a:before { background-image: url(/common/img/icon_nav_2.png); }
.g-nav__item-photo a:before { background-image: url(/common/img/icon_nav_3.png); }
.g-nav__item-access a:before { background-image: url(/common/img/icon_nav_4.png); }
.g-nav__item-price a:before { background-image: url(/common/img/icon_nav_5.png); }
.g-nav__item-company a:before { background-image: url(/common/img/icon_nav_6.png); }
.g-nav__item p {
	text-align: center;
}
.g-nav__item p strong,
.g-nav__item p span {
	display: block;
	letter-spacing: 0.2em;
}
.g-nav__item p strong {
	margin-bottom: 3px;
	font-size: 1.2rem;
	font-weight: 900;
}
.g-nav__item p span {
	font-family: 'Manrope', sans-serif;
	font-size: 0.8rem;
	font-weight: 800;
	color: #d26145;
}
.g-nav__sns {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 30px 0;
}
.g-nav__sns a:first-child {
	margin-right: 25px;
}
.g-nav__sns img {
	width: 30px;
	height: auto;
}


.nav__blur-bg {
	display: none;
	background: rgba(255,255,255,.3);
	width: 120vw;
	height: 120vh;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 9999;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}


@media print, screen and (min-width: 681px) {
	
	nav,
	nav.default {
		display: block;
		position: relative;
		opacity: 1;
		animation: none;
	}
	nav {
		background-color: transparent;
	}
	.header__menu,
	.g-nav__logo,
	.g-nav__sns {
		display: none;
	}
	.g-nav > li:not(:last-child) {
		border-bottom: none;
	}
	.g-nav__item a {
		padding: 15px 0;
	}
	.g-nav__item a:before {
		width: 62px;
	}
	.g-nav__item p {
		padding-left: 85px;
		text-align: left;
	}
	.g-nav__item p strong {
		margin-bottom: 6px;
		font-size: 1.2rem;
		letter-spacing: 0.25em;
	}
	.g-nav__item p span {
		font-size: 0.8rem;
	}
/*

	nav.active {
		display: block;
		top: 0;
		left: 0;
		width: 100%;

		z-index: 50;
		height: 100vh;
		overflow-y: auto;
		animation: fadein .3s linear 0s;
	}
	
*/
	
	
}


@media (orientation: landscape) {
		nav.active {
			overflow-y: scroll;
		}
}


@media screen and (min-width: 681px) and ( max-width: 1199px) {
	
	
}


@media print, screen and (min-width: 1200px) {
	
	nav {
		height: auto;
		overflow: auto;
	}
	
}



@media print, screen and (min-width: 681px) {
	
	
	.header__logo {
		padding: 0;
	}
	
	
	.fv-wrap {
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		width: calc(100% - 30px);
		margin: 0 auto;
		padding-top: 30px;
	}
	header {
		width: 225px;
	}
	.header__logo {
		width: auto;
		margin-bottom: 30px;
		padding-left: 26px;
	}
	.header__logo img {
		width: 145px;
	}
	
}




/*************************************************************************************************************************
* body style
*************************************************************************************************************************/
.cont-wrap {
	width: calc(100% - 30px);
	margin: 0 auto;
}

@media print, screen and (min-width: 681px) {
	
	.cont-wrap {
		width: 1000px;
	}
	
}



/*************************************************************************************************************************
* slick style
*************************************************************************************************************************/
.sl-dots .slick-dots li {
	margin: 0;
}

.sl-dots li button::before {
	opacity: 1;
}
.sl-dots__gray li button::before { color: #c5c5c5;}
.sl-dots__white li button::before { color: #fff;}

.sl-dots li.slick-active button::before {
	color: #E34847;
}

.sl-arrow .slick-prev,
.sl-arrow .slick-next {
	width: 40px;
	height: 40px;
	background-color: #d26145;
	z-index: 2;
	border-radius: 50%;
	box-shadow: 2px 2px 10px 0px rgba(97,97,82, 0.3);
	transition: .3s ease-out;
}

.sl-arrow .slick-prev {
	left:-8px;
}
.sl-arrow .slick-next {
	right: -8px;
}

.sl-arrow .slick-prev::before,
.sl-arrow .slick-next::before {
	content: "";
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	opacity: 1;
	transition: .3s ease-out;
}
.sl-arrow .slick-prev::before{ margin-left: 2px; transform: translate(-50%,-50%) rotate(-135deg);}
.sl-arrow .slick-next::before{ margin-right: 2px; transform: translate(-50%,-50%) rotate(45deg);}


.sl-arrow__khaki .slick-prev,
.sl-arrow__khaki .slick-next {
	background: #606151;
}
.sl-arrow.sl-arrow__khaki .slick-prev:before,
.sl-arrow.sl-arrow__khaki .slick-next:before {
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}



@media print, screen and (min-width: 1200px) {
	
	.sl-arrow__white .slick-prev:hover,
	.sl-arrow__white .slick-next:hover {
		background: #e34847;
	}
	
	.sl-arrow .slick-prev:hover::before,
	.sl-arrow .slick-next:hover::before {
		border-top-color: #fff;
		border-right-color: #fff;
	}
	
}

@media print, screen and (min-width: 1400px) {

	.sl-arrow .slick-prev,
	.sl-arrow .slick-next {
		transform: translateY(-30%);
		width: 50px;
		height: 50px;
	}
	.sl-arrow .slick-prev {
		left: -25px;
	}
	.sl-arrow .slick-next {
		right: -25px;
	}
	
}




/*************************************************************************************************************************
* main area
*************************************************************************************************************************/
.cont-area {
	overflow: hidden;
}





/*************************************************************************************************************************
* footer
*************************************************************************************************************************/
footer {
	position: relative;
	background-color: rgba(210,184,66,0.3);
	padding-top: 56px;
}

.ft-wrap {
	position: relative;
	width: calc(100% - 30px);
	margin: 0 auto;
}
.ft-wrap:before {
	position: absolute;
	top: -85px;
	right: 0;
	width: 149px;
	height: 71px;
	background: url(/common/img/obj_duck.png) no-repeat 0 0/100% auto;
	content: "";
}
.ft-wrap .go2top {
	position: absolute;
	right: 0;
	top: -95px;
	display: block;
}
.ft-wrap .go2top img {
	width: 49px;
	height: auto;
	z-index: 5;
}



.ft-logo {
	position: absolute;
	left: 0;
	top: -22px;
}
.ft-logo img {
	width: 78px;
}
.ft-txt {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 30px;
	padding-left: 90px;
	font-size: 1.1rem;
	font-weight: 900;
}
.ft-txt li:nth-child(1){
	width: 100%;
	margin-bottom: 8px;
}

.ft-txt li:nth-child(1) a {
	display: none;
}
.ft-txt li:nth-child(2){
	width: 100%;
	margin-bottom: 6px;
}
.ft-txt li:last-child {
	margin-left: 8px;
	padding-left: 8px;
	border-left: 1px solid #5d4d41;
}



.ft-link {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	display: inline-block;
	margin-bottom: 25px;
	
}
.ft-link__item a {
	display: flex;
	align-items: center;
}
.ft-link__item:not(:last-child) {
	margin-bottom: 25px;
}
.ft-link__item a .txt{
	display: inline-block;
	margin-left: 10px;
	padding-bottom: 8px;
	border-bottom: 1px solid #d26145;
	line-height: 1;
	letter-spacing: 1px;
	color: #d26145;
}


.btn-arrow {
	position: relative;
	display: inline-block;
	width: 30px;
	height: 30px;
	border: none;
	border-radius: 50%;
	background-color: #d26145;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	font-size: 0;
	z-index: 2;
	transition: .3s ease-out;
}
.btn-arrow:before {
	position: absolute;
	top: 50%;
	left: 45%;
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	margin-right: 2px;
	transform: translate(-50%,-50%) rotate(45deg);
	transition: .3s ease-out;
	content: "";
}

.ft-nav {
	display: none;
}


.ft-tel {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	display: inline-block;
	background: #fff;
	border-radius: 8px;
	padding: 4px;
}
.ft-tel__inner {
	border: 1px dashed #d26145;
	border-radius: 8px;
	padding: 12px 20px 19px;
	text-align: center;
}
.ft-tel__inner .txt {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border-bottom: 1px solid #d26145;
	margin-bottom: 6px;
	padding-bottom: 6px;
	font-size: 1.2rem;
	font-weight: 900;
	line-height: 1;
}
.ft-tel__inner .txt:before {
	width: 17px;
	height: 17px;
	background: url(/common/img/icon_tel.svg) no-repeat 0 0/100% auto;
	margin-right: 10px;
	content: "";
}
.ft-tel__inner .num {
	font-family: 'Manrope', sans-serif;
	font-size: 2.8rem;
	font-weight: 800;
	color: #d26145;
	line-height: 1;
}

.copyright {
	padding: 17px 0;
	font-family: 'Manrope', sans-serif;
	font-size: 0.9rem;
	font-weight: 500;
	text-align: center;
	line-height: 1;
}



@media print, screen and (min-width: 681px) {
	
	footer {
		padding-top: 40px;
	}
	
	.ft-wrap {
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		width: 1200px;
		margin: 0 auto;
	}
	.ft-wrap:before {
		top: -105px;
		right: 10px;
		width: 310px;
		height: 146px;
	}
	.ft-wrap .go2top {
		top: -100px;
		right: -36px;
	}
	.ft-wrap .go2top img {
		width: 91px;
		height: 92px;
	}
	.ft-logo {
		position: static;
		width: 330px;
		text-align: left;
	}
	.ft-logo img {
		width: 170px;
		transform: translateY(5px);
	}
	
	.ft-txt,
	.ft-link {
		font-size: 1.4rem;
	}
	
	.ft-txt {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 20px;
		padding-left: 0;
		font-size: 1.4rem;
	}
	.ft-txt li {
		letter-spacing: 0.1em;
	}
	.ft-txt li:nth-child(1){
		display: flex;
		align-items: center;
		width: 100%;
		margin-bottom: 8px;
		letter-spacing: 0.15em;
	}
	.ft-txt li:nth-child(1) span {
		margin-right: 24px;
	}
	.ft-txt li:nth-child(1) a {
		display: inline-block;
		margin-left: 10px;
		padding-bottom: 4px;
	}
	.ft-txt li:nth-child(1) a img {
		width: 15px;
		height: 15px;
	}
	.ft-txt li:nth-child(2){
		width: auto;
		margin-bottom: 0;
	}
	
	.ft-txt li:nth-child(3) {
		margin-left: 8px;
		padding-left: 8px;
		border-left: 1px solid #5d4d41;
	}
	
	
	
	
	
	
	.ft-link {
		position: static;
		left: 0;
		transform: none;
		display: flex;
		align-items: center;
		margin-bottom: 0;
	}
	.ft-link__item:nth-child(1) {
		margin-right: 25px;
		margin-bottom: 0;
	}
	
	.ft-tel {
		position: static;
		left: 0;
		transform: none;
		border-radius: 10px;
	}
	.ft-tel__inner {
		border-radius: 5px;
		padding: 20px 28px 20px;
	}
	.ft-tel__inner .txt {
		margin-bottom: 10px;
		padding-bottom: 10px;
		font-size: 1.5rem;
		letter-spacing: 0.1em;
		white-space: nowrap;
	}
	.ft-tel__inner .txt:before {
		width: 21px;
		height: 21px;
	}
	.ft-tel__inner .num {
		font-size: 3.6rem;
	}
	
	
	.ft-nav {
		display: flex;
		align-items: center;
		margin-top: 25px;
	}
	.ft-nav__item:not(:last-child) {
		margin-right: 30px;
	}
	.ft-nav__item strong,
	.ft-nav__item span {
		display: block;
		line-height: 1;
		white-space: nowrap;
	}
	.ft-nav__item strong {
		margin-bottom: 10px;
		font-size: 1.5rem;
		font-weight: 700;
		letter-spacing: 0.2em;
	}
	.ft-nav__item span {
		font-family: 'Manrope', sans-serif;
		font-size: 1.0rem;
		font-weight: 800;
		color: #d26145;
		letter-spacing: 0.25em;
	}
	
	
	
}





@media print, screen and (min-width: 681px) {
	
	.copyright {
		padding: 30px 0;
		font-size: 1.0rem;
		letter-spacing: 0.05em;
	}
	
}





/* for Sub Pages
*****************************************************************************/





.fv-sub {
	width: calc(100% - 30px);
	margin: 0 auto;
	padding-top: 10px;
}
.fv-sub__ttl strong img {
	width: auto;
	height: 24px;
}

.fv-sub__img {
	position: relative;
	width: calc(100% - 5px);
	height: 146px;
	border-radius: 20px;
	margin-bottom: 15px;
}
.fv-sub__img img {
	position: relative;
	width: 100%;
	border-radius: 20px;
	z-index: 1;
}




.fv-sub__img img.md,
.fv-sub__img img.lg {
	display: none;
}
.fv-sub__img:after {
	position: absolute;
	bottom: -5px;
	right: -5px;
	width: calc(100% - 5px);
	height: 100%;
	background-image: repeating-linear-gradient(130deg, transparent, transparent 2px, rgba(233, 201, 184, 1) 2px, rgba(233, 201, 184, 1) 8px );
	border-radius: 20px;
	content: "";
	z-index: 0;
}






.fv-sub__ttl {
	margin-bottom: 25px;
	text-align: center;
}
.fv-sub__ttl strong,
.fv-sub__ttl span {
	display: block;
}

.fv-sub__ttl strong {
	font-family: ten-mincho-text, serif;
	font-size: 2.3rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.2em;
	color: #000;
}
.fv-sub__ttl strong:after {
	margin-right: -0.25em;
	content: "";
}
.fv-sub__ttl span {
	display: block;
	margin-top: 10px;
	font-family: 'Manrope', sans-serif;
	font-size: 1.2rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.25em;
	color: #d26145;
}
.fv-sub__ttl span:after {
	margin-right: -0.2em;
	content: "";
}


@media print, screen and (min-width: 681px) {
	
	#sub header {
		position: absolute;
		top: 56px;
		left: 10px;
		z-index: 10;
	}
	#sub .fv-wrap {
		padding-top: 50px;
	}
	.fv-wrap--sub {
		position: relative;
	}
	
	.fv-sub {
		position: relative;
		width: 100%;
		margin: 0;
		margin-top: 60px;
		padding-top: 140px;
	}
	.fv-sub__ttl {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		margin-bottom: 0;
	}
	
	.fv-sub__ttl strong {
		font-size: 4.0rem;
		letter-spacing: 0.25em;
	}
	.fv-sub__ttl strong:after,
	.fv-sub__ttl span:after {
		margin-right: 0;
		content: "";
	}
	.fv-sub__ttl span {
		margin-top: 18px;
		font-size: 2.0rem;
	}
	.fv-sub__img {
		width: calc(100% - 306px);
		height: 360px;
		border-radius: 40px;
		margin-left: auto;
		margin-right: 66px;
	}
	.fv-sub__img img {
		border-radius: 40px;
	}
	.fv-sub__img:after {
		bottom: -15px;
		right: -15px;
		width: 100%;
		height: 100%;
		border-radius: 40px;
	}
	
	
	
}


@media print, screen and (min-width: 1401px) {
	
	header {
		width: 15%;
	}
	#sub header {
		top: 54px;
	}
	
	.g-nav__item a {
		padding: 1.1vw 0;
	}
	.g-nav__item a:before {
		width: 29.5%;
	}
	.g-nav__item p {
		padding-left: 40%;
	}
	.g-nav__item p strong {
		margin-bottom: 0.42vw;
		font-size: 0.84vw;
	}
	.g-nav__item p span {
		font-size: 0.56vw;
	}
	.fv-sub__img {
		width: 78%;
		height: 25vw;
	}
	
	
}

.breadcrumb {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-wrap: wrap;
	font-size: 1.0rem;
	letter-spacing: 0.05em;
}
.breadcrumb li:not(:last-child) {
	margin-right: 8px;
}

@media print, screen and (min-width: 681px) {
	
	.breadcrumb {
		width: 1200px;
		margin: 35px auto 0;
		font-size: 1.2rem;
		letter-spacing: 0.13em;
	}
	
}











/*************************************************************************************************************************
* Style of titles
*************************************************************************************************************************/
.ttl-sub {
	margin: 0 0 30px;
	text-align: center;
	line-height: 1;
}
.ttl-sub strong,
.ttl-sub span {
	display: block;
	letter-spacing: 0.2em;
}

.ttl-sub strong {
	font-family: ten-mincho-text, serif;
	font-size: 1.8rem;
	font-weight: 400;
	color: #000;
}
.ttl-sub span {
	margin-top: 10px;
	font-family: 'Manrope', sans-serif;
	font-size: 0.9rem;
	font-weight: 800;
	color: #d26145;
}

.ttl-vert {
	position: relative;
}
.ttl-vert strong {
	font-family: ten-mincho-text, serif;
	font-weight: 400;
	writing-mode:vertical-rl;
}
.ttl-vert span {
	position: absolute;
	top: 0px;
	transform: rotate(90deg);
	transform-origin: top left;
	font-family: 'Manrope', sans-serif;
	font-weight: 800;
	letter-spacing: 2px;
	color: #d26145;
}


@media print, screen and (min-width: 681px) {
	
	.ttl-sub {
		margin: 0 0 40px;
	}
	.ttl-sub strong {
		font-size: 3.0rem;
		letter-spacing: 0.25em;
	}
	.ttl-sub span {
		margin-top: 20px;
		font-size: 1.1rem;
	}
	
}

/*************************************************************************************************************************
* Objective Fit Image
*************************************************************************************************************************/
.ofi-cover {
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover';
}

.ofi-contain {
	width: 100%;
	height: 100%;
	object-fit: contain;
	font-family: 'object-fit: contain';
}
