@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Josefin+Sans:400,700");
@import url("https://fonts.googleapis.com/css?family=Roboto:400,500,700,900");
.l-content-inner {
		width: 1100px;
		max-width: 100%;
		margin: auto auto auto;
}
@media screen and (max-width: 768px) {
		.l-content-inner {
				width: 100%;
				padding: 0 20px;
		}
}

.m-narrow {
		width: 1000px;
		max-width: 100%;
		margin: auto auto auto;
}

/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/
html, body {
		height: 100%;
}

html {
		font-size: 62.5%;
		overflow-y: scroll;
}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form {
		margin: 0;
		padding: 0;
		border: none;
		line-height: 100%;
		list-style-type: none;
		font-style: normal;
		font-weight: normal;
		font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", MS PGothic, sans-serif;
		font-weight: 500;
		text-align: justify;
		color: #222;
}

input, button, textarea, select {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		border: none;
		border-radius: 0;
		resize: none;
		outline: none;
		background: none;
		font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", MS PGothic, sans-serif;
}

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

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

a {
		color: #222;
		text-decoration: none;
}

.fade {
		-webkit-transition: opacity 0.3s ease;
		transition: opacity 0.3s ease;
}

.fade:hover {
		opacity: 0.6;
		cursor: pointer;
}

img {
		vertical-align: bottom;
		max-width: 100%;
		height: auto;
}

.en {
		font-family: "Josefin Sans", sans-serif;
		font-weight: 700;
}

/*英語ページ*/
.en_page body,
.en_page h1,
.en_page h2,
.en_page h3,
.en_page h4,
.en_page h5,
.en_page h6,
.en_page p,
.en_page address,
.en_page ul,
.en_page ol,
.en_page li,
.en_page dl,
.en_page dt,
.en_page dd,
.en_page table,
.en_page th,
.en_page td,
.en_page img,
.en_page form {
		font-family: "Roboto", sans-serif;
		font-weight: 400;
		word-wrap: break-word;
		word-break: normal;
		text-align: left;
}

.en_page .en {
		font-family: "Josefin Sans", sans-serif;
		font-weight: 700;
}

/* ------------------------------
    base
------------------------------ */
body {
		min-width: 1100px;
		width: 100%;
		-webkit-text-size-adjust: 100%;
		word-break: break-all;
		word-wrap: break-word;
}

main {
		display: block;
		padding-top: 100px;
}

section {
		position: relative;
}

p, dt, dd, th, td, li {
		font-size: 1.6rem;
		line-height: 1.625;
}

.flex {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
}

.left {
		float: left;
}

.right {
		float: right;
}

.center,
.en_page .center {
		display: block;
		text-align: center;
		margin-left: auto;
		margin-right: auto;
}

.a_right {
		text-align: right;
}

.a_center {
		text-align: center;
}

.hv-center {
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%) translateZ(0);
		        transform: translate(-50%, -50%) translateZ(0);
}

.txt_small {
		font-size: 1.2rem;
}

.txt_blue {
		color: #00b9cd;
}

.bold,
.en_page .bold{
		font-weight: bold;
}

.bg_g {
		background: #EFF1F5;
}

.wrap {
		width: 1000px;
		margin: 0 auto;
		position: relative;
}

.fixed {
		position: fixed;
		top: 0;
		padding: 0;
		width: 100%;
		z-index: 1000;
}

.aligncenter {
		display: block;
		margin: 0 auto;
}

.alignright {
		float: right;
}

.alignleft {
		float: left;
}

.mb40 {
		margin-bottom: 40px;
}

#contents {
		margin-bottom: 150px;
}

@media screen and (min-width: 769px) {
		.mincho {
				font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
		}
		.sp {
				display: none !important;
		}
}
@media screen and (max-width: 768px) {
		.pc {
				display: none !important;
		}
		body {
				min-width: inherit;
		}
		main {
				padding-top: 50px;
		}
		body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form {
				font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, sans-serif;
				font-weight: normal;
		}
		input, button, textarea, select {
				font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, sans-serif;
				font-weight: normal;
		}
		p, dt, dd, th, td, li {
				font-size: 1.2rem;
				line-height: 1.416;
		}
		.wrap {
				width: 100%;
				padding: 0 5%;
		}
		.sp_center {
				left: 50%;
				-webkit-transform: translateX(-50%);
				        transform: translateX(-50%);
		}
		.mb40 {
				margin-bottom: 25px;
		}
		#contents {
				margin-bottom: 75px;
		}
}
/* ------------------------------
    parts
------------------------------ */
/*画像拡大*/
.scaleImg .img {
		overflow: hidden;
}

.scaleImg .img img {
		-webkit-transition: 0.3s;
		transition: 0.3s;
}

/*link_txt*/
.link_txt {
		position: relative;
		display: inline-block;
}

/* btn */
.btn {
		position: relative;
		/*	display: block;*/
}

/*
.btn{
	position: relative;
	display: inline-block;
}
*/
.btn .arw {
		position: absolute;
		right: -24px;
		z-index: 3;
		top: 50%;
}

.btn .arw::before,
.btn .arw::after {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto;
		content: "";
		vertical-align: middle;
}

.btn .arw::before {
		width: 51px;
		height: 1px;
		background: #3d4975;
}

.btn .arw::after {
		right: 2px;
		top: 1px;
		width: 10px;
		height: 10px;
		border-top: 1px solid #3d4975;
		-webkit-transform: rotate(35deg);
		transform: rotate(35deg);
}

.btn .arw.s {
		right: -20px;
}

.btn .arw.s::before {
		width: 41px;
}

.btn a {
		display: block;
		position: relative;
		font-weight: bold;
		text-align: center;
		line-height: 1.25;
		-webkit-transition: all 0.5s ease;
		transition: all 0.5s ease;
		overflow: hidden;
		z-index: 1;
		padding: 19px 0;
		border: 1px solid #222;
		font-size: 1.6rem;
		width: 100%;
}

.btn a.font_l {
		font-size: 1.8rem;
		padding: 23px 0;
}

