/* ------------------------------------------------------------------------------------------

	共有ページ格納CSS
	UPDATE：2022.12.22

------------------------------------------------------------------------------------------ */

@media screen and (min-width: 1024px) {
	.scrolled header{
	}
}

.logo__fill__st1{fill:#004D9D;}

/*
---
---------------------------------------------------------------------------*/
body{
}

header {}
.header__inner {
	align-items: center;
	justify-content: space-between;
}
header #logo {
	padding: 20px;
	flex-grow: 1;
}
header #logo a {
	display: block;
	position: relative;
	max-width: 286px;
}
header #logo a:before {
	content: '';
	display: block;
	padding-bottom: calc(52 / 286 * 100%);
}
header #logo svg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	fill: #333;
}

.header__menu__button {
	width: 100px;
	display: block;
	background-color: #004d9d;
	position: relative;
}
.header__menu__button:before {
	content: "";
	display: block;
	padding-bottom: 100%;
}
.header__menu__button span {
    position: absolute;
    width: 38%;
    border-top: 1px solid #fff;
    left: 50%;
    top: 25px;
	transition: all .5s;
}
.header__menu__button span:nth-of-type(1) {
	transform: translate(-50%, 0);
}
.header__menu__button span:nth-of-type(2) {
	transform: translate(-50%, 11px);
}
.header__menu__button span:nth-of-type(3) {
	transform: translate(-50%, 22px);
}
.header__menu__button:after {
	content: "MENU";
	position: absolute;
	width: 100%;
	text-align: center;
	font-size: 1.2rem;
	color: #fff;
	bottom: 25px;
}
.header__menu__button:hover span:nth-of-type(1) {
	transform: translate(-70%, 0);
}
.header__menu__button:hover span:nth-of-type(3) {
	transform: translate(-30%, 22px);
}

.header__middle {
	padding: 10px 20px 10px 0;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .common__search {height: 30px; } /* IE11 */
}
.common__search input[type="text"] {
	font-size: 1.2rem;
	width: 140px;
	appearance: none;
	border: none;
	border-radius: 5px 0 0 5px;
	background-color: #f2f3f3;
	padding: 3px;
}
.common__search input[type="submit"] {
	font-size: 1.2rem;
	color: transparent;
	appearance: none;
	border: none;
	border-radius: 0 5px 5px 0;
	background-color: #333333;
	width: 24px;
	background-image: url(../images/icon-13x13-search-white.png);
	background-size: 13px auto;
	background-repeat: no-repeat;
	background-position: center;
}
.header__middle__top {
	align-items: center;
	justify-content: flex-end;
}
.common__yakuinlink li {
	padding-left: 20px;
}
.common__yakuinlink a {
	font-size: 1.4rem;
	color: inherit;
}
.common__yakuinlink a:hover {
	color: #004d9d;
}
.common__submenu3 {
	padding-left: 10px;
}
	.common__submenu3 > li {
		padding-left: 20px;
	}
	.common__submenu3 > li:nth-of-type(1) {
		padding-left: 0;
	}
.common__submenu {
	justify-content: flex-end;
	align-items: center;
	margin-left: -10px;
	margin-right: -10px;
}
.common__submenu a {
	color: inherit;
	font-size: 1.4rem;
}
.common__submenu a:hover {
	color: #004d9d;
}
.common__submenu > li {
	padding: 0 6px;
}
header .common__submenu__strong > a {
	background-color: #004d9d;
	color: #fff;
	padding: 2px 8px;
	display: block;
	font-size:11px;
}
.common__submenu__strong > a:hover {
	background-color: #fff;
	box-shadow: 0px 0px 0px 1px #004d9d inset;
}

