﻿@charset "utf-8";

/*------------------------------------------------------------------------------
CSS Modules Import
Date: 2014-XX-XX
Copyright © XXXXXXXXXXXXXXXX. All Rights Reserved.
------------------------------------------------------------------------------*/

/* ----------------------------------------

Default Style

---------------------------------------- */
html {
	scroll-behavior: smooth;
}
body {
	margin: 0px;
	line-height: 1.57;
	-webkit-text-size-adjust: none; /* フォントサイズ自動調整ナシ */
	font-family: ArialMT, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
	font-size: 16px;
	color: #333;
	background: #fff !important;
}
input {
	font-size: 100% !important;
}
select {
	font-size: 16px !important;
}
a {
	-webkit-tap-highlight-color: rgba(200,200,555,.6);
	color: #28759a;
}
a:link {
	text-decoration: none;
}
a:visited {
	text-decoration: none;
}

#topLogo a {
    padding: 8px 8px 0;
    display: inline-block;
    /* width: 100%; */
    height: 100%;
    box-sizing: border-box;
}

img {
	vertical-align: top;
}
th {
	font-weight: 400;
}
ul,ol { list-style-type: none;}
address {
	font-style: normal;
}

nav {
    overflow: hidden;
}
/* jQueryMobile adjust
----------------------------- */
.ui-content	{ padding: 0 15px 1px;}
.ui-content > :first-child			{ margin-top: 0 !important;}
.ui-content > :last-child				{ margin-bottom: 0 !important;}
.ui-content .ui-listview				{ margin: 0 -15px;}
.ui-content .ui-listview-inset	{ margin: 15px 0;}
.ui-btn-inner,.ui-link-inherit	{ white-space: normal !important;}
.ui-btn-inner										{ padding: 0.6em 15px;}
.ui-collapsible-heading		{ margin: 0;}
.ui-collapsible-content		{ margin: 0;}
.ui-listview .ui-li-desc	{ margin-bottom: 5px; white-space: normal;}
.ui-controlgroup, fieldset.ui-controlgroup { margin-bottom: 0;}


/* ----------------------------------------

container

---------------------------------------- */
div.container.ui-page {
	overflow: hidden;
	width: 100%;
	min-width: 320px;
	margin: 0 auto;
	border: none;
	background-color: transparent;
	background-image: none;
	font-size: 14px;
}

/* ----------------------------------------

header

---------------------------------------- */
header.common {
	padding: 0;
		background: none;
		border: none;
		color: #333;
		font-weight: 400;
		text-shadow: none;
	max-width: 580px;
	margin: 0 auto;
}
.ui-header .ui-title {
	position: relative;
	min-height: 0;
	display: block;
	text-align: left;
	margin: 0;
	padding: 0;
}


