@charset "UTF-8";

* {
	font-feature-settings: "palt" 1;
}
body {
	font-family: 'Noto Sans JP', sans-serif;
	font-family: 'Open Sans', sans-serif;
	-webkit-font-smoothing: antialiased;
	color: #000;
	background: url(../images/body_bg.png);
	padding-top: 148px;
	position: relative;
}
body.admin_detail {
	padding-top:0;
}

body.admin_detail .main__contents {
	padding-top:0;
	width:800px;
}



.noLink {
	pointer-events: none;
}

.sp {
	display: none;
}




header {
	width: 100%;
	/*height: 84px;*/
	background-color: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
}
header .header__main {
	display: flex;
	justify-content: space-between;
	align-items: center;
	/*width: 100%;
	width:70%;*/
	/*min-width: 1040px;*/
	width: 1100px;
	height: 100px;
	margin: 0 auto;
	padding: 0 20px;
	position: relative;
}

header .header__main h1,
header .header__main h2 {
	width:30%;
	max-height: 100%;
	/*margin-right:3%;*/
	text-align:center;
}
header .header__main h2.subLogo.last {
	margin-right:0;
}
header .header__main h1 img,
header .header__main h2 img {
	max-width:100%;
}



header .logo {
	display: flex;
	align-items: center;
	height: 100%;
}
header .logo a {
	display: block;
	height: 47px;
}
header .logo a img {
	width: auto;
	height: 100%;
}
header .header_utility {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
header .header_info {
	margin-right: 20px;
}
header .header_info li {
	display: flex;
	align-items: center;
}
header .header_info li+li {
	margin-top: 6px;
}
header .header_info li .title {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 70px;
	height: 24px;
	font-size: 1.4em;
	color: #fff;
	line-height: 1.6;
	text-align: center;
	background-color: #063062;
	border-radius: 4px;
	margin-right: 10px;
}
header .header_info li .text {
	font-size: 1.4em;
	font-weight: bold;
}
header .header_info li .text strong {
	font-weight: bold;
}




nav {
	display: flex;
	justify-content: center;
	width: 100%;
	height: 64px;
	font-size:1.1em;
	background-color: #e60012;
	position: relative;
}
nav .nav__main {
	display: flex;
	justify-content: center;
	min-width: 1040px;
	padding: 0 20px;
}
nav .nav__main > li {
	height: 100%;
}
nav .nav__main > li > a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	font-size: 1.5em;
	color: #fff;
	line-height: 1.2;
	text-decoration: none;
	background-color: rgba(255,255,255,0);
	transition: ease .3s;
}
nav .nav__main > li > a > span {
	border-left: 1px solid rgba(255,255,255,.5);
	padding: 0 50px;
}
nav .nav__main > li:last-of-type > a > span {
	border-right: 1px solid rgba(255,255,255,.5);
}

nav .nav__main > li:last-of-type > a > span.btnEng {
	display: inline-block;
    background: #fff;
    color: #e60013;
    padding: 0.3em 1em;
    border-radius: 0.5em;
    line-height: 1.5;
    font-size:0.9em;
}

nav .nav__main > li.drop > a {
	position: relative;
}
nav .nav__main > li.drop > a::before {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
	position: absolute;
	bottom: 12px;
	left: 50%;
	-webkit-transform: rotate(45deg) translateX(-50%);
	transform: rotate(45deg) translateX(-50%);
}
nav .nav__main > li > a:hover {
	opacity:0.7;
}

nav .nav__second {
	display: flex;
	justify-content: center;
	width: 100%;
	height: 64px;
	background-color: #001631;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 10;
	-webkit-transform: translateY(90%);
	transform: translateY(90%);
	visibility: hidden;
	opacity: 0;
	transition: ease .3s;
}
nav .nav__second > li {
	height: 100%;
}
nav .nav__second > li > a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	font-size: 1.4em;
	color: #fff;
	line-height: 1.2;
	text-decoration: none;
	background-color: rgba(255,255,255,0);
	transition: ease .3s;
}
nav .nav__second > li > a > span {
	padding: 0 25px;
}
nav .nav__second > li+li > a > span {
	border-left: 1px solid rgba(255,255,255,.5);
}


nav .nav__main > li:hover > a {
	background-color: rgba(255,255,255,.1);
}
nav .nav__main > li.drop:hover > a.hover_drop + .nav__second {
	visibility: visible;
	opacity: 1;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}
