@charset "UTF-8";
/*
	Theme Name: 松山市青少年育成市民会議
	Description: 松山市青少年育成市民会議専用のテンプレートファイルです。
	Author: Fellow System
	Version: 1.0
*/
/*******************************************************************************
	サイト名：
	作成会社：Fellow System
--------------------------------------------------------------------------------
 No.│   日付   │区分│						内  容
━━┿━━━━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 001│2020.05│新規│[V1.00]
*******************************************************************************/

/*******************************************************************************
	デフォルトセッティング
--------------------------------------------------------------------------------
	適応：全部
*******************************************************************************/
@font-face {
	font-family: "impact";
	src: url("./fonts/impact.woff") format("woff"), url("./fonts/impact.eot") format("eot");
}

@font-face {
	font-family: "Josefin Sans";
	font-weight: bold;
	src: url("./fonts/JosefinSans-Bold.ttf") format("ttf");
}

/* @font-face {
	font-family: コーポレート・ロゴ;
	font-weight: bold;
	src: url("./fonts/Corporate-Logo-Bold-ver2.woff") format("woff");
} */

.font_impact {
	font-family: "impact";
}

html , body {
	height: 100%;
}

body {
	/*overflow: hidden;*/
	color: #303030;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 12pt;

	-webkit-text-size-adjust: 100%;
}

body.loaded {
	overflow: auto;
}

* {
	margin: 0;
	padding: 0;

/*border: 0;*/
	box-sizing: border-box;
	text-decoration: none;
}

*::before , *::after {
	box-sizing: border-box;
}

h1 , h2 , h3 , h4 , h5 , h6 {
	line-height: 1.15;
}

ul , ol {
	list-style: none;
}

ul.clause_list , ol.number_list {
	padding: revert;
}

ul.clause_list {
	list-style: disc;
}

ol.number_list {
	list-style: decimal;
}

img , video , iframe {
	display: block;
}

img {
	height: auto;
}

.clearfix:after {
	display: block;
	clear: both;
	text-decoration: none;
	content: "";
}

::placeholder {
	font-weight: 500;
}

input , textarea , select {
	display: block;
	width: 100%;
	padding: 0.5em;
	border-style: solid;
	border-color: #e6e6e6;
	border-radius: 0;
	font-size: 1em;
	outline: none;

	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

input:focus , textarea:focus , select:focus {
	border-width: 2px;
	border-color: #313131;
	border-radius: 5px;
}

input , select {
	height: 50px;
}

select {
	background-repeat: no-repeat;
	background-position: right 10px center;
}

select::-ms-expand {
	display: none;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"] , input[type="reset"] , input[type="button"] {
	-webkit-box-sizing: border-box;
	cursor: pointer;

	-webkit-appearance: button;
	appearance: button;
}

input[type="submit"]::-webkit-search-decoration , input[type="reset"]::-webkit-search-decoration , input[type="button"]::-webkit-search-decoration {
	display: none;
}

input[type="submit"]::focus , input[type="reset"]::focus , input[type="button"]::focus {
	outline-offset: -2px;
}

.container {
	position: relative;
	overflow: hidden;
}


.no_image {
	display: flex;
	font-size: 1.5em;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

/* #loader{
	display: flex;
	z-index: 9999;
	width: 100vw;
	height: 100vh;
	background: #fcfcfc;
	justify-content: center;
	align-items: center;
	transition: all 1s;
}

#loader.loaded {
	display: none;
	opacity: 0;
} */

/* ローダー */
/* #loader {
	display: flex;
	position: fixed;
	z-index: 9999;
	width: 100%;
	height: 100%;
	background: #ffffff;
	justify-content: center;
	align-items: center;
	transition: all 1s;
}
#loader img {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-ms-transform: translate(-50% , -50%);
	-webkit-transform: translate(-50% , -50%);
	max-width: 360px;
	width: 75%;
	margin: 0 auto;
}
.loaded {
	visibility: hidden;
	opacity: 0;
} */

#splash {
	/*fixedで全面に固定*/
	display: flex;
	position: fixed;
	z-index: 999;
	overflow: hidden;
	width: 100%;
	height: 100%;
	background: #ffffff;
	color: #ffffff;
	color: #000000;
	font-family: "Josefin Sans";
	text-align: center;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

#splash img {
	margin-bottom: 40px;
}

#splash p {
	margin-bottom: 10px;
	font-family: "Josefin Sans";
	font-weight: bold;
	font-size: 36px;
}