/* メニュー
------------------------------- */
#herNav01 {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 9999;
}
#globalNav {
	position: absolute;
	top: 50px;
	right: 0;
	z-index: 1000;
	background-color: #fff;
	-moz-box-shadow: 0px 2px 6px rgba(0,0,0,.3) ;
	-webkit-box-shadow: 0px 2px 6px rgba(0,0,0,.3) ;
	box-shadow: 0px 2px 6px rgba(0,0,0,.3) ;
	display: none;
	z-index: 9999;
	margin: 0;
	width: 100%;
  border-radius: 0;
}
#globalNav .modal-list {
	margin-bottom: 10px;
  border-bottom: 1px solid #ddd;
  margin-inline: 20px;
  padding-bottom: 10px;
}
#globalNav ul li {
	display: block;
	border: none;
  border-radius: 0;
}
#globalNav ul li:first-child {
	border-top: none;
}
#globalNav ul li:last-child {
	border-bottom: none;
}
#globalNav ul li a {
	color: #333;
	text-shadow: none;
  padding-right: 20px;
  box-sizing: border-box;
}
#globalNav .modal-list._icn li {
  position: relative;
  padding-left: 30px;
}
#globalNav .modal-list._icn li a img {
  position: absolute;
  left: 0
}
#globalNav .modal-list._icn li details summary img {
  position: absolute;
  left: -30px;
}
#globalNav .modal-list li.extlink a:before {
  content: "\f0c1";
  font-size: 14px;
}
#globalNav .modal_bottom {
  display: flex;
  justify-content: space-between;
  padding-inline: 30px;
  margin-top: 15px;
}
#globalNav .modal_bottom > ul{
  margin: 0 0 1em;
  padding: 0;
  width: 48.5%;
}
#globalNav .modal_bottom > ul li {
  margin-bottom: 1em;
}
#globalNav .modal_bottom > ul a {
  font-size: clamp(0.7rem, 0.525rem + 0.88vw, 0.875rem);
  font-weight: 400;
  line-height: 1.5;
  display: block;
}
#globalNav .ui-icon {
	top: 50%;
	background-color: #357da0;
}
#globalNav .ui-btn-icon-right .ui-icon {
	right: 10px;
}
#globalNav .ui-icon-shadow {
	-moz-box-shadow: 2px 0 1px rgba(255,255,255,0.8);
	-webkit-box-shadow: 2px 0 1px rgba(255,255,255,0.8);
	box-shadow: 2px 0 1px rgba(255,255,255,0.8);
}
#globalNav .ui-btn-icon-right .ui-btn-inner {
	padding-right: 35px;
}
#hdrGoogleSerch {
	margin-top: 7px;
}
#hdrGoogleSerch .gsc-control-searchbox-only {
	width: 100%;
	padding: 5px 0 2px 0 !important;
	background: #4a839f !important;
	border: none !important;
	-moz-border-radius: 0 0 6px 6px;
	-webkit-border-radius: 0 0 6px 6px;
	border-radius: 0 0 6px 6px;
}
#hdrGoogleSerch .gsc-control-searchbox-only .gsc-search-box {
	padding: 8px 10px 2px !important;
	width: auto !important;
}
#hdrGoogleSerch .gsc-control-searchbox-only .gsc-input {
	padding-right: 6px !important;
}
#hdrGoogleSerch .gsc-control-searchbox-only .gsc-input input {
	background: #fff url(../img/common/bg_serch.png) no-repeat 10px 50% !important;
	-webkit-background-size: 12px 12px !important;
	background-size: 12px 12px !important;
	font-size: 16px !important;
	line-height: 1 !important;
	padding: 3px 6px 2px 25px !important;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	width: 83% !important;
}
#hdrGoogleSerch .gsc-control-searchbox-only .gsc-search-button input {
	color: #333;
	background: #ffffff;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#e7e7e7)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #ffffff 0%,#e7e7e7 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #ffffff 0%,#e7e7e7 100%); /* Opera 11.10+ */
	background: linear-gradient(to bottom, #ffffff 0%,#e7e7e7 100%); /* W3C */
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	border: none;
}
#overLay {
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.2);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
}

/* Key
------------------------------- */
#herKey01 {
	position: absolute;
	top: 10px;
	right: 60px;
}

#herKey01 input[src] {
	width: 32px !important;
}

/* カードお申込み
------------------------------- */
#herJoin {
  position: absolute;
  top: 10px;
  right: 100px;
}

/* ----------------------------------------

グローバルナビ

---------------------------------------- */



/* ----------------------------------------

footer

---------------------------------------- */
footer.common {
	position: relative;
	border: none;
	color: #333;
	padding-top:55px;
	font-weight: 400;
	text-shadow: none;
	background-image:url(../img/pagetop_bg.png);
	background-repeat:repeat-x;
    margin: 0;
}
footer.common .icn{
	text-align:center;
}
footer.common #company {
	width:300px;
	margin:0 auto;
	padding:15px;
	font-size: 14px;
	color:#333;
}
footer.common #company2 {
	width:300px;
	margin:0 auto;
	padding:5px;
	font-size: 14px;
	font-weight:bold;
	text-align:center;
	color:#333;
}
footer.common #company span{
	font-size: 15px;
	font-weight:bold;
	color:#000;
}

footer.common #copyright {
	position:relative;
	padding:10px;
	font-size: 10px;
	color:#878787;
	border-top:1px solid #ddd;
	text-align:center;
}
footer.common .pagetop {
	position: absolute;
	top: 12px;
	right: 10px;
}




/* ----------------------------------------

module

---------------------------------------- */

/* block style
----------------------------- */

/* -- sectionView -- */
.sectionView {
	margin: 20px 0;
}