nav .nav__second > li > a:hover {
	background-color: rgba(255,255,255,.1);
}


nav ul.mypage {
	display:flex;
	justify-content: space-between;
	width:100%;
	max-width:1100px;
	align-items: center;
	font-size:1.4em;
}
nav ul.mypage li.welcome {
	color:#fff;
}
nav ul.mypage li.welcome span {
	font-weight:bold;
}


nav ul.mypage li.menu {

}
nav ul.mypage li.menu ul {
	display:flex;
	justify-content: space-between;
	width:100%;
	align-items: center;

}

nav ul.mypage li.menu ul li {
	margin-left:1%;
}

nav ul.mypage li.menu ul li a {
	background:#fff;
	padding:0.3em 1em;
	border-radius:0.3em;
	text-decoration:none;
	white-space: nowrap;
}
nav ul.mypage li.menu ul li a:hover {
	opacity:0.7;
}


#sp_nav_btn {
	display: none;
	width: 7%;
	height: 12px;
	position: absolute;
	top: 50%;
	right: 5%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	cursor: pointer;
	z-index: 100;
}
#sp_nav_btn span.bar {
	display: block;
	width: 100%;
	height: 3px;
	background-color: #e60012;
	position: absolute;
	left: 0;
	transition: ease .3s;
}
#sp_nav_btn span.bar:nth-of-type(1) {
	top: 0;
}
#sp_nav_btn span.bar:nth-of-type(2) {
	bottom: 0;
}
#sp_nav_btn.active span.bar:nth-of-type(1) {
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(-45deg);
	transform: translateY(-50%) rotate(-45deg);
}
#sp_nav_btn.active span.bar:nth-of-type(2) {
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
}


footer {
	background-color: #002552;
}
footer .section__main {
	width: 1040px;
	margin: 0 auto;
	padding: 0 20px;
}


footer .footer__nav__section .section__main {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 70px 20px 75px;
}

footer .footer__nav__section .contact_block {
}
footer .footer__nav__section .logo {
	width: 313px;
	margin-bottom: 30px;
}
footer .footer__nav__section .logo a {
	display: block;
	width: 100%;
}
footer .footer__nav__section .logo a img {
	width: 100%;
	height: auto;
}
footer .footer__nav__section .contact h3 {
	font-size: 1.6em;
	font-weight: bold;
	color: #fff;
	line-height: 1.125;
	margin-bottom: 10px;
}
footer .footer__nav__section .contact li {
	display: flex;
	align-items: center;
	font-size: 1.4em;
	color: #fff;
	line-height: 1.6;
}
footer .footer__nav__section .contact li.tel::before,
footer .footer__nav__section .contact li.fax::before {
	content: "";
	display: block;
	width: 14px;
	height: 11px;
	margin-right: 7px;
}
footer .footer__nav__section .contact li.tel::before {
	background: url(../images/icon_tel@2x.png) no-repeat center center;
	background-size: contain;
}
footer .footer__nav__section .contact li.fax::before {
	background: url(../images/icon_fax@2x.png) no-repeat center center;
	background-size: contain;
}


footer .footer__nav__section .nav_block {
	display: flex;
}
footer .footer__nav__section .nav_block .box_center {
	border-left: 1px solid rgba(255,255,255,.26);
	border-right: 1px solid rgba(255,255,255,.26);
	margin: 0 40px;
	padding: 0 40px;
}

