@charset "utf-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import "/cp/shared/css/site_search.css";


html {
	font-size: 62.5%;
	overflow-x: hidden;
}

* {
	margin: 0;
	padding: 0;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	-webkit-text-size-adjust: none;
	font-feature-settings: "palt";
	font-family: 'Noto Sans JP', sans-serif;
}

img {
	max-width: 100%;
	border: none;
	vertical-align: bottom;
}

li {
	list-style: none;
}

a {
	color: inherit;
	text-decoration: none;
}

a:hover {
	opacity: .6;
	transition: opacity .5s;
}

p, li {
	font-size: 1.6rem;
}

#main {
	margin-bottom: 120px;
	padding-top: 114px;
	overflow-x: hidden;
}


/*** 共通ヘッダー ***/
#header {
	width: 100%;
	position: fixed;
	font-size: 1.6rem;
	line-height: 1;
	z-index: 100;
}

.sp_global_nav {
	display: none;
}

.global_nav {
	display: flex;
	background-color: #d8e9ff;
	position: relative;
}

.logo {
	padding: 45px 50px;
	background-color: #fff;
}

.sub_nav,
.target_nav ul,
.dynamic_nav ul,
.main_nav ul {
	display: flex;
}

.sub_nav {
	align-items: center;
	margin-top: 8px;
	position: fixed;
	right: 120px;
}

.target_nav ul li {
	display: flex;
	align-items: center;
	position: relative;
	margin: 0 13px;
}

.target_nav ul li a {
	display: block;
	width: 150px;
	padding: 3px 7px;
	background-color: #fff;
}

.target_nav ul li a:not(.home):before,
.target_nav ul li a:not(.home):after {
	content: '';
	position: absolute;
	top: 0;
}
.target_nav ul li a:not(.home):before {
	left: -15px;
	border-top: 19px solid transparent;
	border-right: 10px solid #fff;
	border-bottom: 10px solid #fff;
	border-left: 5px solid transparent;
}

.target_nav ul li a:not(.home):after {
	right: -15px;
	border-top: 19px solid #fff;
	border-right: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 5px solid #fff;
}

.target_nav ul li a .inner_div {
	display: inline-flex;
	align-items: center;
}

.target_nav ul li a p {
	font-weight: 700;
	font-size: 1.4rem;
	color: #505050;
}

.target_nav ul li a img {
	margin-right: 5px;
}

.target_nav ul .home {
	width: auto;
	border-radius: 9999px;
	padding: 3px 22px;
}

.dynamic_nav {
	margin-left: 15px;
}

.dynamic_nav ul {
	align-items: center;
}

.dynamic_nav ul li {
	margin: 0 3px;
}

.dynamic_nav ul li a p {
	display: none;
}

.dynamic_nav ul li a::before {
	content: '';
	display: block;
	width: 46px;
	height: 46px;
	cursor: pointer;
}

.dynamic_nav ul li a:hover{
	display: block;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .4);

}

.dynamic_nav ul li .search::before {
	background: url(/cp/shared/img/icon_search.png) no-repeat left /contain;
}

.dynamic_nav ul li .contact::before {
	background: url(/cp/shared/img/icon_contact.png) no-repeat left /contain;
}

.dynamic_nav ul li .en::before {
	background: url(/cp/shared/img/icon_en.png) no-repeat left /contain;
}

.main_nav {
	position: absolute;
	bottom: 0;
	left: 228px;
}

.main_nav ul li .subcategory {
	display: block;
	min-width: 104px;
	height: 38px;
	border-right: 1px solid #194f9f;
	padding: 10px 28px 14px;
	position: relative;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 700;
	color: #194f9f;
}

.main_nav ul li .subcategory:hover {
	display: block;
	background:rgba(255, 255, 255, .4);
	border-bottom: 4px solid #194f9f;
}

.main_nav ul .subcategory_li.active .subcategory_menu {
	display: flex;
}

.main_nav ul li .subcategory_menu {
	display: none;
	width: 100vw;
	margin: 0;
	border-top: 1px solid #e6e6e6;
	border-bottom: 1px solid #e6e6e6;
	padding: 44px 0 20px 240px;
	position: absolute;
	flex-wrap: wrap;
	top: 38px;
	left: -228px;
	background-color: #fff;
}

.main_nav ul li .subcategory_menu li {
	width: 290px;
	margin-left: 0;
	margin-right: 44px;
	margin-bottom: 24px;
}

.main_nav ul li .subcategory_menu li a {
	font-size: 1.4rem;
	padding-bottom: 7px;
	position: relative;
}

