@charset "UTF-8";


/* 01. Reset ---------------------------------------*/

div,dl,dt,dd,ul,ol,
li,h1,h2,h3,h4,h5,
h6,pre,code,form,fieldset,legend,
input,textarea,p,blockquote,
th,td{margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;word-break: break-all;font-size:inherit;width:100%;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q::before,q::after{content:'';}
abbr{border:0;font-variant:normal;}
sup{vertical-align:text-top;}
sub{vertical-align:text-bottom;}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select{*font-size:100%;}
select,input,button,textarea{font:99% arial,helvetica,clean,sans-serif;}
pre,code,kbd,samp{font-family:monospace;*font-size:108%;line-height:100%;}
.aligncenter{text-align:center;}
img{vertical-align: bottom;line-height: 1;}
figure{padding:0;margin:0;}
figcaption{padding:0;width:100%;}

*{box-sizing:border-box;}


/* 02. Base ---------------------------------------*/

html{
	font-size: 10px;
/*	overflow-x: hidden!important; */
}

body{
	-webkit-text-size-adjust: 100%;
	padding:0;
	margin: 0;
	font-family:  Hiragino Sans, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif,Roboto;
	color: #484848;
	background-color: #fafafa;
	font-size:1.6rem;
	font-feature-settings: "palt";
	letter-spacing: 1px;
	-webkit-font-smoothing: antialiased;
}

a{
	color:inherit;
	text-decoration: none;
}

p{	
	font-size: 1.4rem;
	line-height: 1.57;
	color: #767676;
}

img{max-width:100%;height: auto;}

figcaption{
	font-weight: normal;
	font-size: 1.2rem;
	line-height: 1.5;
	color: #767676;
	padding-top: 10px;
}


/* common item ---------------------------------------*/

.clearfix::after{
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}


@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, .foo { color: red } /* IE11 */
}

@media all and (-ms-high-contrast:none){
	.foo { color: green } /* IE10〜Edge */
}


/* accessibility ---------------------------------------*/

.forvoice{
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute;
}


/* layout ---------------------------------------*/

.l-contents{}

body.is-searchopen .l-contents{padding-top: 143px;}

.l-wrapper{
	padding-right: 40px;
	padding-left: 40px;
	min-width: 1280px;
	overflow: hidden;
}

.l-inner{
	max-width: 1200px;
	margin: 0 auto;
}

.l-inner-single {
	max-width: 840px;
	margin: 0 auto;
}

.l-center{width:840px;}

.l-flex-wrapper{
	display:flex;
	justify-content:space-between;
}

.l-flex-wrapper.is-center{align-items:center;}

.l-listmain{width:840px;}
.l-articlemain{width:840px}
.l-half-1{width:calc(50% + 24px);padding-right: 24px;}

.l-half-2{
	width:calc(46% + 24px);padding-left: 24px;
	border-left:1px solid #dbdbdb;
}

.l-half-3{
	width:50%;
	padding-right: 24px;
}

.l-half-4{
	width:50%;
	padding-left: 24px;
	border-left:1px solid #dbdbdb;
}

.l-quarter {
}

.l-side{width:300px;}
.l-side-s{width:120px;}

.l-wrapper.is-navy,
.main-contents.is-navy,
.sub-contents.is-navy{
	background: #031D2E;
	color:#BFBFBF;
}
.main-contents.is-navy{
	min-width: 1280px;
}

/* header ---------------------------------------*/

header{
	background: #fff;
	height: 116px;
	padding: 0 40px;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16);
	position: relative;
	min-width: 1280px;
	z-index: 100;
}

.header-inner {
	max-width: 1200px;
	position: relative;
	margin: 0 auto;
}

.header-logo {
	position: absolute;
	left: 50%;
	top: 30px;
	transform: translate(-50%,-50%);
}

.header-logo a{
	display: block;
	text-indent:-99em;
	overflow: hidden;
	background:url('../../../images/v2/common/logo.svg') no-repeat center center;
	background-size: 100%;
	width: 180px;
	height: 40px;
}

.header-menu {
	position: absolute;
	top: 15px;
}

.header-menu-left {left: 0;}
.header-menu-right {right: 0;}

.header-menu-list {
	font-size: 0;
	display: inline-block;
	vertical-align: middle;
}