footer .footer__nav__section .nav_block .nab_box a {
	font-size: 1.6em;
	font-weight: bold;
	color: #fff;
	line-height: 1.2;
	text-decoration: none;
	transition: ease .3s;
}
footer .footer__nav__section .nav_block .nab_box .nav_first > li+li {
	margin-top: 30px;
}
footer .footer__nav__section .nav_block .nav__second {
	margin-top: 25px;
}
footer .footer__nav__section .nav_block .nav__second li+li {
	margin-top: 20px;
}
footer .footer__nav__section .nav_block .nav__second a {
	display: flex;
	align-items: center;
	font-size: 1.4em;
	font-weight: normal;
}
footer .footer__nav__section .nav_block .nav__second a::before {
	content: "";
	display: block;
	width: .5em;
	height: .5em;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin-right: .8em;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

footer .footer__nav__section .nav_block .nab_box a:hover {
	opacity: .8;
}


footer .footer__copy__section {
	height: 64px;
	background-color: #e60012;
}
footer .footer__copy__section .section__main {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	/*justify-content: center;*/
	align-items: center;
	height: 100%;
}
footer .footer__copy__section .section__main .nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
footer .footer__copy__section .section__main small {
	font-size: 1.2em;
	color: #fff;
}
footer .footer__copy__section .section__main .nav li+li {
	border-left: 1px solid #fff;
	margin-left: 20px;
	padding-left: 20px;
}
footer .footer__copy__section .section__main .nav a {
	font-size: 1.2em;
	color: #fff;
	line-height: 1.1;
	text-decoration: none;
	transition: ease .3s;
}
footer .footer__copy__section .section__main .nav a:hover {
	opacity: .8;
}


.main__contents {
	width: 1100px;
	margin: 0 auto;
	padding: 50px 0;
}




.btnLayoutBig {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin:0 auto 80px;

}

.btnLayoutBig a {
	display:flex;
	font-size:1.5em;
	width:48%;
	justify-content: space-between;
	text-decoration:none;
	align-items:center;
	border:solid 2px #ccc;
	padding:0.6em;
	background:#fff;
	transition: ease .3s;
}
.btnLayoutBig a:hover {
	opacity:0.7;
}

.btnLayoutBig a span.icon {
	background:#e60012;
	color:#fff;
	padding:0.3em 0.5em;
	font-size:2em;
}
.btnLayoutBig a span.exp {
	font-weight:bold;
	font-size:1.2em;
	color:#000;
}
.btnLayoutBig a span.txt {
	border-left:2px #ccc solid;
	padding-left:1em;
	font-weight:bold;
	color:#000;
}

body.en .btnLayoutBig a span.exp {
	text-align:center;
	width:70%;
}



.btnLayoutBig a+a {
	margin-left:2%;
}


.ftNav {
	background:#eee;
	padding:2em;
	width:100%;
}

.ftNav p.menuTtl {
	text-align:center;
	font-size:1.6em;
	padding:0em 0 1em;
}


.ftNav .inner {
	display:flex;
	justify-content: center;
	width:1100px;
	margin:auto;
	font-size:1.5em;
	font-size:1.3em;
}
.ftNav .inner a {
	display:flex;
	width:22%;
	justify-content: space-between;
	align-items:center;
	background:#fff;
	border:solid 1px #ccc;
	padding:1em;
	text-decoration:none;
	transition: ease .3s;
}
.ftNav .inner a:hover {
	opacity:0.7;
}
.ftNav .inner a span.txt {
	color:#000;
	font-size:1.2em;
}
.ftNav .inner a span.icon {
	background:#e60012;
	color:#fff;
	padding:0.3em 1em;
}


.ftNav .inner a+a {
	margin-left:2%;
}

/* screens smaller than 1440---------------------------------------------------------- */
@media only screen and (max-width:1440px) {



}

/* screens smaller than 1366---------------------------------------------------------- */
@media only screen and (max-width:1366px) {



}

/* screens smaller than 1280---------------------------------------------------------- */
@media only screen and (max-width:1280px) {



}

/* screens smaller than 1080---------------------------------------------------------- */
@media only screen and (max-width:1080px) {



}

/* screens smaller than 960---------------------------------------------------------- */
@media only screen and (max-width:960px) {



}

/* screens smaller than 768---------------------------------------------------------- */
@media only screen and (max-width:768px) {

	body {
		padding-top: 70px;
	}

	header {
		/*height: 70px;*/
	}
	header .header__main {
		/*justify-content: space-around;*/
		/*justify-content: flex-start;*/
		border-bottom: 1px solid #f4f4f4;
		/*background-color: #ccc;*/
		min-width: inherit;
		height: auto;
		padding: 10px 2%;
		width:100%;
	}
	header .header__main h1,
	header .header__main h2 {
		width: 28%;
		margin-right: 2%;
	}
	header .logo a {
		height: 32px;
	}
	header .header_utility {
		display: none;
	}


	#sp_nav_btn {
		display: block;
		right: 3%;
	}
	nav {
		display: none;
		height: calc(100vh - 70px);
		height: 100vh;
		background-color: #fff;
		border-top: 2px solid #063062;
		padding: 60px;
	}
	nav .nav__main {
		display: block;
		min-width: inherit;
		padding: 0;
	}
	nav .nav__main > li {
		height: auto;
	}
	nav .nav__main > li+li {
		margin-top: 6%;
	}
	nav .nav__main > li > a {
		display: inline-flex;
		justify-content: flex-start;
		height: auto;
		font-size: 2em;
		font-weight: bold;
		color: #000;
	}
	nav .nav__main > li > a > span {
		border-left: 0;
		padding: 0;
	}
	nav .nav__main > li:last-of-type > a > span {
		border-right: 0;
	}
	nav .nav__main > li.drop > a::before {
		display: none;
	}
	nav .nav__second {
		display: block;
		width: 100%;
		height: auto;
		background-color: transparent;
		position: static;
		-webkit-transform: translateY(0);
		transform: translateY(0);
		visibility: visible;
		opacity: 1;
	}
	nav .nav__second > li {
		height: auto;
		margin-top: 6%;
	}
	nav .nav__second > li > a {
		display: inline-flex;
		justify-content: flex-start;
		height: auto;
		font-size: 1.8em;
		color: #000;
		position: relative;
	}
	nav .nav__second > li > a::before {
		content: "";
		display: block;
		width: .5em;
		height: .5em;
		border-top: 1px solid #000;
		border-right: 1px solid #000;
		margin-right: 1em;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	nav .nav__second > li > a > span {
		padding: 0;
	}
	nav .nav__second > li+li > a > span {
		border-left: 0;
	}
	nav .nav__main > li.drop:hover > a.hover_drop + .nav__second {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}


	nav .btn_link_yamatocci {
		width: 50%;
		height: auto;
		font-size: 2.2em;
		margin: 10% auto 0;
		padding: .8em;
	}

	nav .nav__main > li:last-of-type > a > span.btnEng {
		display: inline-block;
	    background: none;
	    color: #e60013;
	    padding: 0;
	    border-radius: 0em;
	    line-height: 1.5;
	    font-size:1em;
	}



	.btnLayoutBig {
		width:auto;
		display:block;
	}

	.btnLayoutBig a {
		width:100%;
	}
	.btnLayoutBig a+a {
		margin-left:0;
		margin-top:20px;
	}

	.ftNav .inner {
		width:100%;
		flex-wrap:wrap;
		justify-content: space-between;
	}
	.ftNav .inner a {
		width:49%;
		margin-bottom:1%;
	}
	.ftNav .inner a+a {
		margin:0;
		margin-bottom:1%;

	}

	footer .section__main {
		width: 100%;
		padding: 0 40px;
	}
	footer .footer__nav__section .section__main {
		display: block;
		padding: 60px 40px;
	}
	footer .footer__nav__section .nav_block {
		display: flex;
		justify-content: center;
		border-top: 1px solid rgba(255,255,255,.26);
		margin-top: 40px;
		padding-top: 40px;
	}

	footer .footer__nav__section .logo {
		width: 256px;
		margin-bottom: 40px;
	}
	footer .footer__nav__section .contact h3 {
		font-size: 1.4em;
		margin-bottom: 12px;
	}
	footer .footer__nav__section .contact li {
		font-size: 1.2em;
	}
	footer .footer__nav__section .contact li.tel::before,
	footer .footer__nav__section .contact li.fax::before {
		width: 13px;
		height: 10px;
		margin-right: 7px;
	}


	/* 20211210 add */
	.main__contents {
		width: 100%;
		padding: 12% 3% 80px;
	}
	.mypage .entry_section {
		margin: 0 auto;
	}
	.mypage #sp_nav_btn {
		display: none;
	}
	.mypage nav {
		display: block;
		height: auto;
		font-size: 1.9vw;
		background-color: #e60012;
		border-top: 0;
		padding: 10px;
	}

}