.main_nav ul li .subcategory_menu li a:hover {
	opacity: 1;
	border-bottom: 1px solid #194f9f;
	transition: 3s ease-in-out;
}

.main_nav ul li .subcategory_menu li a::after{
	content: '';
	width: 8px;
	height: 13px;
	position: absolute;
	top: calc(50% - 2px);
	right: -22px;
	transform: translateY(-50%);
	background: url(/cp/shared/img/panel_arrow.png) no-repeat center /contain;
}

.main_nav ul li .subcategory_menu .target_menu {
	flex-direction: column;
	width: 240px;
	border-right: 1px solid #707070;
}

.main_nav ul li .subcategory_menu .target_menu .inner_div {
	display: inline-flex;
	align-items: center;
}

.main_nav ul li .subcategory_menu .target_menu .inner_div img {
	width: 25px;
	height: auto;
	margin-right: 17px;
}

.main_nav ul li .subcategory_menu .target_menu .inner_div p {
	height: auto;
	margin-top: 0;
	font-size: 1.8rem;
	font-weight: 700;
}

.main_nav ul li .subcategory_menu .sub_menu {
	width: calc(100% - 240px);
	flex-wrap: wrap;
	padding-left: 25px;
}

.personal_nav {
	position: absolute;
	top: 13px;
	right: 0;
}

.personal_nav ul li .login {
	border-top: 2px solid #20BFFF;
	border-bottom: 2px solid #20BFFF;
	border-left: 2px solid #20BFFF;
	margin-bottom: 5px;
}

.personal_nav ul li a {
	display: block;
	width: 106px;
	padding: 4px;
	background-color: #fff;
	border-top-left-radius: 6px;
	border-bottom-left-radius: 6px;
}

.personal_nav ul li a.inquiry {
	display: none;
}

.personal_nav ul li a div {
	display: inline-flex;
	align-items: center;
}

.personal_nav ul li a div p {
	margin-left: 7px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	color: #000;
}


/*** 共通フッター ***/
.page_top {
	display: block;
	width: 56px;
	height: 56px;
	margin-left: auto;
	position: relative;
	background-color: #6f6f6f;
}

.page_top::before,
.page_top::after {
	content: '';
	width: 30%;
	height: 3px;
	border-radius: 1px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background-color: #fff;
}

.page_top::before {
	left: 41%;
	transform: translateX(-50%) rotate(-45deg);
}

.page_top::after {
	left: 59%;
	transform: translateX(-50%) rotate(45deg);
}

#footer {
	font-size: 1.6rem;
	color: #6f6f6f;
}

.sp_footer {
	display: none;
}

#footer .bg_gray {
	background-color: #f8f8f8;
	margin: 0 calc(50% - 50vw);
}

#footer .bg_gray_inner {
	width: 989px;
	margin: 0 auto;
	padding: 63px 0;
}

.follow_menu ul {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 30px;
}

.follow_menu ul li {
	margin-right: 30px;
	font-size: 1.4rem;
	color: #194f9f;
	font-weight: 700;
}

.follow_menu ul li:first-child {
	margin-right: 23px;
}

.follow_menu ul li:last-child {
	margin-right: 0;
}

.footer_banner {
	height: auto;
	margin: 30px auto 52px;
}

.main_menu ul {
	display: flex;
	justify-content: space-between;
}

.main_menu ul li {
	min-width: 20%;
	color: #707070;
}

.main_menu ul li .category {
	display: block;
	margin-bottom: 13px;
	border-bottom: 2px solid #6f6f6f;
	padding-bottom: 10px;
	font-size: 1.4rem;
	font-weight: 700;
}

.main_menu ul li ul {
	display: inline-flex;
	flex-direction: column;
	font-size: 1.4rem;
}

.main_menu ul li ul li {
	margin: 6px 0;
	font-size: 1rem;
	color: #444;
}

.main_menu ul li .target_menu {
	margin-right: 30px;
	font-weight: 700;
}

.main_menu ul li .target_menu li {
	font-size: 1.3rem;
	color: #707070;
}

.border_menu_inner {
	width: 989px;
	margin: 0 auto;
}

.border_menu ul {
	display: flex;
	justify-content: center;
	border-bottom: 1px solid #6F6F6F;
	padding: 18px 0;
}

.border_menu ul:first-child {
	border-top: 1px solid #6F6F6F;
}

.border_menu ul li {
	margin: 0 28px;
	font-size: 1.2rem;
}

