@charset "UTF-8";

/* =======================================================================================
	loading
======================================================================================= */

/* =======================================================================================
	初期設定
======================================================================================= */

/* ALL */
html {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 62.5%;
	font-weight: 400;
	color: #333;
	overflow-x: hidden;
	overflow-y: scroll;
	line-height: 1.75;
}

body {
	font-size: 2rem;
	min-width: 320px;
	max-width: 1920px;
	margin: 0 auto;
	position: relative;
}

main {
	position: relative;
}

::selection,
::-moz-selection {
	background: #2E416A;
	color: #ffffff;
}

p,
li,
dt,
dd,
tr,
th {
	font-size: 1.8rem;
	line-break: strict;
	word-break: break-all;
	word-wrap: break-word;
}

p {
	text-align: justify;
	/* 両端揃え */
	text-justify: inter-ideograph;
	/* 両端揃えの種類 */
}

a {
	color: #2E416A;
}

button {
	cursor: pointer;
}

/* 設定
========================================================================== */

.nav-sec {
	display: block;
	padding-bottom: 4em;
	padding: 40px;
}

.menu {
	display: inline-block;
	border: 1px solid #a4917b;
	border-radius: 8px;
	padding: 20px 40px;
	margin: 0 0 auto 0;
}

.menu-list {
	display: flex;
	align-items: center;
	height: 60px;
	background: url("../images/language.png") no-repeat 0% 50%;
	padding-left: 160px;
}

.menu-item {
	width: 100px;
	text-align: center;
}
.menu-item a {
	color: #333;
}


.main-inner {
	width: 900px;
	max-width: 92%;
	margin: 0 auto;
}

.main-ttl {
	padding: 1em 0;
	font-weight: 700;
	font-size: 2.8rem;
	letter-spacing: .075em;
	text-align: center;
	color: #fff;
	background: #2E416A;
	margin-bottom: 2.5em;
}

.main-sec-ttl {
	font-size: 2.2rem;
	font-weight: 500;
	letter-spacing: .075em;
	padding: .5em;
	margin-bottom: 1.5em;
	text-align: center;
	position: relative;
}

.main-ttl span,
.main-sec-ttl span {
	display: inline-block;
}

.main-sec-ttl:after {
	position: absolute;
	bottom: -10px;
	left: calc(50% - 30px);
	width: 60px;
	height: 5px;
	content: '';
	border-radius: 100px;
	background: #2E416A;
}

.main-sec {
	display: block;
	padding-bottom: 4em;
}

.note .main-inner {
	margin-bottom: 8em;
	border: 2px solid #eee;
	padding: 2.0em;
	background: #F6F6F6;
	border-radius: 10px;
}

.main-img {
	width: 100%;
	text-align: center;
	padding-top: 2em;
}

.main-img img {
	width: 100%;
	max-width: 700px;
}

.note-txt {
	margin-bottom: 2.0em;
}

.counter {
	font-weight: 700;
	margin-bottom: .25em;
	text-align: center;
}

.form-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 50px;
	color: #fff;
	background: #2E416A;
	border-radius: 10px;
}

/* ▼ TB SP ================================================================================*/
@media screen and (max-width: 1079px) {
	/* 開閉用ボタン */
	.menu-btn {
		position: absolute;
		top: 10px;
		right: 10px;
		width: 100px;
		height: 40px;
		line-height: 40px;
		font-size: 1.2rem;
		text-align: center;
		cursor: pointer;
		z-index: 10;
		background: #333;
	}

	.menu-btn span {
		color: #fff;
		background: 333px;
	}

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

	/* 開閉用ボタンクリック */
	.menu {
		position: fixed;
		display: table;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, .8);
		-webkit-transition: all .5s;
		transition: all .5s;
		visibility: hidden;
		opacity: 0;
		z-index: 5;
		border: 0;
		border-radius: 0;
		padding: 0;
	}

	.menu-list {
		display: table-cell;
		vertical-align: middle;
		height: auto;
		background: none;
		padding: 0 3%;
	}

	.menu-item {
		width: 100%;
		height: 40px;
		line-height: 40px;
		margin: 0 auto;
		margin-bottom: 20px;
		text-align: center;
	}

	.menu-item:last-child {
		margin-bottom: 0;
	}

	.menu-item br {
		display: none;
	}

	.menu-item a {
		display: block;
		font-size: 1.4rem;
		color: #fff;
		background: rgba(255, 255, 255, 0.3);
		border: 1px solid #fff;
	}

	.menu-item a:hover {
		color: #999;
	}


	/* 開閉用ボタンがクリックされた時のスタイル */

	.open {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.open .menu-btn {
		background: #fff;
	}

	.open .menu-btn span {
		color: #333;
	}

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

	.open .menu {
		cursor: url(../images/cross.svg), auto;
		-webkit-transition: all .5s;
		transition: all .5s;
		visibility: visible;
		opacity: 1;
	}
}

/* ▼ SP ================================================================================*/
@media screen and (max-width: 739px) {

	body,
	p,
	li,
	dt,
	dd,
	tr,
	th {
		font-size: 1.5rem;
	}

	.main-ttl {
		font-size: 2.0rem;
	}

	.main-sec-ttl {
		font-size: 1.8rem;
	}

	.note .main-inner {
		padding: 2.0em 1.5em;
	}

}

/* ▲ SP ================================================================================*/

/*------- ▼ effect -------*/
@media screen and (min-width: 1080px) {

	.menu-item a {
		width: 100%;
		display: block;
		text-decoration: none;
		position: relative;
	}

	.none-active a::after {
		position: absolute;
		bottom: -4px;
		left: 18px;
		content: '';
		width: 65%;
		height: 1px;
		background: #a4917b;
		transform: scale(0, 1);
		transform-origin: left top;
		transition: transform .3s;
	}

	.none-active a:hover::after {
		transform: scale(1, 1);
	}

	.active a::after {
		position: absolute;
		bottom: -4px;
		left: 18px;
		content: '';
		width: 65%;
		height: 1px;
		background: #a4917b;
	}

	.means-link:hover,
	.submit-btn:hover {
		opacity: 0.7;
		transition: 0.3s ease-in-out;
	}

}

/*------- ▲ effect -------*/