@charset "UTF-8";


/****************************************************************************
    common parts
****************************************************************************/

/* PC/SP/Tabletで表示・非表示
--------------------------------*/
/*SPの時のみに表示*/
.m-sp {
	display: block;
}
@media (min-width:768px){
	.m-sp {
		display: none;
	}
}

/*SPとタブの時に表示*/
.m-sp-tab {
	display: block;
}
@media (min-width:1024px){
	.m-sp-tab {
		display: none;
	}
}

/*PCとタブの時に表示*/
.m-pc-tab {
	display: none;
}
@media (min-width:768px){
	.m-pc-tab {
		display: block;
	}
}

/*PCの時のみに表示*/
.m-pc {
	display: none;
}
@media (min-width:1024px){
	.m-pc {
		display: block;
	}
}


/* box
--------------------------------*/
.m-inner {
	width: 100%;
	padding: 0 1rem;
}
@media (min-width:1024px){
	.m-inner {
		padding: 0 3rem;
	}
}
@media (min-width:1280px){
	.m-inner {
		padding: 0;
	    max-width: 1200px;
		margin: 0 auto;
	}
}

/* section */
.m-section {
	padding: 2rem 0 3rem 0;
}
@media (min-width:768px){
	
}
@media (min-width:1024px){
	.m-section {
		padding: 3rem 0 4rem 0;
	}
}



/* ボックス */
/*
.m-box {
	background-color: #fff;
	border-radius: 10px;
	padding: 1.5rem 1.5rem;
}
@media (min-width:768px){
	.m-box {
		border-radius: 20px;
		padding: 2.5rem 3rem;
	}
}
@media (min-width:1024px){
	.m-box {
		border-radius: 30px;
		padding: 3rem 4rem;
	}
}*/


/* 背景
--------------------------------*/
.m-bg-white {
	background-color: #FFF;
}



/* テキスト関連
--------------------------------*/
.m-txt-en {
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	letter-spacing: 0;
}

.m-txt-C {
	text-align: center;
}
.m-txt-R {
	text-align:  right;
}

.m-txt-strong {
	font-weight: 700;
}

