* {
     margin : 0;
     padding : 0;
}

img {
	border : 0;
	vertical-align : top;
	font-size : 0;
	line-height : 0;
	-webkit-backface-visibility : hidden;
}

html {
	visibility : hidden;
	background : #00142d;
}

html.wf-active {
	visibility : visible;
}

body {
	margin : 0;
	padding : 0;
	color : #282828;
	font-size : 110%;
	font-family : "source-han-sans-japanese", sans-serif;
	font-weight : 500;
	font-style : normal;
	background-color : #e6e6e6;
	background-image : url(bodybg2.png);
	background-repeat : no-repeat;
	background-size : 125%;
	background-position : top 80px left 0;
}

/*----------HEADER----------*/

#header {
	position : relative;
	width : 100%;
	height : 120px;
}

#hbg {
	position : absolute;
	width : calc(50%);
	height : 120px;
	background : #0546af;
	border-bottom-left-radius : 20px;
	top : 0;
	right : 0;
	z-index : 0;
}

#hbox h1 {
	position : absolute;
	color : #053278;
	font-size : 70%;
	font-weight : 700;
	line-height : 1.2em;
	top : 20px;
	left : 5.75%;
}

#hbox h1 span {
	display : block;
}

#hbox h1 font {
	display : none;
}

#hbox h1 a {
	color : #053278;
	text-decoration: none;
}

#hbox h2 {
	position : absolute;
	width : 36%;
	top : 60px;
	left : 6%;
}

#hbox h2 img {
	width : 100%;
	height : 100%;
}

#hbox h2 span {
	display : none;
}

ul#gnavi,ul#smenu,p#estbtn,p#hdtel {
	display : none;
}

p#spmenu {
	position : absolute;
	width : 17%;
	top : 22%;
	right : 5%;
}

p#sptel {
	position : absolute;
	width : 17%;
	top : 22%;
	right : 25%;
}

p#spmenu img,p#sptel img {
	width : 100%;
	height : 100%;
}

#container {
	width : 100%;
}

h2#ptitle {
	padding : 8.5% 0 8.5% 0;
	color : #ffffff;
	font-size : 180%;
	font-weight : 900;
	line-height : 1.15em;
	text-align : center;
}

h2#ptitle span {
	display : block;
	color : rgb(255,255,255,0.6);
	font-size : 70%;
	font-family : "joost", sans-serif;
	font-weight : 700;
	font-style : normal;
	letter-spacing : 3px;
	vertical-align : 4px;
}

h2#ptitle font {
	margin-left : 20px;
	color : rgb(255,255,255,0.6);
	font-size : 70%;
	font-family : "joost", sans-serif;
	font-weight : 700;
	font-style : normal;
	letter-spacing : 3px;
	vertical-align : 4px;
}

h2#ptitle em {
	display : block;
	width : 160px;
	margin : 0 auto 10px auto;
	padding : 3px 0 5px 0;
	color : #ffffff;
	background : #005faa;
	font-size : 56%;
	font-style : normal;
	font-weight : 700;
	border-radius : 40px;
	vertical-align : 10px;
}

.cobg {
	margin-left : 2.5%;
	margin-bottom : 7%;
	padding : 4.5% 4.5% 4.5% 4.5%;
	background : #ffffff;
	border-top-left-radius : 15px;
	border-bottom-left-radius : 15px;
}

/*----------CTA----------*/

p#ctahead {
	margin-bottom : 4%;
	font-size : 110%;
	font-weight : 700;
	line-height : 1.3em;
	text-align : center;
}

p#ctahead span {
	display : block;
}

ul#cta {
	list-style : none;
	overflow : hidden;
	margin : 0 5% 10% 5%;
	text-align : center;
}

ul#cta li:first-child {
	display : block;
	width : 78%;
	margin-bottom : 4%;
	padding : 0 11% 0 11%;
}

ul#cta li {
	float : left;
	width : 48%;
	margin-right : 4%;
	text-align : left;
}

ul#cta li:last-child {
	margin : 0;
}