.btn a::before {
		content: "";
		width: 100%;
		height: 100%;
		left: -100%;
		top: 0;
		position: absolute;
		-webkit-transition: all 0.5s ease;
		transition: all 0.5s ease;
		z-index: -1;
}

.btn.black a::before {
		background: #fff;
}

.btn.white a::before {
		background: #222;
}

.btn.black a {
		background: #3d4975;
		color: #fff;
		border: 1px solid #3d4975;
}

.btn.white a {
		background: #fff;
}

.btn.lines:not(.-spadj) a {
		padding: 10px 0 8px;
}

.btn.blank {
		width: 256px;
		margin-top: 30px;
}

.btn.blank a {
		padding: 9px 15px 9px 0;
		font-size: 1.4rem;
}

.btn.blank a::after {
		content: "";
		display: inline-block;
		width: 17px;
		height: 14px;
		background: url(../img/group/icon_sitebtn.png) no-repeat center/17px 14px;
		vertical-align: top;
		margin-left: 10px;
}

@media screen and (min-width: 769px) {
		.scaleImg:hover .img > img {
				-webkit-transform: scale(1.1);
				        transform: scale(1.1);
		}
		.link_txt::before {
				position: absolute;
				bottom: 0;
				left: 50%;
				content: "";
				width: 0;
				height: 1px;
				background-color: #222;
				-webkit-transition: 0.3s;
				transition: 0.3s;
				-webkit-transform: translateX(-50%);
				        transform: translateX(-50%);
		}
		.link_txt:hover::before {
				width: 100%;
		}
		.btn a:hover::before {
				left: 0;
		}
		.btn.black a:hover {
				color: #222;
		}
		.btn.white a:hover {
				color: #fff;
		}
		.ie .btn a {
				padding: 22px 0 16px;
		}
		.ie .btn a.font_l {
				padding: 26px 0 20px;
		}
		.ie .btn.lines a {
				padding: 12px 0 6px;
		}
}
@media screen and (max-width: 768px) {
		.btn .arw {
				right: -14px !important;
		}
		.btn .arw.s::before,
.btn .arw.m::before {
				width: 30px;
		}
		.btn .arw.s::after,
.btn .arw.m::after {
				width: 6px;
				height: 6px;
		}
		.btn a {
				font-size: 1.1rem;
				padding: 10px 0;
		}
		.btn a.font_l {
				font-size: 1.1rem;
				padding: 12.5px 0;
		}
		.btn.lines a {
				padding: 4px 0 3px !important;
		}
		.btn.blank {
				width: 190px;
				margin-top: 15px;
		}
		.btn.blank a {
				padding: 7px 10px 7px 0;
				font-size: 1.1rem;
		}
}
/* ------------------------------
		breadcrumb
------------------------------ */
.breadcrumb {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
		margin-bottom: 110px;
}

.breadcrumb li,
.breadcrumb li a {
		font-size: 1.2rem;
		font-weight: bold;
		position: relative;
		line-height: 1.3;
}

.breadcrumb li {
		padding-right: 44px;
}

.breadcrumb li a {
		color: #919191;
}

.breadcrumb li a.link_txt::before {
		background-color: #919191;
}

.breadcrumb li:not(:last-child)::after {
		content: "";
		position: absolute;
		top: 6px;
		right: 18px;
		width: 12px;
		height: 1px;
		background: #919191;
}

/* ------------------------------
		pagettl
------------------------------ */
#pagettl {
		position: relative;
		padding: 105px 0;
		margin-bottom: 20px;
}

#pagettl .txt_pagettl {
		position: relative;
		text-align: center;
}

#pagettl .txt_pagettl .en {
		font-size: 4.6rem;
		letter-spacing: 0.05em;
		display: inline-block;
		line-height: 46px;
}

#pagettl .txt_pagettl .ja {
		display: inline-block;
		font-weight: bold;
		font-size: 1.8rem;
		margin-top: 10px;
		line-height: 1;
}

#pagettl.bgoverlay::before{
		content: "";
		width: 100%;
		height: 100%;
		background-color: rgba(61, 74, 118,.3);
		position: absolute;
		left: 0;
		top: 0;
}

body:not(.en_page) #pagettl .txt_pagettl .en {
		font-size: 2.5rem;
		line-height: 1.2;
		margin-top: 10px;
}

body:not(.en_page) #pagettl .txt_pagettl .ja {
		font-size: 4rem;
		margin-top: 0;
}

@media screen and (max-width: 768px) {
	#pagettl {
		padding: 66px 0;
		background-size: cover;
		background-position: left bottom;
		margin-bottom: 50px;
	}

	#pagettl .txt_pagettl .en {
		font-size: 2.3rem;
		line-height: 1;
	}

	#pagettl .txt_pagettl .ja {
		font-size: .9rem;
		margin-top: 5px;
	}

	body:not(.en_page) #pagettl .txt_pagettl .en {
		font-size: 1.25rem;
		margin-top: 8px;
	}

	body:not(.en_page) #pagettl .txt_pagettl .ja {
		font-size: 2rem;
		margin-top: 0;
	}
}

/* ----------------------------------------------------------------------------------------------------
*  ヘッダー
* --------------------------------------------------------------------------------------------------*/
header {
		height: 100px;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		/*	padding: 0 0 0 2% ;*/
		background: #fff;
		z-index: 999;
}

header .h_wrap.flex {
		width: 100%;
		max-width: 100%;
/*		min-width: 1050px;*/
		min-width: 1100px;
		margin: auto;
		height: 100%;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		padding: 0 0 0 2%;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
}

header .logo a {
		display: block;
}

header .logo img {
		width: 195px;
}

/*h_right*/
header .h_right {
		width: auto;
		position: relative;
		padding: 20px 137px 0 0;
		height: 100%;
}

/*
header .h_right .instagram {
	width: 19px;
	position: absolute;
	right: 140px;
	top: 14px;
}
header .h_right .instagram a{
	display: block;

}
*/
header .h_right .menu2 {
		-webkit-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: flex-end;
		margin-right: 9px;
}

header .h_right .menu2 li {
		position: relative;
		padding: 0 19px 0 20px;
}