/* screens smaller than 690---------------------------------------------------------- */
@media only screen and (max-width:690px) {

	.sp {
		display: block;
	}

	nav {
		font-size: 2vw;
		padding: 10% 16%;
	}
	nav .nav__main > li+li {
		margin-top: 10%;
	}
	nav .nav__second > li {
		margin-top: 10%;
	}
	nav .btn_link_yamatocci {
		width: 100%;
		margin: 18% auto 0;
		padding: 0.8em;
	}

	footer .footer__nav__section .contact_block {
		font-size: 3vw;
	}
	footer .footer__nav__section .logo {
		width: 86.779661%;
		margin-bottom: 14%;
	}
	footer .footer__nav__section .section__main {
		padding: 14% 10.666667%;
	}
	footer .footer__nav__section .nav_block {
		display: block;
		font-size: 2.6vw;
		margin-top: 14%;
		padding-top: 14%;
	}
	footer .footer__nav__section .nav_block::after {
		content: "";
		display: block;
		clear: both;
	}
	footer .footer__nav__section .nav_block .nab_box {
		float: left;
		width: 50%;
	}
	footer .footer__nav__section .nav_block .box_center {
		float: right;
		border-left: 0;
		border-right: 0;
		margin: 0;
		padding: 0;
	}
	footer .footer__nav__section .nav_block .nab_box .nav_first > li+li {
		margin-top: 16%;
	}
	footer .footer__nav__section .nav_block .nav__second {
		margin-top: 12%;
	}
	footer .footer__nav__section .nav_block .nav__second li+li {
		margin-top: 16%;
	}
	footer .footer__nav__section .nav_block .box_right {
		margin-top: 10%;
	}

	footer .footer__copy__section {
		height: auto;
	}
	footer .footer__copy__section .section__main {
		display: block;
		padding: 4% 2%;
	}
	footer .footer__copy__section .section__main .nav {
		display: block;
	}
	footer .footer__copy__section .section__main .nav li+li {
		margin-top: 10%;
		border-left: 0;
		margin-left: 0;
		padding-left: 0;
	}
	footer .footer__copy__section .section__main .nav a {
		font-size: 4vw;
	}
	footer .footer__copy__section .section__main small {
		display: block;
		text-align: center;
		font-size: 2vw;
		margin-top: 0;
	}


}