/* -- boxView -- */
.boxView {
	margin: 20px 0;
	-moz-box-shadow: 0px 1px 4px rgba(0,0,0,.3);
	-webkit-box-shadow: 0px 1px 4px rgba(0,0,0,.3);
	box-shadow: 0px 1px 4px rgba(0,0,0,.3);
	-webkit-background-clip: padding-box;
	-moz-background-clip: padding;
	background-clip: padding-box;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
	color: #333;
	text-shadow: 0 1px 0 white;
}
.innerBoxView {
	padding: 15px;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
	background-color: #fff;
}
.sectionView p,
.boxView p {
	margin-bottom: 15px;
}
.sectionView > :first-child,
.innerBoxView > :first-child,
.sectionView form > :first-child,
.innerBoxView form > :first-child { margin-top: 0 !important;}
.sectionView > :last-child,
.innerBoxView > :last-child,
.sectionView form > :last-child,
.innerBoxView form > :last-child { margin-bottom: 0 !important;}


/* title style
----------------------------- */

/* -- boxTit -- */
.boxTit01 {
	position: relative;
	padding: 3px 10px;
	border-top: 1px solid #4993b7;
	-moz-box-shadow: 0px -1px 0 #216383;
	-webkit-box-shadow: 0px -1px 0 #216383;
	box-shadow: 0px -1px 0 #216383;
	background: #357da0;
	text-shadow: none;
	font-weight: bold;
	font-size: 14px;
	color: #fff;
}

.boxTit02 {
	position: relative;
	padding: 3px 10px;
	border-top: 1px solid #FF890A;
	-moz-box-shadow: 0px -1px 0 #d2691e;
	-webkit-box-shadow: 0px -1px 0 #d2691e;
	box-shadow: 0px -1px 0 #d2691e;
	background: #FF890A;
	text-shadow: none;
	font-weight: bold;
	font-size: 14px;
	color: #fff;
}

/* -- titbar -- */
.titbar01 {
	position: relative;
	margin: 0 -15px 15px;
	padding: 4px 15px 3px;
	background: #357da0;
	text-shadow: none;
	font-weight: bold;
	font-size: 16px;
	color: #fff;
}

.titbar02 {
	border-top: solid 3px #357da0;
	border-bottom: solid 1px #e0e0e0;
	position: relative;
	margin: 0 -15px 15px;
	padding: 3px 10px;
	background: #f5f5f5;
	text-shadow: none;
	font-weight: bold;
	font-size: 14px;
}

.corporation .titbar02 {
    margin: 0 0 15px;
}

.titbar03 {
	border-top: solid 3px #357da0;
	border-bottom: solid 1px #e0e0e0;
	position: relative;
	margin: 0 -15px 15px;
	padding: 3px 10px;
	background: #f5f5f5;
	text-shadow: none;
	font-weight: bold;
	font-size: 14px;
}
.boxline{
	border-top: solid 3px #357da0;
	margin: 0 -15px;
}

/* -- tit -- */
.tit01 {
	position: relative;
	margin: 15px 0;
	padding-left: 10px;
	line-height: 1.3;
	font-weight: 700;
	font-size: 14px;
}
.tit01:after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: "";
	width: 5px;
	height: 100%;
	background-color: #357da0;
}

.tit02 {
	padding: 0 0 5px;
	line-height: 1.4;
	font-weight: 700;
	margin: 15px 0;
	border-bottom: solid 2px #e0e0e0;
}



/* title style
----------------------------- */

/* 見出し トグルあり */
.collapsInTitbar .ui-btn-inner {
	padding: 0 !important;
	border: none;
}
.collapsInTitbar a:link,
.collapsInTitbar a:visited,
.collapsInTitbar a:active {
	color: #fff;
}
.collapsInTitbar .titbar02 a:link,
.collapsInTitbar .titbar02 a:visited,
.collapsInTitbar .titbar02 a:active {
	color: #333;
}

.collapsInTitbar .ui-icon {
	margin-top: -10px !important;
	right: 0;
}
.collapsInTitbar .ui-collapsible-content {
	padding: 0;
	margin: 0 0 10px;
}
.collapsInTitbar .ui-focus,
.collapsInTitbar .ui-btn:focus {
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
}


/* list
----------------------------- */