.header-menu-list li {
	display: inline-block;
	font-size: 1.1rem;
	line-height: 1.2;
	color: #484848;
	display: inline-block;
}

.header-menu-list li a{
	display: block;
	padding: 0 15px;
	border-left:1px solid #dbdbdb;
}

.header-menu-left .header-menu-list li a {
	font-weight: bold;
}

.header-menu-list li a:hover{text-decoration: underline;}

.header-menu-list li:first-child a{
	padding-left: 0;
	border-left: none;
}

.header-menu-list li:last-child a{padding-right: 0;}

.header-member{
	display: inline-block;
	vertical-align: top;
	line-height: 1.2;
	margin-left: 30px;
}

.header-signup{
	display: inline-block;
	vertical-align: middle;
}

.header-login{
	display: inline-block;
	margin-left: 20px;
}

.header-login a{
	display: inline-block;
	font-size: 1.1rem;
	font-weight:600;
	line-height: 2.27;
	color: #484848;
}

.header-login a:hover{text-decoration: underline;}

.header-member-menu{
	display: inline-block;
	position: relative;
	z-index: 10;
	vertical-align: middle;
}

.header-member-menu-btn{
	cursor: pointer;
	display: inline-block;
	line-height: 1.2;
	position: relative;
	font-weight:600;
	font-size: 1.1rem;
	color: #484848;
	padding:5px 12px 25px 0;
}

.header-member-menu-btn::after{
	display:block;
	content:'';
	background:url('../../../images/v2/common/arrow_select.svg') no-repeat left top;
	background-size:100%;
	width:6px;
	height:4px;
	position:absolute;
	right:0;
	top:10px;
}

.header-member-menu-btn.is-open::after{transform: rotate(180deg);}

.header-member-menu-detail{
	position: absolute;
	top: 40px;
	right: 0;
	width: 323px;
	box-shadow: 0 0 16px 0 rgba(0, 0, 0, .16);
	background-color: #ffffff;
	padding: 32px 26px 26px;
	display: none;
}

.header-member-menu-detail::before {
	content: '';
	position: absolute;
	z-index: 1;
	width: 14px;
	height: 14px;
	box-shadow: 0 0 10px 0 rgba(163,163,163,.5); /* ぼかし距離(第3引数)，拡散距離(第4引数)，色(第5引数) */
	background: #fff;
	top: -7px;
	right: 30px;
	transform: rotate(45deg) skew(15deg,15deg); /* 傾斜角(skew) */
}

.header-member-menu-detail::after {
	content: '';
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
}

.header-member-menu-detail-main{
	padding-bottom: 25px;
	position: relative;
	z-index: 3;
}

.header-member-menu-detail-main li{margin-top: 18px;}
.header-member-menu-detail-main li:first-child{margin-top: 0;}

.header-member-menu-detail-main li a{
	display: block;
	font-weight: normal;
	font-size: 1.4rem;
	line-height: 1.43;
	/*padding-left: 25px;*/
	color: #222222;
	/*background:url('../../../images/v2/common/icon_profile.svg') no-repeat left center;*/
	background-size: 19px 19px;
}

.header-member-menu-detail-main li a:hover{text-decoration: underline;}

/*.header-member-menu-detail-main li.menu-profile a{	background-image:url('../../../images/v2/common/icon_profile.svg');}
.header-member-menu-detail-main li.menu-pay a{	background-image:url('../../../images/v2/common/icon_pay.svg');}
.header-member-menu-detail-main li.menu-contract a{	background-image:url('../../../images/v2/common/icon_contract.svg');}
.header-member-menu-detail-main li.menu-history a{	background-image:url('../../../images/v2/common/icon_history.svg');}
.header-member-menu-detail-main li.menu-magazine a{	background-image:url('../../../images/v2/common/icon_magazine.svg');}
.header-member-menu-detail-main li.menu-social a{	background-image:url('../../../images/v2/common/icon_mobile.svg');}
*/
.header-member-menu-detail-sub{
	padding-top: 1px;
	border-top: solid 1px #e6e6e6;
	position: relative;
	z-index: 3;
}

.header-member-menu-detail-sub li{margin-top: 15px;}

.header-member-menu-detail-sub li a{
	display: block;
	font-weight: normal;
	font-size: 1.4rem;
	line-height: 1.43;
	padding-left: 0;
	color: #222222;
}