p a {
	color:#e60012;
}
p a:hover {
	text-decoration:none;
}


.mb5 { margin-bottom:5px!important; }
.mb10 { margin-bottom:10px!important; }
.mb20 { margin-bottom:20px!important; }
.mb30 { margin-bottom:30px!important; }
.mb40 { margin-bottom:40px!important; }
.mb50 { margin-bottom:50px!important; }
.mb60 { margin-bottom:60px!important; }
.mb80 { margin-bottom:80px!important; }

.taC { text-align:center!important; }
.taL { text-align:left!important; }
.taR { text-align:right!important; }

.fwB { font-weight:bold!important; }
.fwN { font-weight:normal!important; }

.red { color:#e60012; }

/* page TOP DOWN  */
#updown {

    font-size: 25px;
    color: #00a1e0;
    background: #fff;
    text-align: center;
    z-index: 1000;
    position: fixed;
    left: 10px;
    bottom: 10px;
    border-radius: 18px;
    box-shadow: 0 1px 5px rgba(0,0,0,0.2);
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.2s ease-in-out, visibility 0s 0.2s;
    transition: opacity 0.2s ease-in-out, visibility 0s 0.2s;

    opacity: 1;
    visibility: visible;
    -webkit-transition-delay: 0s, 0s;
    transition-delay: 0s, 0s;

}

#updown a {
    line-height: 36px;
    color: #e60012;
    display: block;
    height: 36px;
    width: 36px;
}


[class^="icon-"], [class*=" icon-"] {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


#updown .down:before {
    content: "";
    display: block;
    background: #ded6cf;
    width: 18px;
    height: 1px;
    margin: 0 auto;
}
.icon-up:before {
    content: "\e903";
}
.icon-down:before {
    content: "\e904";
}

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


hr {
	border-top:1px solid #ccc;
	margin:1em auto;
	border-width:1px;
}


a#infoPosit {
	display:block;
	padding-top: 170px;
	margin-top:-170px;
}

table.tblAgree {
	width:100%;
	margin-bottom:20px;
}

table.tblAgree th,
table.tblAgree td {
	padding:3px;
	font-weight:normal;
	text-align:left;
	vertical-align:top;
	border:0;
}
table.tblAgree th {
	white-space:nowrap;
}
table.tblAgree td {
	width:99%;
}

ul.circle {
	list-style-type: disc;
	margin-left:1.2em;
}
ul.circle li {
	margin-bottom:0.3em;
}