p#ctatel {
	padding : 7px 0 5px 65px;
	font-size : 250%;
	font-family : "joost", sans-serif;
	font-weight : 700;
	font-style : normal;
	line-height : 0.8em;
	background-position : 0 2px;
	background-image : url(ftelicon.svg);
	background-size : 54px;
	background-repeat : no-repeat;
}

p#ctatel span {
	display : block;
	margin-left : 2px;
	font-size : 34%;
	font-family : "source-han-sans-japanese", sans-serif;
	font-weight : 500;
	font-style : normal;
}

p.ctabtn {
	overflow: hidden;
	font-size : 110%;
	font-weight : 700;
	text-align : center;
}

p.ctabtn a {
	display : block;
	width : 100%;
	padding : 10px 0 13px 0;
	color : #282828;
	background : #ffffff;
	border-radius : 40px;
	text-decoration : none;
}

/*----------FOOTER----------*/

#footer {
	width : 100%;
	padding : 10% 0 25% 0;
	color : #ffffff;
	background : #00142d;
}

#fbox {
	overflow : hidden;
	width : 90%;
	margin : 0 auto 0 auto;
}

#fbox h1 {
	width : 47%;
	margin : 0 auto 7% auto;
}

#fbox h1 img {
	width : 100%;
	height : 100%;
}

#fbox h2 {
	margin-bottom : 25px;
	padding  : 12px 0 14px 0;
	color : #ffffff;
	text-align : center;
	font-size : 124%;
	font-weight : 900;
	border-top : solid 5px rgba(255,255,255,0.2);
	border-bottom : solid 5px rgba(255,255,255,0.2);
}

#fbox h2 font {
	letter-spacing : -15px;
}

address {
	font-size : 84%;
	font-style : normal;
	letter-spacing : 1px;
}

address font {
	margin : 0 5px 0 5px;
}

address span {
	display : none;
}

#fboxR {
	width : 100%;
}

#fboxR dl {
	overflow : hidden;
	margin-bottom : 8%;
	padding-bottom : 6%;
	border-bottom : solid 1px #ffffff;
	text-align : center;
}

#fboxR dl dt {
	display : inline-block;
	margin-bottom : 5%;
	padding : 5px 20px 7px 20px;
	font-size : 90%;
	font-weight : 700;
	color : #000000;
	background : #ffffff;
	border-radius : 30px;
}

ul#fpList {
	list-style : none;
	font-size : 110%;
	font-weight : 700;
}

ul#fpList li {
	float : left;
	width : 49.5%;
	margin : 0 1% 1% 0;
}

ul#fpList li:nth-child(2n) {
	margin : 0 0 1% 0;
}

ul#fpList li a {
	display : block;
	padding : 10px 0 12px 0;
	color : #ffffff;
	background : rgba(255,255,255,0.2);
	text-decoration : none;
}

ul#fnavi {
	list-style : none;
	overflow : hidden;
	width : 80%;
	margin : 0 auto 5% auto;
}

ul#fnavi li {
	float : left;
	width : 50%;
	margin-bottom : 2.5%;
	border-right : solid 1px rgba(255,255,255,0.3);
	box-sizing : border-box;
	text-align : center;
}

ul#fnavi li:nth-child(1),ul#fnavi li:nth-child(3) {
	border-left : solid 1px rgba(255,255,255,0.3);
	border-right : solid 1px rgba(255,255,255,0.3);
}

ul#fnavi li a {
	display : block;
	color : #ffffff;
	padding : 1px 0 2px 0;
}

#fboxR p {
	clear : both;
	margin-bottom : 3%;
	line-height : 1.6em;
}

#fboxR p span {
	display : block;
}

ul#fnavi li:last-child {
	display : none;
}

/*----------PAGETOP----------*/

#toPageTop {
	position : fixed;
	bottom : 30px;
	right : 20px;
	z-index : 10;
}

#toPageTop a {
	display : block;
	width : 70px;
	background-image : url(ptop_ov.svg);
	background-size : 100%;
	background-repeat : no-repeat;
}

#toPageTop img {
	width : 100%;
	height : 100%;
}