.border_menu .info_menu li,
.border_menu .contact_menu li {
	font-weight: 700;
	text-align: center;
}

.border_menu .contact_menu li {
	width: 100%;
}

.border_menu .contact_menu li a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.border_menu .contact_menu li a img {
	width: 36px;
	height: auto;
	margin-right: 15px;
}

.border_menu .contact_menu li a p{
	font-size: 1.4rem;
	line-height: 1;
	color: #444;
}

.border_menu .info_menu li {
	font-size: 1.3rem;
	color: #707070;
}

.copyright {
	display: block;
	margin: 20px 0;
	text-align: center;
	font-size: 1rem;
	color: #194f9f;
}

/*** パンくずリスト ***/
.bread {
	background-color: #f6f6f6;
	padding: 0;
}
.bread .inner {
	padding: 18px 15px;
}

.bread ul {
	display: flex;
	flex-wrap: wrap;
}

.bread ul li {
	border-right: 1px solid #6f6f6f;
	padding: 0 20px;
	font-size: 1.4rem;
	color: #6f6f6f;
}

.bread ul li:first-child {
	padding-left: 0;
}

.bread ul li:last-child {
	border: none;
}

.bread li:not(:last-child):after {
	content: '';
	margin: 0;
}


/* 共通パーツ */
.notice {
	display: flex;
	align-items: center;
	width: 100%;
	height: 58px;
	margin: 0 auto 10px;
	border: 2px solid #ccc;
	border-radius: 16px;
	padding: 4px;
	background-color: #fff;
}

.notice .notice_category {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 172px;
	height: 100%;
	margin-right: 22px;
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
	background-color: #003399;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
}

.notice .notice_category.emergency {
	background-color: #ef5531;
}

.notice .notice_category.press {
	background-color: #3abceb;
}

.notice .notice_category.important {
	background-color: #fa8700;
}

.notice a {
	display: block;
	width: 100%;
}

.notice a time {
	display: inline-block;
	margin-right: 10px;
	font-size: 1.4rem;
}

.notice .notice_title {
	display: inline-block;
	font-size: 1.4rem;
	font-weight: 700;
}


.locallink_inner {
	width: 1235px;
	margin: 0 auto;
}