.header-member-menu-detail-sub li a:hover{text-decoration: underline;}

.header-date p{
	padding-top: 12px;
	font-size: 1.1rem;
	line-height: 1.64;
	color: #484848;
}


/* gnav ---------------------------------------*/

.gnav {
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 100%;
	padding: 0 40px;
}

.gnav-inner{
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
  	display:-webkit-box;
  	display:-ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.is-searchopen .gnav-inner {
	justify-content: center;
}

.gnav-list {
	font-size: 0;
	text-align: center;
}

.gnav-list-item {
	display: inline-block;
	font-weight:600;
	font-size: 1.2rem;
	line-height: 1.1;
	color: #484848;
	vertical-align: top;
	position: relative;
}

.gnav-list-item > a{
	display: block;
	padding: 15px;
	position: relative;
	overflow: hidden;
}

.gnav-list-item:first-child > a {
	padding-left: 0;
}

.gnav-list-item:last-child > a {
	padding-right: 0;
}

@media screen and (max-device-width: 810px) and (orientation:portrait){
	.gnav-list-item > a{
		padding: 15px;
	}
}

.gnav-list-item > a:hover,
.gnav-list-item > a.is-current{
	color: #0078c6;
	opacity: 1;
}

.gnav-list-item > a::before{
	content:'';
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0,-50%);
	background: #dbdbdb;
	width:1px;
	height:15px;
}

.gnav-list-item > a::after{
	content:'';
	display: block;
	position: absolute;
	left: 0;
	bottom: 1px;
	transform: translate(-101%,0);
	background: #0078c6;
	width:100%;
	height:3px;
}

.gnav-list-item:hover > a::after{
	transform: translate(0,0);
	opacity: 1;
}

.gnav-list-item:first-child > a::before{display: none;}


.gnav-search {
	width: 160px;
}

.is-searchopen .gnav-search {
	display: none;
}

.gnav-search-box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border: 1px solid #dbdbdb;
}

.gnav-search-keyword-include {
	width: 85%;
	padding: 6px 0 6px 6px;
	border: none;
	font-size: 12px;
	outline: none;
}

.gnav-search-submit {
	border: none;
	background: transparent;
	padding: 0;
    transform: translate(-5px, 2px);
    cursor: pointer;
}

.gnav-submenu {
	position: absolute;
	left: 0;
	top: 41px;
	width: 460px;
	box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .16),  0 2px 2px 0 rgba(0, 0, 0, .16) inset;
	background-color: #fcfcfc;
	padding: 18px 24px;
	text-align: left;
	display: none;
	z-index: 100;
}

.gnav-submenu.is-wide {width: 670px;}

.gnav-submenu.is-right {
	left: auto;
	right: 0;
}

.gnav-submenu-main {
	padding-bottom: 10px;
}

.gnav-submenu-box {width: 50%;}
.gnav-submenu.is-wide .gnav-submenu-box{width:33.3333%;}

.gnav-submenu-list > li{
	font-weight:600;
	font-size: 1.2rem;
	line-height: 2;
	color: #484848;
}

.gnav-submenu-main .gnav-submenu-list{
	display:flex;
	flex-wrap:wrap;
}

.gnav-submenu-main .gnav-submenu-list > li{width:50%;}
.is-wide .gnav-submenu-main .gnav-submenu-list > li{width:33.333%;}

.gnav-submenu-list > li > a{display: block;}

.gnav-submenu-list > li > a:hover{
	opacity: 1;
	color: #0078c6;
}

.gnav-submenu-sub .gnav-submenu-list > li{
	font-weight: normal;
	font-weight: normal;
}

.gnav-submenu-sub {display:flex;}

.gnav-submenu-main + .gnav-submenu-sub{
	border-top: solid 1px #e6e6e6;
	padding-top: 12px;
}

.gnav-submenu-box-title {
	font-weight:600;
	font-size: 1.1rem;
	line-height: 1.73;
	color: #999999;
	margin-bottom: 5px;
}

.gnav-submenu-local-line {
	width: 100%;
	display:flex;
	justify-content:space-between;
	line-height: 1.0;
	margin-top: 12px;
}

.gnav-submenu-local-line:first-child {margin-top: 0;}