.m-txt-marker-yellow {
	background: linear-gradient(transparent 30%, #fff8e0 30%);
}

.m-txt-smaller {
	font-size: .9em;
}

/* テキストリンク
--------------------------------*/
a.m-txt-link {
	color: #FD9B01;
	text-decoration: underline;
	position: relative;
	padding-left: 1rem;
}
a.m-txt-link:before {
	position: absolute;
	left: 0;
	top: 6px;
	display: block;
	content:"";
	width: .8rem;
	height: .8rem;
	background: url("../img/common/icon_arrow_orange.svg") no-repeat center center;
	background-size: contain;
}
a.m-txt-link:hover {
	text-decoration: none;
}

/* 電話発信（スマホでタップした時だけ電話発信を有効にする）
--------------------------------*/
/*
@media (min-width:768px){
	.m-tel {
		pointer-events: none;
	}
}
*/


/****************************************************************************
 	タイトル
****************************************************************************/
.m-ttl-L {
	text-align: center;
	color: #FD9B01;
	margin-bottom: 1.5rem;
}
.m-ttl-L .jp {
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1.5;
	letter-spacing: 1px;
}
.m-ttl-L .en {
	font-size: .7rem;
	line-height: 1.3;
	letter-spacing: 2px;
}
@media (min-width:1024px) {
	.m-ttl-L {
		margin-bottom: 1.8rem;
	}
	.m-ttl-L .jp {
		font-size: 1.9rem;
		line-height: 1.5;
		letter-spacing: 2px;
	}
	.m-ttl-L .en {
		font-size: .9rem;
		line-height: 1.3;
		margin-top: .1rem;
	}
}


/****************************************************************************
 	ボタン
****************************************************************************/

a.m-btn {
	position: relative;
	display: block;
	width: 100%;
	max-width: 13rem;
	padding: 16px 3px;
	border-radius: 50px;
	text-align: center;
	text-decoration: none;
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.4;
	letter-spacing: 0px;
	margin-left: auto;
	margin-right: auto;
	background-color: #FD9B01;
	color: #fff;
	transition: 0.25s ease-in-out;
	-moz-transition: 0.25s ease-in-out;
	-webkit-transition: 0.25s ease-in-out;
	-o-transition: 0.25s eease-in-out;
}
a.m-btn:after {
	position: absolute;
	right: 10px;
	top: 50%;
	margin-top: -6px;
	display: block;
	content:"";
	width: 12px;
	height: 12px;
	background: url("../img/common/icon_arrow_white.svg") no-repeat 0 0;
	background-size: cover;
}
a.m-btn:hover {
	opacity: .7;
}
@media (min-width: 1024px) {
	a.m-btn {
		max-width: 13.5rem;
		padding: 17px 3px;
		font-size: 1.1rem;
	}
}

/* 戻るボタン */
a.m-btn.return:after {
	transform: rotate(180deg);
	left: 10px;
	right: auto;
}
@media (min-width:768px){
}

/*セカンダリボタン*/
a.m-btn.second {
	border: 2px solid #FD9B01;
	background-color: #fff;
	color: #FD9B01;
}
a.m-btn.second:after {
	background: url("../img/common/icon_arrow_orange.svg") no-repeat 0 0;
	background-size: cover;
}


/****************************************************************************
 	ページタイトル
****************************************************************************/
.m-pagettl-sec {
	padding-top: 1rem;
	padding-bottom: 4rem;
	overflow: hidden;
}
.m-pagettl-sec .m-inner {
	position: relative;
}
.m-pagettl-sec .m-inner:before {
	position: absolute;
	right: -5rem;
	top: -1rem;
	display: block;
	content:"";
	width: 180px;
	height: 180px;
	background: url("../img/common/bg_circle_orange.webp") no-repeat 0 0;
	background-size: cover;
	z-index: -1;
}
.m-pagettl-sec .m-inner:after {
	position: absolute;
	left: -5rem;
	top: 3rem;
	display: block;
	content:"";
	width: 220px;
	height: 220px;
	background: url("../img/common/bg_circle_yellow.webp") no-repeat 0 0;
	background-size: cover;
	z-index: -1;
}
.m-pagettl-text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.m-pagettl-text {
	color: #fff;
	text-align: center;
	width: 100%;
}
.m-pagettl-text .jp {
	font-weight: 700;
	letter-spacing: 1px;
	line-height: 1.3;
	font-size: 1.45rem;
}
.m-pagettl-text .en {
	letter-spacing: 2px;
	line-height: 1.3;
	font-size: .9rem;
	margin-top: .3rem;
}
.m-pagettl-photo {
	width: 100%;
	aspect-ratio: 4/2.1;
	object-fit: cover;
	border-radius: 1.5rem;
}
@media (min-width: 768px) {
	.m-pagettl-sec {
		padding-top: 1rem;
		padding-bottom: 4rem;
	}
	.m-pagettl-sec .m-inner:before {
		right: -5rem;
		top: -1rem;
		width: 280px;
		height: 280px;
	}
	.m-pagettl-sec .m-inner:after {
		left: -5rem;
		top: 6rem;
		width: 320px;
		height: 320px;
	}
	.m-pagettl-text .jp {
		letter-spacing: 3px;
		font-size: 1.9rem;
	}
	.m-pagettl-text .en {
		letter-spacing: 2px;
		font-size: 1rem;
		margin-top: .3rem;
	}
	.m-pagettl-photo {
		aspect-ratio: 4/1.6;
		border-radius: 3rem;
	}
}
@media (min-width: 1024px) {
	.m-pagettl-sec {
		margin-top: 1rem;
		margin-bottom: 1rem;
	}
	.m-pagettl-sec .m-inner:before {
		right: -12rem;
		top: -1rem;
		width: 360px;
		height: 360px;
	}
	.m-pagettl-sec .m-inner:after {
		left: -12rem;
		top: 6.5rem;
		width: 470px;
		height: 470px;
	}
	.m-pagettl-text .jp {
		font-size: 2.2rem;
	}
	.m-pagettl-text .en {
		font-size: 1.1rem;
		margin-top: .3rem;
	}
	.m-pagettl-photo {
		aspect-ratio: 4/1.5;
		border-radius: 4rem;
	}
}


/****************************************************************************
 	topic-path
****************************************************************************/
.m-topic-path-sec {
	margin-top: -3.5rem;
	padding: 0 0 2rem 0;
	line-height: 1.4;
	text-align: center;
	font-size: .75rem;
}
.m-topic-path-sec li {
	display: inline;
	letter-spacing: 0;
	font-weight: 400;
}
.m-topic-path-sec li a {
	font-weight: 400;
	position: relative;
	padding-right: 1.2rem;
}
.m-topic-path-sec li a:hover {
	opacity: .7;
}
.m-topic-path-sec li a:after {
	content: "/";
	position: absolute;
	top: 0;
	right: 0;
	margin: auto;
	vertical-align: middle;
	width: 1rem;
	height: 1rem;
}
@media (min-width: 1024px) {
	.m-topic-path-sec {
		margin-top: -3.5rem;
		padding: 0 0 3.5rem 0;
		font-size: .85rem;
	}
}

/****************************************************************************
 	ページ内ボタンリスト
****************************************************************************/
.m-pnavi-list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	gap: .6rem;
	margin-bottom: 2rem;
}
.m-pnavi-list-item {
	width: 9.5rem;
}
a.m-pnavi-list-link {
	display: block;
	background-color: #FFCA75;
	border-radius: 50px;
	position: relative;
	color: #fff;
	font-weight: 700;
	text-align: center;
	font-size: .9rem;
	padding: .5rem 0;
}
a.m-pnavi-list-link:hover {
	opacity: .8;
}
a.m-pnavi-list-link:after {
	position: absolute;
	right: 6px;
	top: 50%;
	display: block;
	content:"";
	width: 10px;
	height: 10px;
	margin-top: -5px;
	background: url("../img/common/icon_arrow_white.svg") no-repeat center center;
	background-size: contain;
	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	transition: 0.25s ease-in-out;
	-moz-transition: 0.25s ease-in-out;
	-webkit-transition: 0.25s ease-in-out;
	-o-transition: 0.25s ease-in-out;
}
a.m-pnavi-list-link:hover:after {
	margin-top: -1px;
}
@media (min-width: 768px) {
	.m-pnavi-list {
		margin-bottom: 3rem;
	}
	.m-pnavi-list-item {
		width: 10.5rem;
	}
	a.m-pnavi-list-link {
		font-size: 1rem;
	}
}
@media (min-width: 1024px) {
	.m-pnavi-list {
		margin-bottom: 4rem;
		gap: 1rem;
	}
	.m-pnavi-list-item {
		width: 11rem;
	}
	a.m-pnavi-list-link {
		font-size: 1.05rem;
	}
	a.m-pnavi-list-link:after {
		right: 8px;
		width: 12px;
		height: 12px;
		margin-top: -6px;
	}
	a.m-pnavi-list-link:hover:after {
		margin-top: -2px;
	}
}