@media screen and (max-width: 1140px) {

	#main {
		margin-bottom: 106px;
		padding-top: 112px;
	}	

	/*** 共通ヘッダー ***/
	.logo {
		padding: 36px 0 30px 26px;
	}

	.logo img {
		max-width: inherit;
		width: 244px;
		height: auto;
	}

	.sp_global_nav {
		display: block;
		width: 750px;
		margin: 0 auto;
	}

	.sp_global_nav .head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		height: 114px;
		border-bottom: 2px solid #e6e6e6;
		background-color: #fff;
	}

	.pc_global_nav {
		display: none;
	}

	.hamburger.acrtive {
		display: block;
	}

	.hamburger {
		display: none;
		width: 100%;
		height: calc(100% - 114px);
		position: fixed;
		overflow-y: auto;
	}

	.hamburger_inner {
		width: 750px;
	}

	.menu_btn {
		position: relative;
		width:  112px;
		height: 112px;
		background-color: #ebebeb;
	}

	.menu_btn span {
		display: inline-block;
		width: 43.33333%;
		height: 6px;
		transition: all .4s;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		background-color: #859399;
	}

	.menu_btn span:nth-of-type(1) {
		top: 36px;
	}

	.menu_btn span:nth-of-type(2) {
		top: 56px;
	}

	.menu_btn span:nth-of-type(3) {
		top: 76px;
	}
	
	.menu_btn.active {
		background-color: #fff;
	}

	.menu_btn.active span {
		height: 4px;
	}

	.menu_btn.active span:nth-of-type(1) {
		top: 50%;
		transform: translateX(-50%) rotate(-40deg);
		width: 41.7%;
	}

	.menu_btn.active span:nth-of-type(2) {
		display: none;
	}

	.menu_btn.active span:nth-of-type(3) {
		top: 50%;
		transform: translateX(-50%) rotate(40deg);
		width: 41.7%;
	}
	
	.dynamic_nav {
		margin-left: 0;
		padding-top: 60px;
		background-color: rgba(255, 255, 255, .8);
	}

	.dynamic_nav ul {
		justify-content: center;
	}

	.dynamic_nav ul li {
		margin: 0 24px;
	}
	
	.dynamic_nav ul li a::before {
		width: 70px;
		height: 70px;
	}

	.dynamic_nav ul li .search::before {
		background: url(/cp/shared/img/sp_icon_search.png) no-repeat left /contain;
	}

	.dynamic_nav ul li .contact::before {
		background: url(/cp/shared/img/sp_icon_contact.png) no-repeat left /contain;
	}

	.dynamic_nav ul li .en::before {
		background: url(/cp/shared/img/sp_icon_en.png) no-repeat left /contain;
	}

	.dynamic_nav ul li a:hover {
		display: initial;
	}

	.target_nav ul,
	.main_nav ul {
		flex-direction: column;
	}

	.target_nav {
		margin-right: 0;
		padding: 54px 82px 40px;
		background-color: rgba(255, 255, 255, .8);
	}
	.target_nav ul li {
		margin: 20px 0;
	}

	.target_nav ul li:first-child,
	.target_nav ul li:last-child {
		margin-top: 0;
		margin-bottom: 0;
	}

	.target_nav ul li a {
		display: flex;
		width: calc(100% - 92px);
		height: 92px;
		margin: 0 auto;
		border-top: 2px solid #dbdbdb;
		border-bottom: 2px solid #dbdbdb;
		padding: 0;
	}

	.target_nav ul li a:not(.home) {
		border-top: 2px solid #dbdbdb;
		border-bottom: 2px solid #dbdbdb;
	}

	.target_nav ul .home {
		width: 100%;
		border: 2px solid #dbdbdb;
		padding-left: 44px;
	}

	.target_nav ul li a .inner_triangle {
		display: block;
	}

	.target_nav ul li a .inner_triangle::before,
	.target_nav ul li a .inner_triangle::after,
	.target_nav ul li a:not(.home)::before,
	.target_nav ul li a:not(.home)::after {
		content: '';
		position: absolute;
		top: 0;
	}

	.target_nav ul li a .inner_triangle::before {
		left: 4px;
		border-top: 6px solid transparent;
		border-right: 2px solid #fff;
		border-bottom: 84px solid #fff;
		border-left: 42px solid transparent;
	}
	
	.target_nav ul li a .inner_triangle::after {
		top: 2px;
		right: 4px;
		border-top: 4px solid #fff;
		border-right: 2px solid transparent;
		border-bottom: 84px solid transparent;
		border-left: 42px solid #fff;
		z-index: 1;
	}

	.target_nav ul li a:not(.home)::before {
		left: 2px;
		border-top: 0 solid transparent;
		border-right: 0 solid #dbdbdb;
		border-bottom: 92px solid #dbdbdb;
		border-left: 46px solid transparent;
	}
	
	.target_nav ul li a:not(.home)::after {
		right: 0;
		border-top: 4px solid #dbdbdb;
		border-right: 2px solid transparent;
		border-bottom: 86px solid transparent;
		border-left: 44px solid #dbdbdb;
	}
	
	.target_nav ul li a .inner_div {
		margin-left: 34px;
	}

	.target_nav ul li a .inner_div img {
		width: 68px;
		height: auto;
		margin-right: 42px;
	}

	.target_nav ul li a .inner_div p {
		font-size: 36px;
	}

	.main_nav {
		position: static;
	}

	.main_nav ul {
		background-color: #fff;
	}

	.main_nav ul li .subcategory {
		height: 148px;
		border-top: 2px solid #ccc;
		border-left: 0;
		border-right: 0;
		padding: 48px 64px 40px;
		text-align: left;
		font-size: 36px;
	}

	.main_nav ul li .subcategory:hover {
		background: none;
		border: none;
		border-top: 2px solid #ccc;
	}

	.main_nav ul li .subcategory.open {
		height: 100%;
	}

	.main_nav ul li:last-child .subcategory {
		border-bottom: 2px solid #ccc;
	}

	.main_nav ul li .subcategory::before,
	.main_nav ul li .subcategory::after {
		content: '';
		display: block;
		width: 28px;
		height: 4px;
		position: absolute;
		top: 68px;
		right: 60px;
		background-color: #707070;
	}
	
	.main_nav ul li .subcategory::before {
		transform: rotate(90deg);
	}
	
	.main_nav ul li .subcategory.open::before {
		display: none;
	}

	.main_nav ul li .subcategory a {
		display: inline-block;
		vertical-align: middle;
	}

	.main_nav ul li .subcategory_menu {
		display: none;
		width: 100%;
		margin-top: 92px;
		border: none;
		padding: 0;
		position: initial;	
	}

	.main_nav ul li .subcategory_menu li {
		width: 100%;
		margin-bottom: 40px;
		text-align: left;
	}

	.main_nav ul li .subcategory_menu li a {
		border: none;
		padding: 22px 12px;
		position: relative;
		font-size: 28px;
		font-weight: 400;
		color: #000;
	}

	.main_nav ul li .subcategory_menu li a::before {
		display: none;
	}

	.main_nav ul li .subcategory_menu li a::after {
		content: '';
		width: 16px;
		height: 26px;
		position: absolute;
		top: 50%;
		right: -38px;
		transform: translateY(-50%);
		background: url(/cp/shared/img/panel_arrow.png) no-repeat center /contain;
	}

	.personal_nav {
		margin-left: auto;
		margin-right: 20px;
		position: initial;
		transform: none;
	}

	.personal_nav ul {
		display: flex;
		justify-content: center;
		margin: 0;
	}

	.personal_nav ul li {
		width: 112px;
		text-align: center;
	}
		
	.personal_nav ul li .login {
		margin: 0 0 0 10px;
		border: none;
	}
	
	.personal_nav ul li a {
		width: auto;
		padding: 0;
	}

	.personal_nav ul li a img {
		width: 60px;
		height: auto;
	}

	.personal_nav ul li a p {
		padding-top: 4px;
		font-size: 20px;
		letter-spacing: 0.1em;
		word-break: keep-all;
	}


	/*** 共通フッター ***/
	.locallink_inner {
		width: 100%;
	}

	.page_top {
		width: 112px;
		height: 112px;
		margin: 110px auto 20px;
		background-color: #b2c1da;
	}

	.page_top::before, 
	.page_top::after {
		height: 6px;
		border-radius: 2px;
	}

	.sp_footer {
		display: block;
	}

	.pc_footer {
		display: none;
	}

	#footer .bg_gray_inner {
		width: 750px;
		padding: 54px 0 0;
	}

	.follow_menu ul {
		margin-bottom: 0;
	}

	.follow_menu ul li {
		margin-right: 40px;
		font-size: 24px;
	}
	
	.follow_menu ul li:first-child {
		margin-right: 56px;
	}
	
	.follow_menu ul li:last-child {
		margin-right: 0;
	}

	.follow_menu ul li img {
		width: 68px;
		height: auto;
	}

	.footer_banner {
		margin: 54px auto 0;
	}

	.copyright {
		font-size: 20px;
	}

	.main_menu ul {
		flex-direction: column;
	}

	.main_menu ul li .category {
		position: relative;
		margin-bottom: 0;
		border-top: 2px solid #d1d1d1;
		border-bottom: 0;
		padding: 40px 0 40px 82px;
		font-size: 28px;
		font-weight: 400;
	}

	.main_menu ul li .category::after {
		content: '';
		display: block;
		width: 15px;
		height: 25px;
		position: absolute;
		top: 50%;
		right: 74px;
		transform: translateY(-50%);
		background: url(/cp/shared/img/footer_menu_arrow.png) no-repeat center /cover;
	}

	.border_menu_inner {
		width: 750px;
		padding: 0 42px;
	}

	.border_menu ul {
		justify-content: space-between;
		flex-wrap: wrap;
		border: none;
		padding: 0;
		text-align: center;
	}

	.border_menu ul:first-child {
		border: none;
	}

	.border_menu ul li {
		width: 48%;
		margin: 0;
		border-bottom: 2px solid #707070;
		padding: 28px 0;
		font-size: 24px;
	}

	.border_menu ul li:first-child,
	.border_menu ul li:nth-child(2) {
		border-top: 2px solid #707070;
	}

	.border_menu .info_menu li:first-child,
	.border_menu .info_menu li:nth-child(2),
	.border_menu .contact_menu li:first-child,
	.border_menu .contact_menu li:nth-child(2) {
		border-top: none;
	}

	.border_menu .info_menu {
		flex-direction: column;
		margin: 70px 0 84px;
	}

	.border_menu .info_menu li {
		width: 100%;
		margin: 0 0 64px 0;
		border: none;
		padding: 0;
		text-align: center; 
		font-size: 26px;
	}

	.border_menu .info_menu li:last-child {
		margin: 0;
	}

	.border_menu .contact_menu {
		justify-content: center;
		margin-bottom: 72px;
		padding: 0;
	}

	.border_menu .contact_menu li {
		width: 100%;
		border: none;
		padding: 0;
		text-align: center;
		font-size: 28px;
	}

	.border_menu .contact_menu li a img {
		width: 72px;
		height: auto;
		margin-right: 30px;
	}
	
	.border_menu .contact_menu li a p{
		font-size: 28px;
	}

	.notice {
		flex-direction: column;
		width: 100%;
		height: auto;
		border-radius: 32px;
		margin-bottom: 20px;
		padding: 8px;
	}

	.notice .notice_category {
		width: 100%;
		margin: 0;
		border-radius: 20px;
		padding: 20px 0;
		font-size: 28px;
	}

	.notice a {
		padding: 20px 28px;
	}

	.notice a time,
	.notice .notice_title {
		display: block;
		margin: 0;
		font-size: 24px;
	}

}