.gnav-submenu-local-title {
	width: 70px;
	height: 11px;
	font-weight:600;
	font-size: 1.1rem;
	color: #999;
}

.gnav-submenu-local-list {
	width: calc(100% - 70px);
	font-size: 0;
}

.gnav-submenu-local-list li{
	display: inline-block;
	font-weight:600;
	font-size: 1.2rem;
	color: #484848;
	margin-right: 10px;
}

.gnav-submenu-local-list li:last-child{margin-right: 0;}

.gnav-submenu-local-list li a:hover{
	color: #0078c6;
	opacity: 1;
}


/* header search ---------------------------------------*/

.header-search {
	background-color: #f4f4f4;
	position: absolute;
	top: 116px;
	left: 0;
	width: 100%;
	border-bottom:1px solid #dbdbdb;
	display: none;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16) inset;
}

.header-search-menu{
	position: absolute;
	right: 0;
	bottom: 5px;
	cursor: pointer;
}

.header-search-menu svg{
	width: 22px;
	height: 22px;
}

.header-search-menu:hover svg path,
.header-search-menu.is-open svg path{fill: #0078c6 !important;}

.header-search-inner{
	max-width: 840px;
	margin: 0 auto;
	padding: 20px 0 3px;
}

.search-box-wrapper.is-keyword-include {
  	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content:space-between;
	margin-bottom: 20px;
}

.search-box-wrapper.is-keyword-exclude {
	margin-bottom: 40px;
}

.search-box {
	width: calc(100% - 160px);
	position: relative;
}

.is-keyword-exclude .search-box {
	width: calc(100% - 208px);
}

.search-box.is-focus{box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .16);}

.search-box-more{
	text-align: right;
}

body.is-searchopen .search-reset{display: block;}

.search-box-more span{
	font-size: 1.4rem;
	line-height: 40px;
	cursor: pointer;
	text-align: right;
	color: #484848;
	position: relative;
	display: inline-block;
	padding-right: 20px;
}

.search-box-more span::after{
	display:block;
	content:'';
	background:url('../../../images/v2/common/arrow_up.svg') no-repeat left top;
	background-size:100%;
	width:14px;
	height:14px;
	margin-top:-7px;
	position:absolute;
	right:0;
	top:50%;
	transform: rotate(-180deg);
}

.search-box-more.is-open span::after{transform: rotate(0deg);}

.search-box-txt {
	margin-bottom: 6px;
	font-size: 10px;
	color: #767676;
	text-align: left;
}

.search-keyword-include,
.search-keyword-exclude {
	width: 100%;
	background: #fff;
	border: solid 1px #dbdbdb;
	font-size: 1.4rem;
	color: #767676;
	padding: 11px 15px;
	outline: none;
}

.search-keyword-include {
	width:calc(100% - 48px);
	border-right: none;
	float: left;
}

.search-box-wrapper.is-keyword-exclude{display: none;}