#toPageTop a:hover img {
	visibility : hidden;
}

/*----------MODALMENU----------*/

#modalarea {
	position : absolute;
	width : 100%;
	height : 85%;
	top : 50%;
	left : 50%;
	-webkit-transform : translate(-50%,-50%);
	-moz-transform : translate(-50%,-50%);
	-ms-transform : translate(-50%,-50%);
	-o-transform : translate(-50%,-50%);
	transform : translate(-50%,-50%);
	text-align : center;
}

p#mlogo {
	width : 170px;
	margin : 0 auto 7% auto;
}

p#mlogo img {
	width : 100%;
	height : 100%;
}

.menubox {
	clear :both;
	margin : 0 3.5% 0 3.5%;
}

.mindex {
	position : relative;
	overflow : hidden;
	padding : 12px 0 15px 5px;
	border-top : solid 3px rgba(255,255,255,0.2);
	color : #ffffff;
	font-size : 120%;
	font-weight : 700;
	font-style : normal;
	text-align : left;
}

.mindex:after {
	content : "";
	display : inline-block;
	position : absolute;
	top : 47%;
	right : 15px;
	width : 10px;
	height : 10px;
	border-right : 3px solid #ffffff;
	border-bottom : 3px solid #ffffff;
	transform : translateY(-50%) rotate(45deg);
	transition : .3s;
}

.mindex.open:after {
	transform : rotate(225deg);
}

.mdetail {
	display : none;
	margin-bottom : 10px;
}

p.mdList {
	position : relative;
	margin : 0 3.5% 0 3.5%;
	border-top : solid 3px rgba(255,255,255,0.2);
	font-size : 120%;
	font-weight : 700;
	text-align : left;
}

p.mdList:after {
	content : "";
	display : inline-block;
	position : absolute;
	top : 50%;
	right : 18px;
	width : 10px;
	height : 10px;
	border-right : 3px solid #ffffff;
	border-bottom : 3px solid #ffffff;
	transform : translateY(-50%) rotate(-45deg);
}

p.mdList a,p.mdList a:hover {
	display : block;
	padding : 12px 0 15px 5px;
	color : #ffffff;
	text-decoration : none;
}

.mindex span,p.mdList span {
	float : right;
	padding : 5px 50px 0 0;
	color : rgba(255,255,255,0.4);
	font-size : 92%;
	font-family : "joost", sans-serif;
	font-weight : 700;
	font-style : normal;
	letter-spacing : 1px;
}

ul.mdnavi {
	list-style : none;
	overflow : hidden;
	width : 100%;
	font-size : 105%;
	font-weight : 700;
	text-align : center;
}

ul.mdnavi li {
	float : left;
	width : 49%;
	margin : 0 2% 2% 0;
}

ul.mdnavi li:nth-child(2n) {
	margin : 0 0 2% 0;
}

ul.mdnavi li a,ul.mdnavi li a:hover {
	display : block;
	padding : 12px 0 14px 0;
	color : #0546af;
	background : #ffffff;
	text-decoration : none;
	border-radius : 10px;
}

dl#mdfoot {
	margin : 0 3.5% 0 3.5%;
	padding-top : 9%;
	border-top : solid 3px rgba(255,255,255,0.2);
}

dl#mdfoot dt {
	margin-bottom : 9%;
	font-size : 190%;
	font-family : "joost", sans-serif;
	font-weight : 700;
	font-style : normal;
}

dl#mdfoot dt a {
	padding : 5px 20px 8px 60px;
	color : #ffffff;
	border : solid 3px #ffffff;
	border-radius : 40px;
	text-decoration : none;
	background-image : url(mdtel.svg);
	background-size : 30px;
	background-repeat : no-repeat;
	background-position : 18px 12px;
}

.close-modal-01 {
	clear : both;
	padding-bottom : 7px;
	color : #ffffff;
	border-bottom : solid 5px #ffffff;
	text-decoration : none;
}

/*----------横向き設定----------*/

@media (orientation: landscape){
	body {
		display : none;
	}
}