/* list in boxView */
.boxView .ui-listview {
	margin: -15px !important;
}
.boxView .ui-listview {
	-moz-border-radius: 0 0 6px 6px;
	-webkit-border-radius: 0 0 6px 6px;
	border-radius: 0 0 6px 6px;
}
.boxView .ui-listview li {
	border-right: 1px solid #ddd;
	border-left: 1px solid #ddd;
}

/* collaps in list */
.collapsList {
	margin: 0 !important;
	padding: 0 !important;
}
.collapsList .ui-li-heading {
	margin: 0 !important;
	font-size: 14px !important;
}
.collapsList .ui-li-heading a {
	margin: 0 !important;
	border: none !important;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	border-radius: 0;
}
.collapsList .ui-btn-inner {
	padding: .7em 15px .7em 15px !important;
}
.collapsList .ui-collapsible-content {
	border-top: 1px solid #ccc;
	margin: 0;
	padding-top: 15px;
	background-color: #fff;
}
.collapsList .ui-collapsible-content p:last-child {
	margin-bottom: 0;
}
.ui-listview-inset.ui-listview li.collapsList:first-child a {
	-moz-border-radius: 6px 6px 0 0;
	-webkit-border-radius: 6px 6px 0 0;
	border-radius: 6px 6px 0 0;
}
.ui-listview-inset.ui-listview li.collapsList:last-child .ui-collapsible-heading a,
.ui-listview-inset.ui-listview li.collapsList:last-child .ui-collapsible-content {
	-moz-border-radius: 0 0 6px 6px;
	-webkit-border-radius: 0 0 6px 6px;
	border-radius: 0 0 6px 6px;
}




/* table
----------------------------- */
.tbl01 {
	width: 100%;
	margin: 10px 0;
}
.tbl01 th, .tbl01 td {
	border: 1px solid #ddd;
	font-size: 12px;
	padding: 7px;
}
.tbl01 th {
	background-color: #f8f8f8;
	font-weight: 700;
	text-align: left;
}
.tbl01 td {
	vertical-align: middle;
}

.tbl01.col1Tbl th,
.tbl01.col1Tbl td{
	display: block;
	width: auto;
}
.tbl01.col1Tbl th,
.tbl01.col1Tbl td{
	border-bottom: none;
}
.tbl01.col1Tbl{
	border-bottom: solid 1px #ddd;
}
.tbl01.col1Tbl{
	table-layout: fixed;
}

/* table 02 */

.tbl02 {
	width: 100%;
	margin: 10px 0;
}
.tbl02 th, .tbl02 td {
	border: 1px solid #ddd;
	font-size: 12px;
	padding: 7px;
}
.tbl02 th {
	background-color: #e6f3fa;
	border-color: #d2dce1;
	font-weight: 700;
	text-align: left;
	color: #357da0;
}
.tbl02 td {
	vertical-align: middle;
}



/* btnUnit
----------------------------- */
.btnUnit01 {
	margin: 5px 0;
	text-align: center;
}
.btnUnit01 .inBtnL {
	float: left;
}
.btnUnit01 .inBtnR {
	float: right;
}