/****************************************************************************
 	table
****************************************************************************/
table {
	word-break: break-all;
	word-wrap: break-word;
	width: 100%;
}
.m-table-base {
	border-top: 1px dashed #C3BAB1;
}
.m-table-base.top-border-none {/*一番上の線なし*/
	border-top: none;
}
.m-table-base tr {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.m-table-base th,
.m-table-base td {
	padding: .8rem .5rem;
	border-bottom: 1px dashed #C3BAB1;
	line-height: 1.6;
	font-size: .9rem;
}
.m-table-base th {
	width: 25%;
	font-weight: 700;
}
.m-table-base td {
	width: 75%;
	font-weight: 400;
}
@media (min-width:768px){
	.m-table-base tr {
		display: flex;
	}
	.m-table-base th,
	.m-table-base td {
		padding: 1rem 1rem;
		line-height: 1.6;
		font-size: .9rem;
	}
	.m-table-base th {
		width: 20%;
	}
	.m-table-base td {
		width: 80%;
	}
}
@media (min-width:1024px){
	.m-table-base th,
	.m-table-base td {
		padding: 1rem 2rem;
		font-size: .95em;
	}
	.m-table-base th {
		width: 18%;
	}
	.m-table-base td {
		width: 82%;
	}
}




/****************************************************************************
    margin top
****************************************************************************/

/*   XXSサイズ
---------------------*/
.m-mt-XXS {
	margin-top: .5rem;
}

/*   XSサイズ
---------------------*/
.m-mt-XS {
	margin-top: 1rem;
}


/*   Sサイズ
---------------------*/
.m-mt-S {
	margin-top: 2rem;
}


/*   Mサイズ
---------------------*/
.m-mt-M {
	margin-top: 3rem;
}

/*   Lサイズ
---------------------*/
.m-mt-L {
	margin-top: 4rem;
}


/*   XLサイズ
---------------------*/
.m-mt-XL {
	margin-top: 5rem;
}