.common__globalmenu__inner {
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
.common__globalmenu__ul {
	-js-display: flex;
	display: flex;
	margin-left: -1px;
}
.common__globalmenu__ul a {
	color: #fff;
}
.common__globalmenu__ul > li {
	position: relative;
	padding: 0 0 20px 1px;
	flex-basis: 100%;
}
body.touchdevice .common__globalmenu__ul > li.active > a,
body.notouch .common__globalmenu__ul > li:hover > a {
	background-color: #fff;
	color: #004d9d;
}
.common__globalmenu__ul > li > a {
	-js-display: flex;
	display: flex;
	height: 100%;
	align-items: center;
	background-color: #004d9d;
	min-height: 80px;
	padding: 5px;
	text-align: center;
	justify-content: center;
	position: relative;
	font-family: "Times New Roman", "游明朝", YuMincho,"ヒラギノ明朝 Pr6 W6","Hiragino Mincho Pro", "HGS明朝E","メイリオ", "ＭＳ Ｐ明朝","MS PMincho",Meiryo, serif;
}
body.touchdevice .common__globalmenu__ul > li.menu-item-has-children.active > a:before,
body.notouch .common__globalmenu__ul > li.menu-item-has-children:hover > a:before {
	transform: translate(-50%, 100%) scaleY(1);
}
.common__globalmenu__ul > li.menu-item-has-children > a:before {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 12px 0 12px;
	border-color: #ffffff transparent transparent transparent;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 100%) scaleY(0);
	transition: all .5s;
	transform-origin: center top;
}
.common__globalmenu__ul > li > a:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 6px;
	border-top: 2px solid;
}
.common__globalmenu__ul > li > a span {
	display: block;
	font-size: 1.4rem;
}
.common__globalmenu__ul > li > .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	width: 320px;
	display: none;
	background-color: rgba(255,255,255,0.9);
	padding: 10px 0;
	z-index: 1;
}
.common__globalmenu__ul > li:nth-last-of-type(1) > .sub-menu {
	left: auto;
	right: 0;
}
.common__globalmenu__ul > li > .sub-menu > li > a:hover {
	color: #004d9d;
}
.common__globalmenu__ul > li > .sub-menu > li > a {
	color: inherit;
	display: block;
	padding: 10px 42px 10px 20px;
	background-image: url(../images/arrow-border-8x12-blue-next-.png);
	background-repeat: no-repeat;
	background-size: 8px auto;
	background-position: right 20px center;
	font-size: 1.4rem;
}



/*
---
---------------------------------------------------------------------------*/
.contents_wrapper{
	position: relative;
	overflow: hidden;
}
.contents_body{
	min-height: 150px;
}
.contents_body-sb{
	max-width: 1040px;
	margin-left: auto;
	margin-right: auto;
	padding-right: 20px;
	padding-left: 20px;
}
.contents_body-sb1200{
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
	padding-right: 20px;
	padding-left: 20px;
}

section:after,
.contents_body-sb:after{
	content: '';
	display: table;
	clear: both;
}
.contents_body-sb > :first-child{
	margin-top: 0 !important;
}
.contents_body-sb > :last-child{
	margin-bottom: 0 !important;
}


/*
---
---------------------------------------------------------------------------*/
.breadcrumbs {
	font-size: 1.2rem;
	padding: 5px 20px 0 20px;
}
.breadcrumbs a:hover {
	color: #004d9d;
}
.breadcrumbs a {
	color: inherit;
}


/*
---
---------------------------------------------------------------------------*/
.top-news-wrapper{
	display: none;
}
.top-news-wrapper.active{
	display: block;
}


/*
---
---------------------------------------------------------------------------*/
footer{
	overflow: hidden;
}

.footer__banner__wrapper {
	background-color: #f7f7f9;
	padding: 50px 0;
}
.footer__banner__item {
	padding: 10px;
}
.footer__banner__flex {
	margin-left: -10px;
	margin-right: -10px;
}
.footer__banner__inner {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.2);
	color: inherit;
}
.footer__banner__inner:hover {
	transform: scale(0.9);
}
.footer__banner__inner span {
	display: block;
	padding: 5px;
}
.footer__banner__inner img {
	width: 100%;
}


.footer__menu__wrapper {
	background-size: cover;
	background-position: center;
	position: relative;
	padding: 40px 0;
}
.footer__menu__wrapper:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: #fff;
	opacity: .8;
}
.footer__menu__flex {
	position: relative;
}
.footer__menu__flex a {
	display: block;
	color: inherit;
}
.footer__menu__flex a:hover {
	color: #004d9d;
}
.footer__menu__top {
	width: 25%;
	flex-shrink: 0;
	padding-right: 40px;
}
.footer__menu__top a {
	font-size: 2rem;
	font-weight: bold;
}
.menu-item.footeronly,
.menu-item.sitemaponly {
	display: none;
}
.footer__menu__ul .footeronly {
	display: block;
}
.footer__menu__ul {
	margin-right: -40px;
	flex-grow: 1;
}
.footer__menu__ul > li {
	padding-right: 40px;
	width: 33.333333333%;
}
.footer__menu__ul > li:nth-of-type(n+4) {
	padding-top: 30px;
}
.footer__menu__ul > li > a {
	display: none;
}
.footer__menu__ul > li > .sub-menu > li + li {
	margin-top: 30px;
}
.footer__menu__ul > li > .sub-menu > li > a {
	font-size: 2rem;
	font-weight: bold;
}
.footer__menu__ul > li > .sub-menu > li > .sub-menu {
	margin-top: 10px;
	font-size: 1.4rem;
}
.footer__menu__ul > li > .sub-menu > li > .sub-menu > li + li {
	margin-top: 10px;
}
.footer__menu__ul > li > .sub-menu > li > .sub-menu > li > a {
	padding-left: 2rem;
}
.footer__menu__ul > li > .sub-menu > li.parentnone > a {
	display: none;
}
.footer__menu__ul > li > .sub-menu > li.parentnone > .sub-menu > li > a {
	padding-left: 0;
}