/* pager */
.pager {
	position: relative;
	margin: 20px 0;
	text-align: center;
}
.pager .prev {
	float: left;
}
.pager .next {
	float: right;
}
.pager span.total {
	position: absolute;
	display: block;
	width: 160px;
	top: 12px;
	left: 50%;
	margin-left: -80px;
	line-height: 1.5;
	text-align: center;
	font-size: 12px;
}
.pager .ui-btn {
	margin: 0;
}
.pager .ui-btn-inner {
	padding: 0.4em 10px;
}
.pager .ui-btn-icon-left .ui-btn-inner { padding-left: 33px;}
.pager .ui-btn-icon-right .ui-btn-inner { padding-right: 33px;}
.pager .active {
	margin: 0 1px;
	border: 1px solid #0e3550;
	font-weight: bold;
	color: 					#fff;
	text-shadow: 0 -1px 0 #0e3550;
	background: #357da0;
background: rgb(53,125,160);
background: -moz-linear-gradient(top,  rgba(53,125,160,1) 0%, rgba(79,145,175,1) 46%, rgba(96,164,197,1) 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(53,125,160,1)), color-stop(46%,rgba(79,145,175,1)), color-stop(100%,rgba(96,164,197,1)));
background: -webkit-linear-gradient(top,  rgba(53,125,160,1) 0%,rgba(79,145,175,1) 46%,rgba(96,164,197,1) 100%);
background: -o-linear-gradient(top,  rgba(53,125,160,1) 0%,rgba(79,145,175,1) 46%,rgba(96,164,197,1) 100%);
background: -ms-linear-gradient(top,  rgba(53,125,160,1) 0%,rgba(79,145,175,1) 46%,rgba(96,164,197,1) 100%);
background: linear-gradient(to bottom,  rgba(53,125,160,1) 0%,rgba(79,145,175,1) 46%,rgba(96,164,197,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#357da0', endColorstr='#60a4c5',GradientType=0 );
	cursor: auto;
}


/* other parts
----------------------------- */

.txtBox01 {
	border: solid 4px #eee;
	padding: 8px;
}

.iconC01 .ui-icon {
	background-color: #357da0;
}

.siteNav .titbar01 {
	padding: 5px 15px;
	font-size: 14px;
	margin: 0 -15px;
}

/* タブ切換え*/
#tabNav01 {
	padding: 5px 0 0 5px;
	overflow: hidden;
	margin: 0 -20px;
	background: url(../img/line_solid.png) repeat-x 0 100%;
	-webkit-background-size: 5px 1px;
	background-size: 5px 1px;
}
#tabNav01 .inTab a {
	display: block;
	margin: 0 4px;
	padding: 4px 0 0;
	border-radius: 5px 5px 0 0;
	background: #2d87b3;
	border: 1px solid #ddd;
	border-bottom: none;
	font-size: 13px;
	text-shadow:none;
	text-align: center;
	color: #fff;
	border-bottom: none;
}
#tabNav01 .inTab:first-child a {
	margin-left: 15px;
}
#tabNav01 .inTab:last-child a {
	margin-right: 15px;
}
#tabNav01 span {
	display: block;
	padding: 3px 6px 9px;
	background: #2e87b2; /* Old browsers */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#2e87b2), color-stop(100%,#347ea2)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #2e87b2 0%,#347ea2 100%); /* Chrome10+,Safari5.1+ */
	background: linear-gradient(to bottom, #2e87b2 0%,#347ea2 100%); /* W3C */
}
#tabNav01 .inTab.active a span {
	padding: 5px 6px 7px;
	background: #f0f8fc; /* Old browsers */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f0f8fc), color-stop(83%,#ffffff)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #f0f8fc 0%,#ffffff 83%); /* Chrome10+,Safari5.1+ */
	background: linear-gradient(to bottom, #f0f8fc 0%,#ffffff 83%); /* W3C */
	color: #262626;
}


#tabNav02 {
	padding: 5px 0 0 0;
	border-bottom: 3px solid #357da0;
	overflow: hidden;
	margin: 0 -20px;
	text-align:center;
}
#tabNav02 li {
	display:inline-block;
	vertical-align:top;
	padding: 7px;
	border-radius: 10px 10px 0 0;
	box-shadow: 0 0 2px 1px rgba(0,0,0,.1);
	background: #FFFFFF;
	border: 1px solid #CFCFCF;
	border-bottom: none;
	font-size: 11px;
    padding-bottom: 32767px;
    margin-bottom: -32760px;
}
#tabNav02 li.active {
	background: #357da0;
	color: #FFFFFF;
	text-shadow:none;
	border: 1px solid #357da0;
	border-bottom: none;
}
#tabNav02 li.active a {
	color: #fff;
}



/* form
----------------------------- */
::-webkit-input-placeholder {
	color: #999;
}
:-moz-placeholder {
	color: #999;
}
.keyword .ui-input-search {
	display: inline-block;
	width: 50%;
}
.keyword > .ui-btn {
	margin: 0 0 0 5px;
	vertical-align: bottom;
}
.keyword > .ui-btn .ui-btn-inner {
	padding: 6px 15px;
}
.ui-field-contain {
	padding: 0 0 15px;
}
input.ui-input-text, textarea.ui-input-text {
	width: 95%;
}
input.ui-inline-input {
	display: inline-block;
	width: auto;
}
label.ui-input-text,
label.ui-slider,
.ui-controlgroup-label,
label.ui-select {
	font-weight: 700;
	margin-bottom: 2px;
}
label.ui-input-text span {
	color: #ff0000;
	margin-left: 1px;
	font-weight: 700;
}
.errMsg {
	color: #ff0000;
	font-weight: 700;
	margin-bottom: 10px !important;
}
.formErrorArrow,
.formErrorClose {
	display: none;
}
input[type="file"] {
	width: 200px;
}