header .h_right .menu2 li + li:before {
		content: "";
		width: 1px;
		height: 11px;
		background-color: #8E8E8E;
		display: block;
		position: absolute;
		top: 3px;
		left: 0;
}

header .h_right .menu2 li a {
		display: block;
		font-weight: bold;
		color: #8E8E8E;
		font-size: 1.2rem;
}

header .h_right .menu2 li a:before {
		background: #8E8E8E;
		height: 1px;
}

/*
header .h_right .menu2 li.andcook{
	padding-left: 0;
}
*/
header .h_right .menu2 li.andcook:before {
		display: none;
}

header .h_right .menu2 li.andcook a img {
		width: 190px;
		display: block;
}

header .h_right .menu2 li.instagram {
		padding-left: 0;
}

header .h_right .menu2 li.instagram:before {
		display: none;
}

header .h_right .menu2 li.instagram a img {
		width: 19px;
		display: block;
		margin-top: -2px;
}

header .h_right .contact_menu {
		position: absolute;
		right: 0;
		top: 0;
		width: 137px;
		height: 100px;
		text-align: center;
}

header .h_right .contact_menu a {
		display: block;
		color: #fff;
		background: #3d4975;
		border: 2px solid #3d4975;
		font-weight: bold;
		height: 100px;
		line-height: 96px;
		position: relative;
		-webkit-transition: all 0.5s ease;
		transition: all 0.5s ease;
		overflow: hidden;
		z-index: 1;
}

header .h_right .contact_menu a::before {
		content: "";
		width: 100%;
		height: 100%;
		left: -100%;
		top: 0;
		background: #fff;
		position: absolute;
		-webkit-transition: all 0.5s ease;
		transition: all 0.5s ease;
		z-index: -1;
}

/* ------------------------------
    nav
------------------------------ */
.header_nav .main_menu {
		-webkit-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: flex-end;
		margin-top: 16px;
		margin-right: 3px;
}

.header_nav .main_menu > li {
		height: 28px;
		line-height: 28px;
		margin: 0 25px;
}

.header_nav .main_menu > li > a {
		display: block;
		font-weight: bold;
		padding-bottom: 18px;
}

.header_nav .main_menu > li > a.link_txt::before {
		bottom: 18px;
		height: 3px;
		background-color: #3d4975;
}

.header_nav .main_menu > li.menu_open.active > a.link_txt::before {
		width: 100%;
}

.header_nav .main_menu > li.menu_open.active > a::after {
		content: "";
		position: absolute;
		border-right: 6px solid transparent;
		border-bottom: 10px solid #232323;
		border-left: 6px solid transparent;
		bottom: 0;
		left: 50%;
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
}

.header_nav .main_menu > li.current > a.link_txt::before {
		width: 100%;
}

/*sub_menu*/
.header_nav .sub_menu {
		background: #303030;
		position: absolute;
		top: 100px;
		right: 50vw;
		width: 100vw;
		min-width: 1000px;
		z-index: 1001;
		text-align: left;
		-webkit-transition: max-height 0.5s ease;
		transition: max-height 0.5s ease;
		-webkit-transform: translateX(50vw);
		        transform: translateX(50vw);
		max-height: 0;
		overflow: hidden;
}

.header_nav .sub_menu.active_sub {
		max-height: 310px;
}

.header_nav .sub_menu .wrap {
		padding: 40px 0 60px;
}

.header_nav .sub_menu .sub_nav {
		width: 100%;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		margin-bottom: 37px;
}

.header_nav .sub_menu .sub_nav li {
		width: 173px;
}

.header_nav .company .sub_menu .sub_nav li {
		width: 227px;
}

.header_nav .sub_menu .sub_nav li a .link_txt::before {
		background-color: #fff;
}

.header_nav .sub_menu .sub_nav li a:hover .link_txt::before {
		width: 100%;
}

.header_nav .sub_menu .sub_nav li a p {
		color: #fff;
		font-size: 1.4rem;
		position: relative;
		padding-left: 20px;
		white-space: nowrap;
		margin-top: 4px;
}

.header_nav .sub_menu .sub_nav li a p::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 10px;
		height: 3px;
		background: #3d4975;
		margin-top: -2px;
}

.header_nav .sub_menu .wide_btn {
		display: block;
		width: 100%;
		max-width: 100%;
		height: 60px;
		background: #222;
		border: 2px solid;
		position: absolute;
		left: 0;
		bottom: 0;
		text-align: center;
		overflow: hidden;
		z-index: 1;
}

.header_nav .sub_menu .wide_btn::before {
		content: "";
		width: 100%;
		height: 100%;
		top: -100%;
		left: 0;
		background: #fff;
		position: absolute;
		-webkit-transition: all 0.5s ease;
		transition: all 0.5s ease;
		z-index: -1;
}

.header_nav .sub_menu .wide_btn span.btn {
		color: #fff;
		font-weight: bold;
		font-size: 1.8rem;
		line-height: 56px;
}

.header_nav .sub_menu .wide_btn .btn {
		max-width: 190px;
}

.header_nav .sub_menu .wide_btn .btn .arw {
		right: -36px;
}

.header_nav .sub_menu .wide_btn .btn .arw:before {
		width: 24px;
}