@media screen and (max-width:750px) {

	p, li {
		font-size: 1.7rem;
	}	

	#main {
		margin-bottom: 14.13333vw;
		padding-top: 14.93333vw;
	}	

	/*** 共通ヘッダー ***/
	.logo {
		padding: 4.8vw 0 4vw 3.46666vw;
	}

	.logo img {
		max-width: inherit;
		width: 32.53333vw;
		height: auto;
	}

	.sp_global_nav {
		display: block;
		width: 100%;
	}

	.sp_global_nav .head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		height: 15.2vw;
		border-bottom: 0.26666vw solid #e6e6e6;
		background-color: #fff;
	}

	.pc_global_nav {
		display: none;
	}

	.hamburger {
		width: 100%;
		height: calc(100% - 15.2vw);
		position: fixed;
		overflow-y: auto;
	}

	.hamburger_inner {
		width: 100%;
	}

	.menu_btn {
		position: relative;
		width: 14.93333vw;
		height: 14.93333vw;
		background-color: #ebebeb;
	}

	.menu_btn span {
		display: inline-block;
		width: 43.33333%;
		height: 0.8vw;
		transition: all .4s;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		background-color: #859399;
	}

	.menu_btn span:nth-of-type(1) {
		top: 4.8vw;
	}

	.menu_btn span:nth-of-type(2) {
		top: 7.46666vw;
	}

	.menu_btn span:nth-of-type(3) {
		top: 10.13333vw;
	}
	
	.menu_btn.active {
		background-color: #fff;
	}

	.menu_btn.active span {
		height: 0.53333vw;
	}

	.menu_btn.active span:nth-of-type(1) {
		top: 50%;
		transform: translateX(-50%) rotate(-40deg);
		width: 41.7%;
	}

	.menu_btn.active span:nth-of-type(2) {
		display: none;
	}

	.menu_btn.active span:nth-of-type(3) {
		top: 50%;
		transform: translateX(-50%) rotate(40deg);
		width: 41.7%;
	}
	
	.dynamic_nav {
		margin-left: 0;
		padding-top: 8vw;
		background-color: rgba(255, 255, 255, .8);
	}

	.dynamic_nav ul {
		justify-content: center;
	}

	.dynamic_nav ul li {
		margin: 0 3.2vw;
	}
	
	.dynamic_nav ul li a::before {
		width: 9.33333vw;
		height: 9.33333vw;
	}

	.dynamic_nav ul li .search::before {
		background: url(/cp/shared/img/sp_icon_search.png) no-repeat left /contain;
	}

	.dynamic_nav ul li .contact::before {
		background: url(/cp/shared/img/sp_icon_contact.png) no-repeat left /contain;
	}

	.dynamic_nav ul li .en::before {
		background: url(/cp/shared/img/sp_icon_en.png) no-repeat left /contain;
	}

	.target_nav ul,
	.main_nav ul {
		flex-direction: column;
	}

	.target_nav {
		margin-right: 0;
		padding: 7.2vw 10.93333vw 5.33333vw;
		background-color: rgba(255, 255, 255, .8);
	}
	.target_nav ul li {
		margin: 2.66666vw 0;
	}

	.target_nav ul li:first-child,
	.target_nav ul li:last-child {
		margin-top: 0;
		margin-bottom: 0;
	}

	.target_nav ul li a {
		display: flex;
		width: 84%;
		height: 12.26666vw;
		margin: 0 auto;
		border-top: 0.26666vw solid #dbdbdb;
		border-bottom: 0.26666vw solid #dbdbdb;
		padding: 0;
	}

	.target_nav ul li a:not(.home) {
		border-top: 0.26666vw solid #dbdbdb;
		border-bottom: 0.26666vw solid #dbdbdb;
	}

	.target_nav ul .home {
		width: 100%;
		border: 0.26666vw solid #dbdbdb;
		padding-left: 5.86666vw;
	}

	.target_nav ul li a .inner_triangle {
		display: block;
	}

	.target_nav ul li a .inner_triangle::before,
	.target_nav ul li a .inner_triangle::after,
	.target_nav ul li a:not(.home)::before,
	.target_nav ul li a:not(.home)::after {
		content: '';
		position: absolute;
		top: 0;
	}

	.target_nav ul li a .inner_triangle::before {
		left: 0.53333vw; /* 4px */
		border-top: 0.8vw solid transparent; /* 6px */
		border-right: 0.26666vw solid #fff; /* 2px */
		border-bottom: 11.2vw solid #fff; /* 84px */
		border-left: 5.6vw solid transparent; /* 42px */
	}
	
	.target_nav ul li a .inner_triangle::after {
		top: 0.26666vw;
		right: 0.53333vw;
		border-top: 0.53333vw solid #fff;
		border-right: 0.26666vw solid transparent;
		border-bottom: 11.2vw solid transparent;
		border-left: 5.6vw solid #fff;
		z-index: 1;
	}

	.target_nav ul li a:not(.home)::before {
		left: 0.26666vw;
		border-top: 0 solid transparent;
		border-right: 0 solid #dbdbdb;
		border-bottom: 12.26666vw solid #dbdbdb; /* 92px */
		border-left: 6.13333vw solid transparent; /* 46px */
	}
	
	.target_nav ul li a:not(.home)::after {
		right: 0;
		border-top: 0.53333vw solid #dbdbdb;
		border-right: 0.26666vw solid transparent;
		border-bottom: 11.46666vw solid transparent;
		border-left: 5.86666vw solid #dbdbdb;
	}
	
	.target_nav ul li a .inner_div {
		margin-left: 4.53333vw;
	}

	.target_nav ul li a .inner_div img {
		width: 9.06666vw;
		height: auto;
		margin-right: 5.6vw;
	}

	.target_nav ul li a .inner_div p {
		font-size: 4.8vw;
	}

	.main_nav {
		position: static;
	}

	.main_nav ul {
		background-color: #fff;
	}

	.main_nav ul li .subcategory {
		height: 19.733333vw;
		border-top: 0.26666vw solid #ccc; 
		border-left: 0;
		border-right: 0;
		padding: 6.4vw 8.53333vw 5.33333vw;
		text-align: left;
		font-size: 4.8vw;
	}

	.main_nav ul li .subcategory:hover {
		background: none;
		border: none;
		border-top: 0.26666vw solid #ccc;
	}

	.main_nav ul li .subcategory.open {
		height: 100%;
	}

	.main_nav ul li:last-child .subcategory {
		border-bottom: 0.26666vw solid #ccc; 
	}

	.main_nav ul li .subcategory::before,
	.main_nav ul li .subcategory::after {
		content: '';
		display: block;
		width: 3.73333vw;
		height: 0.53333vw;
		position: absolute;
		top: 9.06666vw;
		right: 8vw;
		background-color: #707070;
	}
	
	.main_nav ul li .subcategory::before {
		transform: rotate(90deg);
	}
	
	.main_nav ul li .subcategory.open::before {
		display: none;
	}

	.main_nav ul li .subcategory a {
		display: inline-block;
		vertical-align: middle;
	}

	.main_nav ul li .subcategory_menu {
		display: none;
		width: 100%;
		margin-top: 12.26666vw;
		border: none;
		padding: 0;
		position: initial;	
	}

	.main_nav ul li .subcategory_menu li {
		width: 100%;
		margin-bottom: 5.33333vw;
		text-align: left;
	}

	.main_nav ul li .subcategory_menu li a {
		border: none;
		padding: 2.93333vw 1.6vw;
		position: relative;
		font-size: 3.73333vw;
		font-weight: 400;
		color: #000;
	}

	.main_nav ul li .subcategory_menu li a::before {
		display: none;
	}

	.main_nav ul li .subcategory_menu li a::after {
		content: '';
		width: 2.13333vw;
		height: 3.46666vw;
		position: absolute;
		top: 50%;
		right: -5.06666vw;
		transform: translateY(-50%);
		background: url(/cp/shared/img/panel_arrow.png) no-repeat /contain;
	}

	.personal_nav {
		margin-left: auto;
		margin-right: 2.66666vw;
		position: initial;
		transform: none;
	}

	.personal_nav ul {
		display: flex;
		justify-content: center;
		margin: 0;
	}

	.personal_nav ul li {
		width: 14.93333vw;
		text-align: center;
	}
		
	.personal_nav ul li .login {
		margin: 0 0 0 1.33333vw;
		border: none;
	}
	
	.personal_nav ul li a {
		width: auto;
		padding: 0;
	}

	.personal_nav ul li a img {
		width: 8vw;
		height: auto;
	}

	.personal_nav ul li a p {
		padding-top: 0.53333vw;
		font-size: 2.66666vw;
		letter-spacing: 0.1em;
	}


	/*** 共通フッター ***/
	.page_top {
		width: 14.93333vw;
		height: 14.93333vw;
		margin: 14.66666vw auto 2.66666vw;
		background-color: #b2c1da;
	}

	.page_top::before, 
	.page_top::after {
		height: 0.8vw;
		border-radius: 0.26666vw;
	}

	.sp_footer {
		display: block;
	}

	.pc_footer {
		display: none;
	}

	#footer .bg_gray_inner {
		width: 100%;
		padding: 7.2vw 0 0;
	}

	.follow_menu ul {
		margin-bottom: 0;
	}

	.follow_menu ul li {
		margin-right: 5.33333vw;
		font-size: 3.2vw;
	}
	
	.follow_menu ul li:first-child {
		margin-right: 7.46666vw;
	}
	
	.follow_menu ul li:last-child {
		margin-right: 0;
	}

	.follow_menu ul li img {
		width: 9.06666vw;
		height: auto;
	}

	.footer_banner {
		margin: 7.2vw auto 0;
	}

	.copyright {
		font-size: 2.66666vw;
	}



	.main_menu ul {
		flex-direction: column;
	}

	.main_menu ul li .category {
		position: relative;
		margin-bottom: 0;
		border-top: 1px solid #d1d1d1;
		border-bottom: 0;
		padding: 5.33333vw 0 5.33333vw 10.93333vw;
		font-size: 3.73333vw;
		font-weight: 400;
	}

	.main_menu ul li .category::after {
		content: '';
		display: block;
		width: 2vw;
		height: 3.33333vw;
		position: absolute;
		top: 50%;
		right: 9.86666vw;
		transform: translateY(-50%);
		background: url(/cp/shared/img/footer_menu_arrow.png) no-repeat center /cover;
	}

	.border_menu_inner {
		width: 100%;
		padding: 0 5.6vw;
	}

	.border_menu ul {
		justify-content: space-between;
		flex-wrap: wrap;
		border: none;
		padding: 0;
		text-align: center;
	}

	.border_menu ul:first-child {
		border: none;
	}

	.border_menu ul li {
		width: 48%;
		margin: 0;
		border-bottom: 1px solid #707070;
		padding: 3.73333vw 0;
		font-size: 3.2vw;
	}

	.border_menu ul li:first-child,
	.border_menu ul li:nth-child(2) {
		border-top: 1px solid #707070;
	}

	.border_menu .info_menu li:first-child,
	.border_menu .info_menu li:nth-child(2),
	.border_menu .contact_menu li:first-child,
	.border_menu .contact_menu li:nth-child(2) {
		border-top: none;
	}

	.border_menu .info_menu {
		flex-direction: column;
		margin: 9.33333vw 0 11.2vw;
	}

	.border_menu .info_menu li {
		width: 100%;
		margin: 0 0 8.53333vw 0;
		border: none;
		padding: 0;
		text-align: center; 
		font-size: 3.46666vw;
	}

	.border_menu .info_menu li:last-child {
		margin: 0;
	}

	.border_menu .contact_menu {
		justify-content: center;
		margin-bottom: 9.6vw;
		padding: 0;
	}

	.border_menu .contact_menu li {
		width: 100%;
		border: none;
		padding: 0;
		text-align: center;
		font-size: 3.73333vw;
	}

	.border_menu .contact_menu li a img {
		width: 9.6vw;
		height: auto;
		margin-right: 4vw;
	}
	
	.border_menu .contact_menu li a p{
		font-size: 3.73333vw;
	}

	.notice {
		flex-direction: column;
		width: 100%;
		height: auto;
		margin-bottom: 2.66666vw;
		border-radius: 4.26666vw;
		padding: 1.06666vw;
	}

	.notice .notice_category {
		width: 100%;
		margin: 0;
		border-radius: 2.66666vw;
		padding: 2.66666vw 0;
		font-size: 3.73333vw;
	}

	.notice a {
		padding: 2.66666vw 3.73333vw;
	}

	.notice a time,
	.notice .notice_title {
		display: block;
		margin: 0;
		font-size: 3.2vw;
	}

	.movie {
		width: 100%;
		height: 0;
		margin-top: 40px;
		padding-top: 56.25%;
		position: relative;
	}
	
	.movie iframe {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	

}