/* theme li02
----------------------------- */
.ui-btn-li02 {
	background: #fff !important;
}
.ui-btn-li02 .ui-icon {
	background-color: #fff !important;
	background-image: url(../img/icons-18-bule.png) !important;

}
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
       only screen and (min--moz-device-pixel-ratio: 1.5),
       only screen and (min-resolution: 240dpi) {

	.ui-btn-li02 .ui-icon-arrow-r {
		background-image: url(../img/icons-36-bule.png) !important;
	}
}





/* common class
----------------------------- */
.mgt0 { margin-top: 0 !important;}
.mgt5 { margin-top: 5px !important;}
.mgt10 { margin-top: 10px !important;}
.mgt15 { margin-top: 15px !important;}
.mgt20 { margin-top: 20px !important;}
.mgt30 { margin-top: 30px !important;}
.mgb0 { margin-bottom: 0 !important;}
.mgb5 { margin-bottom: 5px !important;}
.mgb10 { margin-bottom: 10px !important;}
.mgb15 { margin-bottom: 15px !important;}
.mgb20 { margin-bottom: 20px !important;}
.mgb30 { margin-bottom: 30px !important;}

.col8 { width: 8%;}
.col10 { width: 10%;}
.col15 { width: 15%;}
.col20 { width: 20%;}
.col25 { width: 25%;}
.col30 { width: 30%;}
.col35 { width: 35%;}
.col75 { width: 75%;}
.col1em { width: 1em;}
.col45em { width: 4.5em;}
.col55em { width: 5.5em;}
.col65em { width: 6.5em;}

.alnC { text-align: center !important;}
.alnR { text-align: right !important;}
.alnL { text-align: left !important;}

.nowrap { white-space: nowrap !important;}

.clear { clear: both;}

.bdbdotted {
	background: url(../img/line_dotted_01.png) repeat-x 0 100%;
	-webkit-background-size: 3px 1px;
	background-size: 3px 1px;
	padding-bottom: 15px;
}

.bold {
	font-weight: 700;
}
/* ----------------------------------------

clearfix

---------------------------------------- */
.tbl01 td:after,
.clearfix:after,
.pager:after,
.btnUnit01:after {
	display: block;
	content: '';
	clear: both;
}
/*------------------------------------------------------------------------------
Date: 2024-11 リニューアル
------------------------------------------------------------------------------*/
/* ヘッダーログインボタンの「メンテナンス中」モーダル用 */
.modal-content h4 {
  margin-block: 1em 0;
}
.modal-wrapper {
  z-index: 999;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 40px 10px;
  text-align: center
}
.modal-wrapper:not(:target) {
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s;
}
.modal-wrapper:target {
  opacity: 1;
  visibility: visible;
  transition: opacity .4s, visibility .4s;
}
.modal-wrapper::after {
  display: inline-block;
  height: 100%;
  margin-left: -.05em;
  vertical-align: middle;
  content: ""
}
.modal-wrapper .modal-window {
  box-sizing: border-box;
  display: inline-block;
  z-index: 20;
  position: relative;
  padding: 30px;
  border-radius: 2px;
  background: #fff;
  box-shadow: 0 0 30px rgba(0, 0, 0, .6);
  vertical-align: middle
}
.modal-wrapper .modal-window .modal-content {
  max-height: 80vh;
  overflow-y: auto;
}
.modal-overlay {
  z-index: 10;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, .5)
}
.modal-wrapper .modal-close {
  z-index: 20;
  position: absolute;
  top: 0;
  right: 0;
  width: 35px;
  color: #95979c !important;
  font-size: 30px;
  font-weight: 700;
  line-height: 35px;
  text-align: center;
  text-decoration: none;
  text-indent: 0
}
.modal-wrapper .modal-close:hover {
  color: #2b2e38 !important
}