@media screen and (max-width: 1160px) {
		header .logo img {
				width: 162px;
		}
		header .h_right .menu2 li {
				padding: 0 11px 0 12px;
		}
}
@media screen and (min-width: 769px) {
		header .h_right .contact_menu a:hover {
				color: #3d4975;
		}
		header .h_right .contact_menu a:hover::before {
				left: 0;
		}
		.header_nav .sub_menu .wide_btn:hover .btn {
				color: #222;
		}
		.header_nav .sub_menu .wide_btn:hover::before {
				top: 0;
		}
		.ie header .h_right .contact_menu a {
				line-height: 102px;
		}
		.ie .header_nav .sub_menu .sub_nav li a p {
				padding-top: 4px;
		}
		.ie .header_nav .sub_menu .wide_btn span.btn {
				padding-top: 5px;
				line-height: 62px;
		}
}
@media screen and (max-width: 768px) {
		header {
				height: 50px;
				padding: 0;
		}
		header .h_wrap.flex {
				max-width: inherit;
				min-width: inherit;
				height: 100%;
				padding: 0 3%;
		}
		header .logo a {
				display: block;
		}
		header .logo a img {
				width: auto;
				height: 36px;
		}
		/*h_right*/
		header .h_right.sp {
				width: auto;
				padding: 0;
		}
		header .h_right.sp .mail {
				margin-left: 10px;
		}
		header .h_right.sp .andcook {
				/*		display: none;*/
				width: 106px;
				height: 36px;
				position: absolute;
				right: calc(3% + 90px);
				top: 7px;
		}
		header .h_right.sp .andcook a {
				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;
				width: 100%;
				height: 100%;
				padding: 0 10px;
				background: #d6d6d6;
		}
		header .h_right.sp .andcook a img {
				width: 100%;
				height: auto;
		}
		header .h_right.sp .instagram {
				width: 50px;
				height: 50px;
				position: absolute;
				right: calc(3% + 35px);
				top: 0;
		}
		header .h_right.sp .instagram a {
				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;
				width: 100%;
				height: 100%;
		}
		header .h_right.sp .instagram a img {
				width: 32px;
				height: auto;
		}
		header .toggle {
				display: block;
				position: absolute;
				top: 0;
				right: 3%;
				width: 25px;
				height: 50px;
				z-index: 1001;
		}
		header .toggle span {
				display: inline-block;
				-webkit-transition: all 0.4s;
				transition: all 0.4s;
				position: absolute;
				right: 0;
				width: 25px;
				height: 2px;
				background-color: #3d4975;
		}
		header .toggle span:nth-of-type(1) {
				top: 30%;
		}
		header .toggle span:nth-of-type(2) {
				top: 50%;
				margin-top: -1px;
		}
		header .toggle span:nth-of-type(3) {
				width: 15px;
				bottom: 30%;
		}
		header .toggle.toggle_active span:nth-of-type(1) {
				top: 26px;
				-webkit-transform: rotate(45deg);
				        transform: rotate(45deg);
		}
		header .toggle.toggle_active span:nth-of-type(2) {
				opacity: 0;
		}
		header .toggle.toggle_active span:nth-of-type(3) {
				width: 25px;
				bottom: 22px;
				-webkit-transform: rotate(-45deg);
				        transform: rotate(-45deg);
		}
		/* ------------------------------
				nav
		------------------------------ */
		.nav_sp_wrap {
				position: fixed;
				top: 50px;
				left: 0;
				display: none;
				width: 100%;
				height: calc(100% - 50px);
				background: #333;
				overflowinstafeed: auto;
				z-index: 9999;
				overflow-y: scroll !important;
				-webkit-overflow-scrolling: touch;
		}
		.nav_sp > li {
				position: relative;
		}
		.nav_sp > li > a {
				position: relative;
				display: block;
				height: 50px;
				line-height: 50px;
				font-size: 1.5rem;
				color: #fff;
				font-weight: bold;
				border-bottom: 1px solid #898989;
				padding: 0 6%;
		}
		.nav_sp > li.acd > .acd-btn {
				width: calc(50px + 6%);
				height: 50px;
				position: absolute;
				top: 0;
				right: 0;
				z-index: 10;
				padding-right: 6%;
		}
		.nav_sp > li.acd > .acd-btn:after {
				content: "";
				position: absolute;
				top: calc(50% - 1px);
				right: calc(50% - 10px);
				z-index: 1;
				width: 20px;
				height: 1px;
				background: #fff;
				-webkit-transition: all 0.5s ease-out;
				transition: all 0.5s ease-out;
				-webkit-transform: rotate(0);
				        transform: rotate(0);
		}
		.nav_sp > li.acd > .acd-btn:before {
				content: "";
				position: absolute;
				top: calc(50% - 10px);
				right: calc(50% - 1px);
				z-index: 2;
				width: 1px;
				height: 20px;
				background: #fff;
				-webkit-transition: all 0.5s ease-out;
				transition: all 0.5s ease-out;
		}
		.nav_sp > li.acd > .acd-btn.sub_nav_open:after {
				background-color: rgba(255, 255, 255, 0);
		}
		.nav_sp > li.acd > .acd-btn.sub_nav_open:before {
				-webkit-transform: rotate(90deg);
				        transform: rotate(90deg);
				background: #fff;
		}
		.nav_sp > li:not(.acd) > a:after,
.h_contact li a:after {
				content: "";
				position: absolute;
				top: 50%;
				right: 6%;
				width: 30px;
				height: 1px;
				background: #fff;
				display: inline-block;
		}
		.nav_sp > li:not(.acd) > a:before,
.h_contact li a:before {
				content: "";
				position: absolute;
				top: 50%;
				right: 6%;
				width: 7px;
				height: 1px;
				background: #fff;
				display: inline-block;
				-webkit-transform: rotate(40deg);
				        transform: rotate(40deg);
				margin-top: -2px;
		}
		.nav_sp .sub_nav_sp {
				display: none;
				padding: 10px 0;
				border-bottom: 1px solid #898989;
		}
		.nav_sp .sub_nav_sp > li > a {
				position: relative;
				display: block;
				height: 32px;
				line-height: 32px;
				font-size: 1.2rem;
				color: #fff;
				padding: 0 6%;
		}
		.nav_sp2 > li {
				width: 50%;
		}
		.nav_sp2 > li:nth-child(n+5) {
				width: 33.3333333333%;
		}
		.nav_sp2 > li > a {
				position: relative;
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-align: center;
				    -ms-flex-align: center;
				        align-items: center;
				-webkit-box-pack: center;
				    -ms-flex-pack: center;
				        justify-content: center;
				text-align: center;
				height: 50px;
				line-height: 1.25;
				padding: 0;
				font-size: 1.2rem;
				color: #fff;
				font-weight: bold;
				border-bottom: 1px solid #898989;
				border-right: 1px solid #898989;
				background: #222222;
		}
		.nav_sp2 > li:nth-child(n+5) a {
				border-bottom: none;
		}
		.nav_sp2 > li:nth-child(2) a,
.nav_sp2 > li:last-child a {
				border-right: none;
		}
		.h_contact li a {
				width: 100%;
				height: 60px;
				display: block;
				color: #fff;
				text-align: center;
				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;
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				    -ms-flex-direction: column;
				        flex-direction: column;
				position: relative;
		}
		.h_contact .tel_btn a {
				background: #5c71aa;
		}
		.h_contact .tel_btn a img {
				width: 180px;
				padding-top: 3px;
		}
		.h_contact .tel_btn a .time {
				font-size: 0.9rem;
				line-height: 1;
				color: #fff;
				margin-top: 5px;
		}
		.h_contact .contact_btn a {
				background: #3d4975;
				color: #fff;
				font-size: 1.5rem;
				font-weight: bold;
		}
		header .h_contact .instagram {
				/*
						width: 100%;
						position: static;
				*/
				display: none;
		}
		header .h_contact .instagram a {
				height: 50px;
				background: #222;
		}
		header .h_contact .instagram a img {
				width: 25px;
				height: auto;
		}
		.h_contact .instagram a::before,
.h_contact .instagram a::after {
				display: none;
		}
}
@media screen and (max-width: 360px) {
		.nav_sp2 > li > a {
				font-size: 1.1rem;
		}
}
body:not(.en_page) header .h_right {
		padding: 26px 87px 0 0;
}
body:not(.en_page) header .h_right .menu2 li {
		padding: 0 14px 0 15px;
}
body:not(.en_page) .header_nav .main_menu {
		margin-top: 4px;
}
body:not(.en_page) .header_nav .main_menu > li {
		margin: 0 20px;
}
body:not(.en_page) #header {
		min-width: 1100px;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header {
				min-width: auto;
		}
		body:not(.en_page) #header .h_wrap.flex {
				min-width: auto;
		}
}
body:not(.en_page) #header .toggle {
		cursor: pointer;
		position: absolute;
		width: 55px;
		height: 55px;
		border: 2px solid #3D4A76;
		top: 24px;
		right: 25px;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .toggle {
				width: 29px;
				height: 29px;
				top: 12px;
				right: 13px;
				border-width: 1px;
		}
}
body:not(.en_page) #header .toggle span {
		width: 28px;
		height: 2px;
		background-color: #3D4A76;
		position: absolute;
		left: 50%;
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
		-webkit-transition: 0.3s;
		transition: 0.3s;
		cursor: pointer;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .toggle span {
				width: 15px;
				height: 1px;
		}
}
body:not(.en_page) #header .toggle span:nth-of-type(1) {
		top: 14px;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .toggle span:nth-of-type(1) {
				top: 7px;
		}
}
body:not(.en_page) #header .toggle span:nth-of-type(2) {
		top: 25px;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .toggle span:nth-of-type(2) {
				top: 14px;
		}
}
body:not(.en_page) #header .toggle span:nth-of-type(3) {
		top: 36px;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .toggle span:nth-of-type(3) {
				top: 19px;
		}
}
body:not(.en_page) #header .toggle.toggle_active span:nth-of-type(1) {
		top: 50%;
		-webkit-transform: translateX(-50%) rotate(45deg);
		        transform: translateX(-50%) rotate(45deg);
}
body:not(.en_page) #header .toggle.toggle_active span:nth-of-type(2) {
		opacity: 0;
}
body:not(.en_page) #header .toggle.toggle_active span:nth-of-type(3) {
		top: 50%;
		-webkit-transform: translateX(-50%) rotate(-45deg);
		        transform: translateX(-50%) rotate(-45deg);
}
body:not(.en_page) #header .drawer {
		display: none;
		background-color: #3D4A76;
		color: #ffffff;
		position: absolute;
		left: 0;
		top: 100px;
		width: 100%;
		max-height: calc(100vh - 100px);
		height: auto;
		padding: 45px 0 50px;
		max-width: 100vw;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer {
				top: 50px;
				padding: 14px 0 15px;
				max-height: calc(100vh - 50px);
		}
}
body:not(.en_page) #header .drawer_inner {
		width: 1200px;
		max-width: 100%;
		padding: 0 15px 0;
		margin: auto auto auto;
		max-height: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		-ms-overflow-style: none; /* IE, Edge 対応 */
		scrollbar-width: none; /* Firefox 対応 */
}
body:not(.en_page) #header .drawer_inner::-webkit-scrollbar { /* Chrome, Safari 対応 */
		display: none;
}
@media screen and (max-width: 1100px) and (min-width: 769px) {
		body:not(.en_page) #header .drawer_inner {
				/*スクロールバー考慮*/
				max-width: calc(100% - 17px);
				margin-right: 17px;
		}
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer_inner {
				padding: 0 20px 10vw;
				display: block;
		}
}
body:not(.en_page) #header .drawer_inner-box1 {
		width: 583px;
		max-width: 54%;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer_inner-box1 {
				width: 100%;
				max-width: 100%;
		}
}
body:not(.en_page) #header .drawer_inner-box2 {
		width: 522px;
		max-width: 44%;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer_inner-box2 {
				width: 100%;
				max-width: 100%;
		}
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_sp_wrap {
				position: static;
				height: auto;
				background-color: transparent;
				overflow: visible;
				display: block;
		}
}
body:not(.en_page) #header .drawer .nav_sp > li {
		border-bottom: 1px solid #ffffff;
		position: relative;
		padding: 12px 0 10px;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_sp > li {
				padding: 11px 0 9px;
		}
}
body:not(.en_page) #header .drawer .nav_sp > li > a {
		color: #ffffff;
		font-size: 1.6rem;
		font-weight: bold;
		position: relative;
		display: block;
		width: 165px;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_sp > li > a {
				width: 134px;
				font-size: 1.4rem;
				border: none;
				padding: 0;
				height: auto;
				line-height: inherit;
		}
		body:not(.en_page) #header .drawer .nav_sp > li > a::before {
				content: none;
		}
}
body:not(.en_page) #header .drawer .nav_sp > li > a:hover {
		opacity: 0.7;
}
body:not(.en_page) #header .drawer .nav_sp > li > a::after {
		content: "";
		width: 42px;
		height: 1em;
		background-image: url(../img/common/nav_arrow.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center center;
		position: absolute;
		left: 130px;
		top: 0.25em;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_sp > li > a::after {
				background-color: transparent;
				width: 22px;
				left: 108px;
		}
}
body:not(.en_page) #header .drawer .nav_sp > li.acd .acd-btn {
		cursor: pointer;
		display: block;
		width: 10px;
		height: 10px;
		position: absolute;
		top: 19px;
		right: 5px;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_sp > li.acd .acd-btn {
				padding-right: 0;
				top: 15px;
				right: 3px;
		}
}
body:not(.en_page) #header .drawer .nav_sp > li.acd .acd-btn::before, body:not(.en_page) #header .drawer .nav_sp > li.acd .acd-btn::after {
		content: "";
		width: 100%;
		height: 1px;
		background-color: #ffffff;
		display: block;
		position: absolute;
		top: 50%;
		left: 0;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
		-webkit-transition: 0.3s opacity;
		transition: 0.3s opacity;
}
body:not(.en_page) #header .drawer .nav_sp > li.acd .acd-btn::after {
		-webkit-transform: translateY(-50%) rotate(90deg);
		        transform: translateY(-50%) rotate(90deg);
}
body:not(.en_page) #header .drawer .nav_sp > li.acd .acd-btn.sub_nav_open::after {
		opacity: 0;
}
body:not(.en_page) #header .drawer .nav_sp > li.acd .acd-cnt {
		display: none;
}
body:not(.en_page) #header .drawer .nav_sp > li.acd .sub_nav_sp {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		padding: 7px 0 7px 19px;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		gap: 0.5em 0;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_sp > li.acd .sub_nav_sp {
				padding: 8px 0 0 10px;
				border: none;
		}
}
body:not(.en_page) #header .drawer .nav_sp > li.acd .sub_nav_sp > li {
		width: 33%;
}
@media screen and (max-width: 1100px) {
		body:not(.en_page) #header .drawer .nav_sp > li.acd .sub_nav_sp > li {
				width: auto;
				min-width: 33%;
				padding-right: 1em;
		}
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_sp > li.acd .sub_nav_sp > li {
				min-width: 50%;
		}
}
body:not(.en_page) #header .drawer .nav_sp > li.acd .sub_nav_sp > li > a {
		font-size: 1.4rem;
		font-weight: 500;
		padding-left: 1.5em;
		position: relative;
		color: #ffffff;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_sp > li.acd .sub_nav_sp > li > a {
				font-size: 1.3rem;
				padding-left: 1em;
				height: auto;
				line-height: inherit;
				white-space: nowrap;
		}
}
body:not(.en_page) #header .drawer .nav_sp > li.acd .sub_nav_sp > li > a::before {
		content: "";
		width: 10px;
		height: 1px;
		background-color: #ffffff;
		display: block;
		position: absolute;
		left: 0;
		top: 50%;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_sp > li.acd .sub_nav_sp > li > a::before {
				width: 5px;
		}
}
body:not(.en_page) #header .drawer .nav_sp2 {
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: start;
		gap: 9px 0;
}
body:not(.en_page) #header .drawer .nav_sp2-title {
		color: #ffffff;
		font-weight: bold;
		font-size: 1.6rem;
		margin-top: 25px;
		margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_sp2-title {
				font-size: 1.3rem;
				margin-top: 20px;
				margin-bottom: 10px;
		}
}
body:not(.en_page) #header .drawer .nav_sp2 > li {
		width: 33%;
}
@media screen and (min-width: 1101px) {
		body:not(.en_page) #header .drawer .nav_sp2 > li:nth-of-type(2) {
				width: 40%;
		}
		body:not(.en_page) #header .drawer .nav_sp2 > li:nth-of-type(3) {
				width: 26%;
		}
		body:not(.en_page) #header .drawer .nav_sp2 > li:nth-of-type(5) {
				width: auto;
		}
}
@media screen and (max-width: 1100px) {
		body:not(.en_page) #header .drawer .nav_sp2 > li {
				width: auto;
				min-width: 33%;
				padding-right: 1em;
		}
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_sp2 > li {
				min-width: 50%;
				padding-right: 0;
		}
}
body:not(.en_page) #header .drawer .nav_sp2 > li a {
		color: #ffffff;
		font-size: 1.4rem;
		font-weight: 500;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_sp2 > li a {
				font-size: min(1.2rem, 3.3vw);
				border: none;
				background-color: transparent;
				height: auto;
				line-height: inherit;
				display: inline-block;
				text-align: left;
		}
}
body:not(.en_page) #header .drawer .nav_sp2 > li a::before {
		content: none;
}
body:not(.en_page) #header .drawer .nav_sp3 {
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: start;
		margin-top: 20px;
		padding-top: 20px;
		border-top: 1px solid #ffffff;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_sp3 {
				margin-top: 27px;
				padding-top: 0;
				border: none;
				display: block;
		}
}
body:not(.en_page) #header .drawer .nav_sp3 > li {
		width: auto;
		position: relative;
		padding-right: .7em;
		letter-spacing: -0.068em;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_sp3 > li {
				padding: 0;
				text-align: center;
		}
}
@media print, screen and (min-width: 769px) {
		body:not(.en_page) #header .drawer .nav_sp3 > li + li {
				padding-left: .7em;
		}
		body:not(.en_page) #header .drawer .nav_sp3 > li + li::before {
				content: "";
				width: 1px;
				height: 1em;
				background-color: #ffffff;
				display: block;
				position: absolute;
				left: 0;
				top: 50%;
				-webkit-transform: translateY(-50%) rotate(30deg);
				        transform: translateY(-50%) rotate(30deg);
		}
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_sp3 > li + li {
				margin-top: 10px;
		}
}
body:not(.en_page) #header .drawer .nav_sp3 > li a {
		color: #ffffff;
		font-size: 1.4rem;
		font-weight: 500;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_sp3 > li a {
				font-size: 1.3rem;
		}
}
body:not(.en_page) #header .drawer .nav_eng-sns {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		justify-content: flex-end;
}
@media screen and (max-width: 1100px){
	body:not(.en_page) #header .drawer .nav_eng-sns{
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
	}
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_eng-sns {
				display: block;
				margin-top: 32px;
		}
}
body:not(.en_page) #header .drawer .nav_eng {
		width: 150px;
		height: 34px;
}
@media screen and (max-width: 1100px) {
		body:not(.en_page) #header .drawer .nav_eng {
				width: 35%;
		}
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_eng {
				width: 100%;
		}
}
body:not(.en_page) #header .drawer .nav_magazine {
		width: 250px;
		height: 34px;
		margin-left: 20px;
}
@media screen and (max-width: 1100px) {
		body:not(.en_page) #header .drawer .nav_magazine {
				width: 60%;
				margin-left: 5%;
		}
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_magazine {
				width: 100%;
				margin-left: 0;
				margin-top: 15px;
		}
}
body:not(.en_page) #header .drawer .nav_eng a,
body:not(.en_page) #header .drawer .nav_magazine a{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		font-weight: 500;
		text-align: center;
		width: 100%;
		height: 100%;
		border: 1px solid #ffffff;
		font-size: 1.5rem;
		letter-spacing: 0.1em;
		color: #ffffff;
}
body:not(.en_page) #header .drawer .nav_sns {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		margin-left: 20px;
}
@media screen and (max-width: 1100px) {
		body:not(.en_page) #header .drawer .nav_sns {
				margin-left: 0;
				margin-top: 20px;
		}
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_sns {
				-webkit-box-pack: center;
				    -ms-flex-pack: center;
				        justify-content: center;
		}
}
body:not(.en_page) #header .drawer .nav_sns-item {
		margin-right: 15px;
		width: 31px;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_sns-item {
				width: 38px;
				margin-right: 24px;
		}
}
body:not(.en_page) #header .drawer .nav_sns-item:last-of-type {
		margin-right: 0;
}
body:not(.en_page) #header .drawer .nav_sns-item img {
		width: 100%;
}
body:not(.en_page) #header .drawer .nav_purpose {
		margin-top: 25px;
}
body:not(.en_page) #header .drawer .nav_purpose__title {
		font-size: 1.6rem;
		font-weight: bold;
		color: #ffffff;
		margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_purpose__title {
				font-size: 1.4rem;
				margin-bottom: 7px;
		}
}
body:not(.en_page) #header .drawer .nav_purpose__list {
		background-color: #56658F;
		padding: 0 30px 20px;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_purpose__list {
				padding: 8px 18px 15px;
		}
}
body:not(.en_page) #header .drawer .nav_purpose__list-item {
		position: relative;
		padding-top: 19px;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_purpose__list-item {
				padding-top: 8px;
		}
}
body:not(.en_page) #header .drawer .nav_purpose__list-head {
		border-bottom: 1px solid #ffffff;
		cursor: pointer;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_purpose__list-head {
				padding-bottom: 4px;
		}
}
body:not(.en_page) #header .drawer .nav_purpose__list-link {
		font-size: 1.6rem;
		font-weight: bold;
		color: #ffffff;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_purpose__list-link {
				font-size: 1.3rem;
		}
}
body:not(.en_page) #header .drawer .nav_purpose .purpose__acd-btn {
		cursor: pointer;
		display: block;
		width: 10px;
		height: 10px;
		position: absolute;
		top: 24px;
		right: 5px;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_purpose .purpose__acd-btn {
				top: 12px;
				right: 3px;
		}
}
body:not(.en_page) #header .drawer .nav_purpose .purpose__acd-btn::before, body:not(.en_page) #header .drawer .nav_purpose .purpose__acd-btn::after {
		content: "";
		width: 100%;
		height: 1px;
		background-color: #ffffff;
		display: block;
		position: absolute;
		top: 50%;
		left: 0;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
		-webkit-transition: 0.3s opacity;
		transition: 0.3s opacity;
}
body:not(.en_page) #header .drawer .nav_purpose .purpose__acd-btn::after {
		-webkit-transform: translateY(-50%) rotate(90deg);
		        transform: translateY(-50%) rotate(90deg);
}
body:not(.en_page) #header .drawer .nav_purpose .purpose__acd-btn.is-open::after {
		opacity: 0;
}
body:not(.en_page) #header .drawer .nav_purpose .purpose__acd-cnt {
		display: none;
}
body:not(.en_page) #header .drawer .nav_purpose__child {
		padding-top: 18px;
		padding-bottom: 5px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		gap: 0.2em 0;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_purpose__child {
				padding-top: 10px;
				padding-bottom: 4px;
				gap: 0.5em 0;
		}
}
body:not(.en_page) #header .drawer .nav_purpose__child > li {
		width: 50%;
}
@media screen and (max-width: 1100px) {
		body:not(.en_page) #header .drawer .nav_purpose__child > li {
				width: auto;
				min-width: 50%;
				padding-right: 1em;
		}
}
@media screen and (min-width: 1101px) {
	body:not(.en_page) #header .drawer .nav_purpose__list-item:nth-of-type(4) .nav_purpose__child > li:nth-of-type(1),
	body:not(.en_page) #header .drawer .nav_purpose__list-item:nth-of-type(4) .nav_purpose__child > li:nth-of-type(2) {
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_purpose__child > li {
				padding-right: 0;
		}
}
body:not(.en_page) #header .drawer .nav_purpose__child > li > a {
		font-size: 1.4rem;
		font-weight: 500;
		padding-left: 1.5em;
		position: relative;
		color: #ffffff;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_purpose__child > li > a {
				font-size: 1.3rem;
				padding-left: 1em;
		}
}
body:not(.en_page) #header .drawer .nav_purpose__child > li > a::before {
		content: "";
		width: 10px;
		height: 1px;
		background-color: #ffffff;
		display: block;
		position: absolute;
		left: 0;
		top: 50%;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_purpose__child > li > a::before {
				width: 5px;
		}
}
body:not(.en_page) #header .drawer .nav_contact {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		gap: 0 15px;
		margin-top: 30px;
}
@media screen and (max-width: 1100px) {
		body:not(.en_page) #header .drawer .nav_contact {
				display: block;
				margin-top: 22px;
		}
}
body:not(.en_page) #header .drawer .nav_contact__item {
		width: 100%;
}
@media screen and (max-width: 1100px) {
		body:not(.en_page) #header .drawer .nav_contact__item {
				margin-top: 16px;
		}
		body:not(.en_page) #header .drawer .nav_contact__item:first-of-type {
				margin-top: 0;
		}
}
body:not(.en_page) #header .drawer .nav_contact__head {
		font-size: 1.6rem;
		font-weight: bold;
		padding-left: 1.5em;
		position: relative;
		color: #ffffff;
		margin-bottom: 7px;
}
@media screen and (max-width: 1100px) {
		body:not(.en_page) #header .drawer .nav_contact__head {
				margin-bottom: 10px;
				width: 100%;
				padding-left: 0;
		}
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_contact__head {
				font-size: 1.3rem;
		}
}
body:not(.en_page) #header .drawer .nav_contact__head::before {
		content: "";
		width: 10px;
		height: 1px;
		background-color: #ffffff;
		display: block;
		position: absolute;
		left: 0;
		top: 50%;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
}
@media screen and (max-width: 1100px) {
		body:not(.en_page) #header .drawer .nav_contact__head::before {
				content: none;
		}
}
body:not(.en_page) #header .drawer .nav_contact__btn {
		width: 100%;
		height: 46px;
}
@media screen and (max-width: 1100px) {
		body:not(.en_page) #header .drawer .nav_contact__btn {
				width: 100%;
				height: 35px;
		}
}
body:not(.en_page) #header .drawer .nav_contact__btn a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: 100%;
		height: 100%;
		border: 1px solid #ffffff;
		color: #ffffff;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		text-align: center;
		font-weight: bold;
		font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_contact__btn a {
				font-size: 1.3rem;
		}
}
body:not(.en_page) #header .drawer .nav_tel {
		margin-top: 38px;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_tel {
				margin-top: 26px;
		}
}
body:not(.en_page) #header .drawer .nav_tel .tel-no {
		width: 269px;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_tel .tel-no {
				margin: auto auto auto;
		}
}
body:not(.en_page) #header .drawer .nav_tel .tel-no__link {
		display: block;
}
body:not(.en_page) #header .drawer .nav_tel .tel-no__link img {
		display: block;
		width: 100%;
}
body:not(.en_page) #header .drawer .nav_tel .tel-time {
		margin-top: 6px;
		color: #ffffff;
		font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
		body:not(.en_page) #header .drawer .nav_tel .tel-time {
				text-align: center;
				font-size: 1.3rem;
		}
}