.search-box.is-focus .search-keyword-include,
.search-box.is-focus .search-keyword-exclude{border-color: #0078c6;}

.form-select.search-include-type {
	position: absolute;
	right: 48px;
	top: 2px;
	height: 36px;
	width: 140px;
	box-shadow:0 0 0 rgba(0,0,0,0);
	border:none;
}

.header-search-submit{
	position: absolute;
	right: 0;
	top: 0;
	width: 48px;
	height: 40px;
	text-indent:-99em;
	overflow: hidden;
	border:none;
	background: url('../../../images/v2/common/icon_search_white.svg') no-repeat center center #0078c6;
	background-size: 20px 20px;
	cursor: pointer;
}

.header-search-submit:hover{background-color:#008cea;}

.search-condition {
	display: none;
	padding: 10px 0 37px;
}

.search-condition-list {
	display:flex;
	justify-content:space-between;
	margin-bottom: 20px;
}

.search-condition-list > li{width: 20%;}

.search-condition-list-title {
	font-weight:600;
	font-size: 1.2rem;
	line-height: 1;
	color: #767676;
	margin-bottom: 15px;
}

.search-condition-detail-list{}

.search-condition-detail-list li{
	display: block;
	line-height: 1.0;
	font-size: 1.4rem;
	margin-bottom: 11px;
}

.search-condition-terms-period{margin: 10px 0 0 28px;}

/* searchresults-term ---------------------------------------*/
.searchresults-term {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}


.searchresults-term-title {
	margin-right: 16px;
	text-align: left;
	font-size: 12px;
	font-weight: 600;
	color: #484848;
}

.searchresults-term-list {
	font-size: 12px;
	color: #767676;
}

.searchresults-term-list li {
	display: inline-block;
	margin-right: 8px;
	line-height: 1.7;
}


.form-select.search-condition-area{width:120px;}

.flatpickr-current-month {
	display: flex;
	justify-content: center;
	align-items: center;
}

.numInputWrapper{
	width:60px !important;
	font-size: 1.7rem !important;
}

.cur-year {
	order: 1;
	font-size: 1.7rem !important;
	font-family: Roboto;
	font-weight: 600 !important;
}

.cur-month::before  {
	 content: "年"
}

.cur-month {
	order: 2;
	font-weight: 400 !important;
	margin-left: 0 !important;
	font-size: 1.7rem !important;
	font-family: Roboto;
	font-weight: 600 !important;
}

.arrowUp,.arrowDown{display: none !important;}

.flatpickr-day.today{
	background: #0078c6;
	border-color:#0078c6;
	color: #fff;
}

.flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month{
	color: #0078c6;
	fill: #0078c6;
}

.flatpickr-innerContainer{padding:15px 0 0;}
.flatpickr-calendar{
	padding:10px 20px;
	width: 347.875px;
}
.flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month{top:10px;}

.search-reset{
	display: none;
	font-weight:600;
}

.js-search-reset{cursor:pointer;}
.js-search-reset:hover{text-decoration:underline;}


/* global-info ---------------------------------------*/

.global-info{
	background-color: #f4f4f4;
	min-width: 1280px;
	padding: 0 40px;
}


/* footer ---------------------------------------*/

.l-footer{
	background: #fff;
	min-width: 1280px;
	border-top:1px solid #dbdbdb;
	padding: 18px 40px 23px;
}

.footer-inner{
	max-width: 1200px;
	position: relative;
	margin: 0 auto;
}

.footer-nav{margin-top: 8px;}

.footer-nav-title{
	font-weight:600;
	font-size: 1.2rem;
	line-height: 1.5;
	color: #484848;
	margin-bottom: 10px;
}

.footer-nav-list{font-size: 0;}

.footer-nav-list li{
	display: inline-block;
	font-weight: normal;
	font-size: 1.1rem;
	line-height: 1.1;
	margin: 0 15px 15px 0;
	padding-right: 15px;
	border-right: solid 1px #dbdbdb;
}

.footer-nav-list li a{
	color: #484848;
	display: block;
}

.footer-nav-list li:last-child{border-right:none;}
.footer-nav-list li a:hover{text-decoration: underline;}

.footer-nav-list li:first-child a{
	padding-left: 0;
	border-left: none;
}

.footer-sns{
	position: absolute;
	right: 0;
	top: 0;
}

.footer-sns-list{font-size: 0;}

.footer-sns-list li{
	display: inline-block;
	margin-left: 20px;
}

.footer-sns-list li a{display: block;}
.footer-sns-list li a:hover{opacity:0.56;}

.footer-bottom{
	padding: 25px 0 0;
	display:flex;
	justify-content:space-between;
}

.footer-logo{width:195px;}
.footer-logo a{display: block;}
.footer-logo img{width:100%;}

.footer-message{
	width: 60%;
	text-align: right;
}

.footer-message p{
	font-size: 1.0rem;
	line-height: 1.7;
	color: #767676;
	text-align: left;
	display: inline-block;
}

.copyright{
	padding-top: 10px;
	font-size:1.0rem;
	text-align: right;
}

.footer-watchsp{
	padding: 10px 0 10px;
	display: none;
}

.footer-watchsp.is-active{display: block;}

.footer-watchsp span{
	display: block;
	font-size: 1.1rem;
	line-height: 1.5;
	color: #0078C6;
}

@media screen and (max-device-width: 834px) {
	.gnav-search {
		width: 130px;
	}

	.gnav-list-item {
		font-size: 1rem;
	}

	.search-box-more span {
		font-size: 1.2rem;
	}

	.search-box,
	.is-keyword-exclude .search-box
	{
		width: calc(100% - 180px);
	}
}