.footer__add__logo {
    max-width: 286px;
    position: relative;
}
.footer__add__logo:before {
    content: "";
    display: block;
    padding-bottom: calc(52 / 286 * 100%);
}
.footer__add__logo svg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.footer__add__wrapper {
	padding: 40px 0 10px;
}
.footer__add__add a {
	color: inherit;
}
.footer__add__sns__flex {
	justify-content: center;
}
.footer__add__sns__inner:hover {
	opacity: .5;
}

.copy{
	text-align: center;
	font-size: 1rem;
}


/*
---
---------------------------------------------------------------------------*/
.go_page_top{
	position: fixed;
	bottom: 5px;
	right: 5px;
	opacity: 0;
	z-index: 100;
	cursor: pointer;
	width: 85px;
	height: 85px;
	transition: all .5s;
	border-radius: 5px;
	background-color: rgba(77,77,77,1);
}
.go_page_top img{
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
.scrolled .go_page_top{
	opacity: 0.65;
}
.notouch.scrolled .go_page_top:hover{
	opacity: 1;
}


/*
---
---------------------------------------------------------------------------*/
.remodal__iecheck__wrapper {
	background-color: transparent;
}
.remodal__iecheck__contents {
	background-color: #fff;
	padding: 40px;
	border-radius: 3px;
}
.remodal__iecheck__checkbox__wrapper label {
	display: block;
	background-color: #f2f2f2;
	border-radius: 3px;
	padding: 10px;
	cursor: pointer;
}


@media only screen and (max-width: 1279px) {
	header #logo{
	}
}


@media only screen and (max-width: 1023px) {
	/*
	---
	---------------------------------------------------------------------------*/
	
	
}


@media only screen and (max-width: 767px) {
	header #logo {
		width: 100%;
		padding: 10px 60px 10px 10px;
	}
	header #logo a {
		max-width: 220px;
	}
	.header__inner {
		position: relative;
		min-height: 60px;
	}
	.header__middle {
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		z-index: 2;
		padding: 20px 10px 0;
		display: flex;
		align-items: center;
	}
	.header__right {
		position: fixed;
		right: 0;
		top: 0;
		z-index: 10;
	}
	.header__menu__button {
		width: 60px;
	}
	.header__menu__button span {
		top: 50%;
	}
	.header__menu__button span:nth-of-type(1) {
		transform: translate(-50%, -10px);
	}
	.header__menu__button span:nth-of-type(2) {
		transform: translate(-50%, 0px);
	}
	.header__menu__button span:nth-of-type(3) {
		transform: translate(-50%, 10px);
	}
	.header__menu__button:after {
		content: none;
	}
	.common__yakuinlink {
		display: none;
	}
	.common__submenu3 {
		margin-left: 0;
		margin-right: -5px;
		padding-left: 10px;
		padding-top: 15px;
		padding-bottom:15px;
	}
		.common__submenu3 > li {
		font-size:12px;
		padding: inherit;
	}
	.common__submenu {
		margin-left: 0;
		margin-right: -5px;
		padding-left: 15px;
	}

	.common__submenu > li {
		padding: 20px 0 5p 0 x;
	}


/*
---
---------------------------------------------------------------------------*/
	.footer__banner__flex {
		margin-left: -5px;
		margin-right: -5px;
	}
	.footer__banner__item {
		padding: 10px 5px 0;
	}
	.footer__banner__wrapper {
		padding: 35px 0 5px;
	}
	.footer__banner__sitemap a {
		color: inherit;
		font-size: 1.4rem;
	}
	.footer__menu__wrapper {
		display: none;
	}
	.footer__add__logo {
		max-width: 220px;
	}
	.footer__add__sns__flex {
		justify-content: flex-start;
	}
	.copy {
		text-align: left;
	}
	
	.go_page_top{
		width: 50px;
		height: 50px;
	}
}


@media only screen and (max-width: 450px) {
	body{
	}
}