/*pagetop*/
#pagetop {
		position: absolute;
		right: 30px;
		-webkit-transform: translateY(50%);
		        transform: translateY(50%);
		z-index: 1000;
}

#pagetop a {
		display: block;
		height: 120px;
		width: 20px;
}

/* ----------------------------------------------------------------------------------------------------
*  フッター
* --------------------------------------------------------------------------------------------------*/
footer {
		position: relative;
}

footer .f_contact {
		padding: 50px 0;
		border-bottom: 1px solid #dddddd;
}

footer .f_contact .wrap {
		padding: 0 60px;
}

footer .f_contact .flex {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		margin-top: 25px;
}

footer .f_contact .flex .tel_num {
		width: 309px;
}

footer .f_contact .flex .time {
		font-size: 1.4rem;
		text-align: right;
		margin-top: 12px;
		line-height: 1;
}

footer .f_contact .flex .btn {
		width: 340px;
		margin-left: 55px;
}

footer .f_bottom {
		padding: 24px 0;
}

footer .f_bottom .wrap {
		width: 100%;
		padding: 0 2%;
}

footer .f_bottom .flex {
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
}

footer .f_bottom .copyright {
		font-size: 1.2rem;
}

footer .f_bottom .f_menu ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: flex-end;
}

footer .f_bottom .f_menu ul li a {
		font-size: 1.4rem;
}