#splash_text svg {
	display: none !important;
	font-family: "Josefin Sans";
}

#splash span {
	font-family: "Josefin Sans";
	font-size: 23px;
}

@media screen and (min-width: 768px) {
	.display_mb {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.display_pc {
		display: none;
	}
}

/*******************************************************************************
	タイトル
--------------------------------------------------------------------------------
	section_title
*******************************************************************************/

.title_container {
	margin-top: 30px;
	text-align: center;
}

.page_title__h2 {
	margin-bottom: 15px;
	font-family: "Impact";
	font-size: 65px;
}

.page_title__h3 {
	position: relative;
	padding-bottom: 32px;
	color: #343434;
	font-size: 27px;
}

.page_title__h3::before {
	display: inline-block;
	position: absolute;
	bottom: 0;
	left: calc(50% - 54px);
	width: 108px;
	height: 1px;
	background-color: #000000;
	content: "";
}

@media screen and (max-width: 768px) {
	.page_title__h2 {
		margin-bottom: 10px;
		font-size: 35px;
	}

	.page_title__h3 {
		padding-bottom: 15px;
		font-size: 20px;
	}

	.page_title__h3::before {
		left: calc(50% - 35px);
		width: 70px;
	}
}

/*******************************************************************************
	共通部
--------------------------------------------------------------------------------
	適応：全部
*******************************************************************************/
/* header.php */
.fixed_position {
	position: fixed;
	left: 50%;
	z-index: 9999;
	transform: translateX(-50%);
	width: 95%;
	margin: 0 auto;
}

/* .header_container {
	padding-top: 20px;
} */
.header_contents {
	display: flex;

/* max-width: 1820px; */
	width: 95%;
	margin: 0 auto;
	justify-content: space-between;
}

.site_logo {
	max-width: 356px;
}

.site_logo img {
	width: 100%;
}

.right_menu {
	display: flex;
	max-width: 700px;
	min-width: 670px;
	width: 60%;
	height: 55px;
	justify-content: space-between;
}

@media screen and (max-width: 1120px) {
	.right_menu {
		align-items: flex-end;
	}
}

@media screen and (max-width: 1090px) {
	.right_menu {
		max-width: none;
		min-width: auto;
		width: 315px;
	}

	.right_menu .sns_link span {
		display: none;
	}

	.right_menu .sns_link a i , .right_menu .sns_link a img {
		margin-right: 0;
	}
}

@media screen and (max-width: 1120px) {
	.right_menu {
		align-items: flex-end;
	}
}

@media screen and (max-width: 768px) {
	.right_menu {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.site_logo img {
		width: 80%;
		margin: auto;
	}
}

.navToggle , .navToggle span {
	display: block;
	transition: all 0.4s;
	-moz-transition: all 0.4s;
	-webkit-transition: all 0.4s;
}

.navToggle {
	position: absolute;
	right: 0;
	width: 55px;
	height: 55px;
	border-radius: 6px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	background: #ffffff;
	text-align: center;
	cursor: pointer;
}

.navToggle span {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 25px;
	height: 2px;
	background-color: #707070;
}

.navToggle span:nth-child(1) {
	top: 17.5px;
}

.navToggle span:nth-child(2) {
	top: 50%;
	transform: translate(-50%, -50%);
}

.navToggle span:nth-child(3) {
	bottom: 17.5px;
}

.motion_union span:nth-of-type(1) {
	animation: union-bar01 0.75s forwards;
	-webkit-animation: union-bar01 0.75s forwards;
}

@-webkit-keyframes union-bar01 {
	0% {
		-webkit-transform: translateY(13.5px) rotate(30deg);
	}

	50% {
		-webkit-transform: translateY(13.5px) rotate(0);
	}

	100% {
		-webkit-transform: translateY(0) rotate(0);
	}
}

@keyframes union-bar01 {
	0% {
		transform: translateY(13.5px) rotate(30deg);
	}

	50% {
		transform: translateY(13.5px) rotate(0);
	}

	100% {
		transform: translateY(0) rotate(0);
	}
}

.motion_union span:nth-of-type(2) {
	opacity: 1;
	transition: all 0.25s 0.25s;
}

.motion_union span:nth-of-type(3) {
	animation: union-bar02 0.75s forwards;
	-webkit-animation: union-bar02 0.75s forwards;
}

@-webkit-keyframes union-bar02 {
	0% {
		-webkit-transform: translateY(-13.5px) rotate(-30deg);
	}

	50% {
		-webkit-transform: translateY(-13.5px) rotate(0);
	}

	100% {
		-webkit-transform: translateY(0) rotate(0);
	}
}

@keyframes union-bar02 {
	0% {
		transform: translateY(-13.5px) rotate(-30deg);
	}

	50% {
		transform: translateY(-13.5px) rotate(0);
	}

	100% {
		transform: translateY(0) rotate(0);
	}
}

.motion_union.active span:nth-of-type(1) {
	animation: active-union-bar01 0.75s forwards;
	-webkit-animation: active-union-bar01 0.75s forwards;
}

@-webkit-keyframes active-union-bar01 {
	0% {
		-webkit-transform: translateY(0) rotate(0);
	}

	50% {
		-webkit-transform: translateY(13.5px) rotate(0);
	}

	100% {
		-webkit-transform: translateY(13.5px) rotate(30deg);
	}
}

@keyframes active-union-bar01 {
	0% {
		transform: translateY(0) rotate(0);
	}

	50% {
		transform: translateY(13.5px) rotate(0);
	}

	100% {
		transform: translateY(13.5px) rotate(30deg);
	}
}

.motion_union.active span:nth-of-type(2) {
	opacity: 0;
}

.motion_union.active span:nth-of-type(3) {
	animation: active-union-bar03 0.75s forwards;
	-webkit-animation: active-union-bar03 0.75s forwards;
}

@-webkit-keyframes active-union-bar03 {
	0% {
		-webkit-transform: translateY(0) rotate(0);
	}

	50% {
		-webkit-transform: translateY(-13.5px) rotate(0);
	}

	100% {
		-webkit-transform: translateY(-13.5px) rotate(-30deg);
	}
}

@keyframes active-union-bar03 {
	0% {
		transform: translateY(0) rotate(0);
	}

	50% {
		transform: translateY(-13.5px) rotate(0);
	}

	100% {
		transform: translateY(-13.5px) rotate(-30deg);
	}
}

/*******************************************************************************
	共通フッター
--------------------------------------------------------------------------------
	適応：全部
*******************************************************************************/
.footer_container {
	position: relative;
	z-index: 20;
	padding-bottom: 30px;
	background-color: #ffffff;
}

.footer_contents {
	max-width: 1820px;
	width: 95%;
	margin: 0 auto;
	padding-top: 30px;
	border-top: 1px solid #707070;
	font-family: "Noto Sans JP";
}

.footer_contents-inner {
	position: relative;
	max-width: 1690px;
	width: 100%;
}

.footer_left {
	position: relative;
}

.logo_contents {
	display: flex;
	align-items: flex-start;
}

.responsive_logo {
	width: 237px;
}

.responsive_logo img {
	width: 100%;
}

.logo_contents > img {
	width: 354px;
	margin-top: 210px;
	margin-left: 35px;
}

.footer_mains {
	display: flex;
	max-width: 860px;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: flex-end;
}

.footer_supporter {
	width: 250px;
}

.footer_supporter ul {
	display: flex;
	width: 100%;
	justify-content: space-between;
}

.footer_supporter ul li {
	width: 113px;
}

.footer_supporter ul li:last-child {
	margin-left: 24px;
}

.footer_supporter img {
	width: 100%;
}

.mbyc_outline-min {
	font-weight: 500;
	font-size: 15px;
	line-height: 1.85;
}

/* .flex_table {
	display: flex;
	flex-wrap: wrap;
}
.flex_table dt {
	width: 155px;
	margin-right: 20px;
}
.flex_table dd {
	width: calc(100% - 175px);
}
.flex_table ul li::before {
	display: inline-block;
	content: "・";
} */
.footer_right {
	position: absolute;
	top: 10px;
	right: 0;
	width: 540px;
}

.footer_menu {
	margin-bottom: 35px;
}

.footer_menu ul {
	display: flex;
	height: 217px;
	flex-direction: column;
	flex-wrap: wrap;
}

.footer_menu ul li:not(:nth-child(7n+1)) {
	margin-top: 7px;
}

.footer_menu ul li:not(:nth-child(-n+7)) {
	margin-left: 42px;
}

.footer_menu a {
	color: #343434;
	font-weight: 500;
	font-size: 17px;
	transition: 0.5s ease;
}

.footer_menu a:hover {
	color: #1f5398;
	transition: 0.5s ease;
}

.footer_menu a i {
	margin-left: 6px;
	font-size: 15px;
}

.footer_download {
	font-size: 21px;
}

.footer_download p {
	font-weight: 500;
}

.footer_download a {
	max-width: 395px;
	width: 100%;
	height: 70px;
	margin-top: 10px;
	border: 1px solid;
	border-radius: 37px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	background-color: #f0f0f0;
	color: #000000;
	font-weight: bold;
	font-size: 30px;
	flex-direction: row;
}

.footer_download a i {
	margin-right: 20px;
	font-size: 32px;
}

body:not(.home) .footer_mains {
	max-width: 1190px;
}

body:not(.home) .footer_container .sns_link {
	margin-top: 30px;
}



@media screen and (min-width: 1691px) {
}

@media screen and (max-width: 1690px) {
	body:not(.home) .logo_contents > img {
		margin-top: 0;
	}

	body:not(.home) .footer_mains {
		flex-direction: column;
		align-items: flex-start;
	}

	body:not(.home) .footer_sub-links {
		margin-bottom: 10px;
	}
}

@media screen and (min-width: 1211px) and (max-width: 1410px) {
	.footer_container .sns_link ul {
		flex-wrap: wrap;
	}

	body:not(.home) .footer_container .sns_link {
		width: 400px;
	}

	body:not(.home) .footer_container .sns_link ul li:nth-child(3)::after {
		display: none;
	}

	body:not(.home) .footer_container .sns_link ul li:not(:nth-child(-n+3)) {
		margin-top: 5px;
	}

	body:not(.home) .footer_container .flex_table {
		flex-direction: column;
	}

	body:not(.home) .footer_container .flex_table dd {
		width: 100%;
	}

	body:not(.home) .logo_contents > img {
		width: 200px;
	}

	body:not(.home) .footer_supporter {
		width: 214px;
	}

	body:not(.home) .footer_supporter ul li {
		width: 95px;
	}

	body:not(.home) .footer_container .sns_link {
		margin-top: 5px;
	}
}


@media screen and (min-width: 1396px) {
	.home .footer_mains {
		align-items: flex-end;
	}

	.home .footer_container .flex_table dd {
		width: calc(100% - 180px);
	}
}

@media screen and (min-width: 1211px) and (max-width: 1395px) {
	.home .logo_contents > img {
		margin-top: 0;
	}

	.home .footer_mains {
		max-width: 595px;
		flex-direction: column;
		align-items: flex-start;
	}

	.home .footer_sub-links {
		margin-bottom: 10px;
	}

	.home .footer_container .flex_table {
		flex-direction: column;
	}

	.home .footer_container .flex_table dd {
		width: 100%;
	}
}

@media screen and (max-width: 1210px) {
	.footer_contents-inner {
		display: flex;
		flex-direction: column-reverse;
	}

	.home .footer_sub-links {
		margin-bottom: 10px;
	}

	.footer_right {
		position: relative;
		margin: 0 auto 60px;
	}

	body:not(.home) .footer_left {
		max-width: 870px;
		width: 100%;
		margin: 0 auto;
	}
}

@media screen and (max-width: 1200px) {
	.home .logo_contents > img {
		margin-top: 45px;
	}

	.home .footer_mains {
		max-width: 595px;
		flex-direction: column;
		align-items: flex-start;
	}

	.home .footer_left {
		max-width: 865px;
		width: 100%;
		margin: 0 auto;
	}
}

@media screen and (max-width: 930px) {
	body:not(.home) .footer_container .flex_table {
		flex-direction: column;
	}

	body:not(.home) .footer_container .flex_table dd {
		width: 100%;
	}

	body:not(.home) .footer_left {
		max-width: 695px;
	}

	body:not(.home) .logo_contents > img {
		width: 200px;
	}

	body:not(.home) .footer_supporter {
		width: 214px;
	}

	body:not(.home) .footer_supporter ul li {
		width: 95px;
	}

	body:not(.home) .footer_container .sns_link {
		margin-top: 5px;
	}
}


@media screen and (max-width: 924px) {
	.home .logo_contents > img {
		margin-top: 0;
	}

	.home .footer_container .flex_table {
		flex-direction: column;
	}

	.home .footer_container .flex_table dd {
		width: 100%;
	}

	.home .footer_left {
		max-width: 695px;
	}
}

@media screen and (min-width: 768px) {
	.footer_mains {
		position: absolute;
		bottom: 0;
		left: 270px;
	}

	.home .footer_container .sns_link {
		display: none;
	}

	.mbyc_outline-min span.display_pc {
		display: block;
	}

	.sns_link a i , .sns_link a img {
		margin-right: 10px;
	}

	.sns_link a {
		display: flex;
		color: #343434;
		font-size: 16px;
		align-items: center;
	}

	.sns_link a i {
		font-size: 20px;
	}

	.sns_link a img {
		width: 20px;
	}

	@media screen and (max-width: 930px) {
		.footer_container .sns_link ul {
			flex-wrap: wrap;
		}

		body:not(.home) .footer_container .sns_link {
			width: 400px;
		}

		body:not(.home) .footer_container .sns_link ul li:nth-child(3)::after {
			display: none;
		}

		body:not(.home) .footer_container .sns_link ul li:not(:nth-child(-n+3)) {
			margin-top: 5px;
		}
	}
}

.top-pc_sns .sns_link {
	display: block;
	max-width: 690px;
	margin: auto;
	margin-top: 30px;
}

.top-pc_sns .sns_link span {
	/* display: none; */
}

.top-pc_sns .sns_link a i {
	font-size: 30px;
}

.top-pc_sns .sns_link a img {
	width: 30px;
}

.top-pc_sns .sns_link ul li::after {
	font-size: 22px;
}

@media screen and (max-width: 768px) {
	.top-pc_sns .sns_link {
		max-width: 330px;
	}

	.sns_link span {
		display: none;
	}

	.sns_link a i {
		font-size: 30px;
	}
}

@media screen and (max-width: 767px) {
	.footer_container {
		padding-right: 20px;
		padding-bottom: 5px;
		padding-left: 20px;
	}

	.footer_contents {
		width: 100%;
	}

	.footer_right {
		max-width: 330px;
		width: 100%;
		margin-bottom: 30px;
	}

	.footer_menu ul {
		height: 240px;
	}

	.footer_menu {
		margin-bottom: 30px;
	}

	.footer_menu ul li:not(:nth-child(-n+7)) {
		margin-left: 0px;
	}

	.footer_menu ul li:not(:nth-child(7n+1)) {
		margin-top: 12px;
	}

	.footer_menu a {
		font-size: 13px;
	}

	.footer_menu a i {
		font-weight: bold;
		font-size: 10px;
	}

	.footer_mains {
	}

	.footer_download {
		font-size: 14px;
		text-align: center;
	}

	.footer_download a {
		max-width: 290px;
		height: 50px;
		margin: 10px auto 0;
		font-size: 21px;
	}

	.footer_download a i {
		margin-right: 15px;
		font-size: 23px;
	}

	.footer_left {
		max-width: 330px !important;
		margin: 0 auto !important;
	}

	.logo_contents {
		margin-bottom: 10px;
		align-items: center;
	}

	.responsive_logo {
		max-width: 159px;
		width: 54%;
	}

	.logo_contents > img {
		max-width: 155px;
		width: 45% !important;
	}

	.footer_sub-links {
		width: 100%;
		margin-bottom: 20px !important;
	}

	.footer_supporter {
		max-width: 305px;
		width: 100% !important;
		margin: 0 auto;
	}

	.footer_supporter ul li {
		max-width: 140px;
		width: 45.9017% !important;
	}

	.mbyc_outline-min {
		font-size: 10px;
		line-height: 1.8;
	}

	.footer_container .sns_link {
		margin-top: 15px !important;
	}

	.sns_link ul {
		justify-content: space-between;
	}

	.sns_link ul li::after {
		font-size: 22px;
	}

	.sns_link a img {
		width: 30px;
	}

	@media screen and (max-width: 370px) {
		.footer_menu ul {
			height: auto;
		}

		.sns_link ul li::after {
			margin: 0 2.2753vw !important;
			font-size: 5.9433vw;
		}
	}
}

@media screen and (max-width: 490px) {
	.footer_menu a {
		font-size: 12px;
	}
}

.sns_link ul {
	display: flex;
	align-items: center;
}

.sns_link ul li {
	display: inline-flex;
}

.sns_link ul li::after {
	margin: 0 10px;
	content: "／";
}

.sns_link ul li:last-child::after {
	display: none;
}


.sns_link a i.icon-instagram {
	background: linear-gradient(45deg, rgba(254, 212, 117, 1) 0%, rgba(229, 61, 93, 1) 50%, rgba(194, 49, 134, 1) 70%, rgba(156, 56, 187, 1) 100%);

	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

/*******************************************************************************
	共通部
--------------------------------------------------------------------------------
	適応：全部
*******************************************************************************/
.common_title {
	margin-bottom: 35px;
	font-size: 39px;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.common_title {
		font-size: 25px;
	}
}

/*******************************************************************************
	ヘッダー
--------------------------------------------------------------------------------
	ハンバーガーメニュー
*******************************************************************************/

.btn {
	display: flex;
	position: fixed;
	top: 20px;
	right: 3%;
	z-index: 45;
	width: 55px;
	height: 55px;
	border-radius: 6px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	background-color: #ffffff;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}

.btn.open {
	background-color: #656565;
}

.btn.open span {
	background-color: #ffffff;
}

.btn span {
	display: inline-block;
	position: absolute;
	width: 50%;
	height: 2px;
	box-sizing: border-box;
	background-color: #707070;
	transition: all 0.4s;
}

.btn span:nth-child(1) {
	top: 17.5px;
}

.btn span:nth-child(2) {
	top: 0;
	bottom: 0;
	margin: auto;
}

.btn span:nth-child(3) {
	bottom: 17.5px;
}

.btn.open span:nth-child(1) {
	top: 22px;
}

.btn.open span:nth-child(2) {
	display: none;
}

.btn.open span:nth-child(3) {
	bottom: 22px;
}

.hamburger_bg {
	position: fixed;
	top: 0;
	right: -120%;
	bottom: 0;
	z-index: 20;

/* opacity: 0; */
	/* visibility: hidden; */
	width: 100%;
	height: 100vh;

/* will-change: opacity; */
	/* -webkit-transition: opacity .5s cubic-bezier(.215, .61, .355, 1); */
	/* transition: opacity .5s cubic-bezier(.215, .61, .355, 1); */
	background-color: #ffffff;
	transition: all 1s;
}

.hamburger_bg.active {
	/* opacity: 1; */
	/* visibility: visible; */
	/* -webkit-transition: opacity .5s cubic-bezier(.215, .61, .355, 1);
    transition: opacity .5s cubic-bezier(.215, .61, .355, 1); */
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;

/* left: 0; */
	z-index: 30;
	width: 100%;
	height: 100vh;
	background-color: #ffffff;
	transition: all 1s;
}

.header_menu_container {
	width: 100vw;
	height: 100%;

/* background-image: url(./images/hamburger_character.png); */
	background-repeat: no-repeat;
	background-position-x: 104%;
	background-position-y: 131%;
}

.hamburger_inner {
	position: relative;
}

.heading_title_h1 {
	position: absolute;
	top: 20px;
	left: 50px;

/* display: none; */
	max-width: 355px;
}

.heading_title_h1 img {
	width: 100%;
}

.link_list_container {
	max-width: 1305px;
	margin: auto;
	padding-top: 7.5525%;
}

.hamburger_page_link {
	width: 90%;
	margin: auto;
}

.link_text_wrap {
	margin-bottom: 50px;
}

.link_list_wrap {
	width: calc(100% / 2);
}

.link_text_wrap a {
	color: #000000;
}

.link_list_wrap.left__ul {
	float: left;
}

.link_list_wrap.right__ul {
	float: right;
}

.link_text_wrap a {
	display: block;
	position: relative;
}

.link_text_wrap a .text_ja {
	position: relative;
	z-index: 30;
	padding-left: 20px;
	font-family: "Noto Sans JP";
	font-weight: 700;
	font-size: 23px;
	transition: all 0.5s ease;
}

.link_text_wrap a .text_en {
	position: absolute;
	top: -40px;
	left: 70px;
	z-index: 25;
	color: #f4f4f4;
	font-family: "Impact";
	font-weight: normal;

/* font-style: italic; */
	font-size: clamp(1.875rem, -0.027rem + 3.96vw, 3.688rem);
	transition: all 0.5s ease;
}

.link_text_wrap a:hover .text_ja {
	color: #1f5398;
	transition: all 0.5s ease;
}

.link_text_wrap a:hover .text_en {
	color: #1f5398;
	opacity: 0.2;
	transition: all 0.5s ease;
}

.link_text_wrap a .icon-header_icon_right:before {
	font-size: 28px;
	transition: all 0.5s ease;
}

.link_text_wrap a:hover .icon-header_icon_right:before {
	color: #1f5398;
	transition: all 0.5s ease;
}

.hamburger_page_link {
	position: relative;
	max-width: 1200px;
	margin: auto;
}

@media screen and (min-width: 1071px) {
	.hamburger_page_link a {
		position: absolute;
		top: -20px;
		right: 0;
	}
}

.header_flex {
	display: flex;
	max-width: 1820px;
	margin: auto;
}

@media screen and (max-width: 1840px) {
	.header_flex {
		padding-left: 20px;
	}
}

.hamburger_page_link img {
	max-width: 602px;
	width: 100%;
	margin-left: auto;
}

.header_logo_flex {
	margin-right: 45px;
}

.header_logo_flex img {
	max-width: 147px;
}

.logo_flex_left , .logo_flex_right {
	max-width: 100%;
	height: 100%;
}

.logo_flex_right {
	margin-left: 45px;
}

.display_768 {
	display: none;
}

.header_flex_container {
	display: flex;
	max-width: 1300px;
	align-items: flex-end;
}

.header_title_text img {
	max-width: 250px;
}

.header_title_flex_mb {
	display: none;
}

.header_contents {
	position: relative;
	z-index: 1;

/* max-width: 1820px; */
	width: 95%;
	margin: auto;
	padding-top: 20px;
	padding-bottom: 30px;
}

.address_container {
	font-size: 15px;
	line-height: 2;
}

.header_flex .flex_table {
	display: flex;
	font-size: 15px;
	line-height: 2;
	flex-wrap: wrap;
}

.header_flex .flex_table dt {
	width: 155px;
	margin-right: 25px;
}

.header_flex .flex_table dd {
	width: calc(100% - 180px);
}

.header_flex .flex_table ul li::before {
	display: inline-block;
	content: "・";
}

.icon-header_icon_right:before {
	content: "\e900";
}

@media screen and (max-width: 1340px) {
	.logo_flex_left {
		width: 90px;
	}

	.logo_flex_right {
		width: 220px;
		margin-left: 20px;
	}
}

@media screen and (max-width: 920px) {
	.footer_logo_flex {
		justify-content: center;
	}
}

@media screen and (max-width: 768px) {
	.page_title__h1 {
		position: absolute;
		right: 0;
		left: 0;
		max-width: 100%;
	}

	.header_contents {
		padding-bottom: 15px;
		justify-content: center;
	}

	.web_page_link_button {
		position: relative;
		margin-top: 20px;
	}

	.hamburger_bg.active {
		overflow: scroll;
	}

	.header_menu_container {
		background: none;
	}

	.heading_title_h1 {
		display: block;
		position: relative;
		top: auto;
		left: auto;
		max-width: 335px;
		width: 100%;
		margin: auto;
		margin-top: 25px;
	}

	.link_list_container {
		max-width: 100%;
		margin-right: auto;
		margin-left: auto;
		padding-left: 30px;
	}

	.link_list_wrap {
		width: 100%;
	}

	.link_list_wrap.left__ul {
		float: none;
	}

	.link_list_wrap.right__ul {
		float: none;
	}

	.link_text_wrap {
		margin-bottom: 25px;
	}

	.link_text_wrap a .icon-header_icon_right:before {
		font-size: 17px;
	}

	.link_text_wrap a .text_ja {
		padding-left: 15px;
		font-size: 14px;
	}

	.link_text_wrap a .text_en {
		top: -15px;
		left: 40px;
		/*font-size: 30px;*/
	}

	.header_flex_left {
		width: 90%;
		margin: auto;
	}

	.header_logo_flex {
		justify-content: center;
	}

	.hamburger_page_link {
		margin-bottom: 15px;
	}

	.hamburger_page_link a {
		position: relative;
		top: 0;
	}

	.header_flex {
		width: 90%;
		margin: 0 auto;
	}

	.header_left {
		display: none;
	}

	.display_768 {
		display: block;
		max-width: 110px;
		margin-left: 10px;
	}

	.logo_flex_right {
		margin-left: 5px;
	}

	.header_title_text {
		display: none;
	}

	.header_title_flex_mb {
		display: flex;
		align-items: center;
	}

	.header_title_flex_mb img {
		width: calc(100% / 2 - 20px);
		height: 100%;
	}

	.header_title_flex_mb img:first-of-type {
		margin-right: 10px;
	}

	.header_title_flex_mb img:last-of-type {
		margin-left: 10px;
	}

	.address_container {
		margin-top: 20px;
	}

	.header_flex .flex_table dd {
		width: 100%;
	}

	.address_container {
		font-size: 12px;
		line-height: 1.6;
	}

	.header_flex .flex_table {
		font-size: 12px;
		line-height: 1.6;
	}
}

@media screen and (max-width: 767px) {
	.btn {
		top: auto;
		right: 20px;
		bottom: 15px;
	}
}

@media screen and (max-width: 500px) {
	.logo_flex_left {
		width: 44px;
		height: 44px;
	}

	.logo_flex_right {
		width: 163px;
	}
}
