@charset "utf-8";

/*===========================================================
	フォント読み込み
===========================================================*/

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700,900&display=swap&subset=japanese');

/*===========================================================
	基本設定・共通項目
===========================================================*/

html {
	font-size: 10px;
}

body {
	font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', sans-serif, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	color: #595757;
	font-size: 1.1rem;
	line-height: 1.8em;
}

* {
	box-sizing: border-box;
}

img {
	max-width: 100%;
	vertical-align: bottom;
}

a {
	text-decoration: none;
	color: #595757;
}

ul,li {
	list-style: none;
}

a img:hover {
	opacity: 0.6;
}
	
.disp_sp {
	display: none;
}

/*===========================================================
	ヘッダー
===========================================================*/

header {
	
}

#header_inner {
	margin: 60px auto 40px;
	max-width: 1000px;
}

h1 {
	margin: 60px auto;
	text-align: center;
}

h1 img {
	width: 200px;
}

#sp_menu_button {
	display: none;
}

nav {
	
}

nav ul {
	margin: 0 auto;
	width: 96%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}

nav li {
	text-align: center;
	line-height: 1.4em;
}

nav li a {
	position: relative;
	color: #7a6a56;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.4em;
}

nav li a .en_text{
	transition: opacity 200ms ease-out;
}

nav li a .ja_text{
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	white-space: nowrap;
	opacity: 0;
	transition: opacity 200ms ease-out;
}

nav li a:hover .en_text{
	opacity: 0;
}

nav li a:hover .ja_text{
	opacity: 1;
}

#sp_menu {
	display: none;
}

/*===========================================================
	メインコンテンツ
===========================================================*/

main {
}

main > section {
	padding: 0 20px;
}

section {
	margin: 0 auto 100px;
	max-width: 1000px;
}

section h2 {
	margin: 80px auto;
	color: #3e3a39;
	font-size: 2.5rem;
	font-weight: 900;
	text-align: center;
}

.section_inner {
	margin: 0 auto;
	max-width: 800px;
}

.section_flex {
	margin: 0 auto;
	padding: 0 20px;
	max-width: 800px;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.read_more {
	display: inline-block;
	position: relative;
	color: #036eb8;
	font-weight: 700;
}

.read_more:hover {
	text-decoration: underline;
}

.read_more::after {
	content: "";
	width: 200%;
	height: 1px;
	display: block;
	position: absolute;
	top: 50%;
	left: 120%;
	background-color: #036eb8;
	pointer-events: none;
}

/*===========================================================
	フッター
===========================================================*/

footer {
	margin-top: 200px;
	padding: 0 20px;
}

#footer_inner {
	margin: 0 auto;
	max-width: 800px;
}

#footer_logo {
	margin: 0 auto 40px;
	padding-bottom: 40px;
	border-bottom: solid 1px #231815;
	text-align: center;
}

#footer_logo img {
	width: 130px;
}

#footer_inner ul {
	margin: 40px auto;
}

#footer_navi {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

#footer_navi li {
	margin: 0 1em;
}

#footer_navi li a {
	font-size: 1.2rem;
}

#footer_navi li a:hover {
	text-decoration: underline;
}

#social_link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

#social_link li {
	margin: 0 12.5px;
	height: 30px;
}

#social_link li img {
	width: auto;
	max-height: 100%;
}

footer small {
	margin: 100px auto 50px;
	display: block;
	font-size: 0.6rem;
	text-align: center;
}

@media screen and (max-width: 750px) {

	body {
		line-height: 1.6em;
		-webkit-text-size-adjust: 100%;
	}
	
	.disp_pc {
		display: none;
	}
	
	.disp_sp {
		display: block;
	}

	/*===========================================================
		ヘッダー
	===========================================================*/

	header {
		width: 100%;
		height: 160px;
		position: relative;
		background-color: #ffffff;
	}

	#header_inner {
		margin: auto;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	h1 {
		margin: auto;
	}

	h1 img {
		width: 180px;
	}

	#sp_menu_button {
		width: 26px;
		height: 26px;
		display: block;
		position: absolute;
		top: 50%;
		right: 20px;
		transform: translateY(-50%);
		cursor: pointer;
	}

	#menu_bar {
		width: 100%;
		height: 1px;
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
		background-color: #666666;
		transition: background 250ms;
	}

	#menu_bar::before,
	#menu_bar::after {
		content: "";
		width: 100%;
		height: 100%;
		display: block;
		position: absolute;
		right: 0;
		background-color: #666666;
	}

	#menu_bar::before {
		transform: translateY(-10px);
	}

	#menu_bar::after {
		width: 60%;
		transform: translateY(10px);
	}

	nav {
		display: none;
	}

	#sp_menu {
		width: 250px;
		height: 100vh;
		display: block;
		position: fixed;
		top: 0;
		right: -260px;
		background-color: #ffffff;
		overflow-y: auto;
		z-index: 100;
		transition: right 500ms, box-shadow 500ms;
	}

	#sp_menu.on {
		right: 0;
		box-shadow: -2px 0 4px 0 rgba(0,0,0,0.2);
	}
	
	#sp_menu_close {
		margin-top: 66px;
		margin-left: 200px;
		width: 26px;
		height: 26px;
		position: relative;
		cursor: pointer;
	}
	
	#sp_menu_close::before,
	#sp_menu_close::after {
		content: "";
		width: 141.421356%;
		height: 1px;
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		background-color: #231815;
	}
	
	#sp_menu_close::before {
		transform: translateX(-50%) rotateZ(-45deg);
	}
	
	#sp_menu_close::after {
		transform: translateX(-50%) rotateZ(45deg);
	}

	#sp_menu ul {
		margin: 10px 50px 100px 30px;
	}

	#sp_menu ul li {
		margin-top: 30px;
		border-bottom: solid 1px #595757;
		font-size: 1.3rem;
	}

	#sp_menu ul li:first-child {
		margin-top: 0;
	}

	/*===========================================================
		メインコンテンツ
	===========================================================*/

	main {
	}

	main > section {
		padding: 0;
	}

	section {
		margin: 0 auto 60px;
	}

	section h2 {
		margin: 40px auto 50px;
		color: #3e3a39;
		font-size: 2.2rem;
	}

	.section_inner {
		padding: 0;
	}

	.section_flex {
		padding: 0;
	}

	.read_more {
		margin: 70px auto 0;
		display: inline-block;
		width: 100%;
		font-size: 1.3rem;
		text-align: center;
	}

	.read_more:hover {
		text-decoration: none;
	}

	.read_more::after {
		width: 150px;
		display: block;
		top: -20px;
		left: 50%;
		transform: translateX(-50%);
	}

	/*===========================================================
		フッター
	===========================================================*/

	footer {
		margin-top: 180px;
		padding: 0;
	}

	#footer_logo {
		margin: 0 100px 50px;
		padding-bottom: 50px;
		text-align: center;}

	#footer_logo img {
		width: 120px;
	}

	#footer_navi {
		display: none;
	}

	#footer_inner #social_link {
		margin-top: 100px;
	}

	#social_link li {
		margin: 0 10px;
		height: 30px;
	}

	#social_link li img {
		width: auto;
		max-height: 25px;
	}

	footer small {
		margin: 60px auto 110px;
		font-size: 0.7rem;
	}

	footer small span {
		font-size: 1.8rem;
		vertical-align: middle;
	}

	.iframeBox {
		padding-top: 56.25%;
		position: relative;
		width: 100%;
	}

	.iframeBox iframe {
		height: 100% !important;
		left: 0;
		position: absolute;
		top: 0;
		width: 100% !important;
	}

}