footer .f_bottom .f_menu ul li + li a {
		margin-left: 40px;
}

@media screen and (min-width: 769px) {
		.ie footer .f_bottom {
				padding: 30px 0 18px;
		}
}
@media screen and (max-width: 768px) {
		footer .f_bottom {
				padding: 12px 0;
				border: none;
		}
		footer .f_bottom .wrap {
				text-align: center;
				display: block;
		}
		footer .f_bottom .copyright {
				font-size: 1rem;
				text-align: center;
		}
}
/*英語ページ用*/
@media screen and (min-width: 769px) {
		.en_page #pagettl {
				padding: 84px 0;
				white-space: nowrap;
		}
		.en_page header .h_wrap.flex {
				min-width: 1140px;
		}
		.en_page .header_nav .main_menu {
				margin-right: 12px;
		}
		.en_page .header_nav .main_menu > li {
				letter-spacing: 0.05em;
				margin: 0 17px;
		}
		.en_page header .h_right .menu2 li a {
				font-size: 1.4rem;
				line-height: 1.4;
		}
		.en_page header .h_right .menu2 li.instagram a img {
				margin-top: 0;
		}
		.en_page footer .f_contact .wrap > p {
				text-align: center;
		}
		.en_page footer .f_contact .flex .tel_num {
				width: 420px;
		}
		.en_page footer .f_contact .flex .time {
				font-size: 1.6rem;
				margin-top: 8px;
		}
}
@media screen and (max-width: 768px) {
		.h_contact .tel_btn a img {
				width: 200px;
				padding-top: 3px;
		}
}
/* ------------------------------
    clearfix
------------------------------ */
.cf:after {
		content: ".";
		display: block;
		height: 0;
		font-size: 0;
		clear: both;
		visibility: hidden;
}

.cf {
		display: inline-block;
}

/* Hides from IE Mac */
* html .cf {
		height: 1%;
}

.cf {
		display: block;
}

/* End Hack */