﻿* {
     margin : 0;
     padding : 0;
}

img {
	border : 0;
	vertical-align : top;
	font-size : 0;
	line-height : 0;
}

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

html.wf-active {
	visibility : visible;
}

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

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

#header {
	position : relative;
	width : 100%;
}

#hbox {
	position : relative;
	width : 1300px;
	height : 160px;
	margin : 0 auto 0 auto;
	z-index : 1;
}

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

#hbox h1 {
	position : absolute;
	font-weight : 400;
	font-size : 80%;
	color : #ffffff;
	top : 25px;
	left : 410px;
}

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

#hbox h2 {
	position : absolute;
	width : 250px;
	text-align : center;
	line-height : 1.5em;
	top : 42px;
	left : 0;
}

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

#hbox h2 span {
	display : block;
	color : #ffffff;
	font-size : 50%;
	font-weight : 700;
}

#hbox h2 a {
	color : #ffffff;
	text-decoration : none;
}

ul#gnavi {
	position : absolute;
	list-style : none;
	padding-top : 20px;
	border-top : solid 1px #ffffff;
	font-size : 120%;
	font-weight : 700;
	left : 410px;
	bottom : 35px;
}

ul#gnavi li {
	display : inline-block;
	margin-right : 20px;
}

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

ul#gnavi li a {
	position : relative;
	color : #ffffff;
	text-decoration : none;
	display : inline-block;
	transition: .3s;
}

ul#gnavi li a::after {
	position: absolute;
	color : #ffffff;
	text-decoration : none;
	bottom: -8px;
	left: 50%;
	content: '';
	width: 0;
	height: 4px;
	background-color : rgba(255,255,255,0.4);
	transition: .3s;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

ul#gnavi li a:hover::after {
	width: 100%;
}

p#estbtn {
	position : absolute;
	width : 220px;
	font-size : 120%;
	font-weight : 700;
	text-align : center;
	right : 0;
	bottom : 30px;
}

p#estbtn a {
	display : block;
	padding : 8px 0 10px 0;
	color : #ffffff;
	background : #2d9bf5;
	box-shadow : 0 3px 1px #0a3c9b;
	border-radius : 40px;
	text-decoration : none;
}

p#estbtn a:hover {
	display : block;
	padding : 8px 0 10px 0;
	color : #0546af;
	background : #ffffff;
	border-radius : 40px;
	text-decoration : none;
	transition : .5s;
}

p#hdtel {
	position : absolute;
	padding : 5px 0 5px 50px;
	color : #ffffff;
	font-size : 180%;
	font-family : "joost", sans-serif;
	font-weight : 700;
	font-style : normal;
	letter-spacing : 1px;
	background-image : url(hdtel.svg);
	background-repeat : no-repeat;
	background-position : 0 8px;
	background-size : 40px;
	top : 15px;
	right : 5px;
}

p#spmenu,p#sptel,#modal-01 {
	display : none;
}

/*----------SMENU----------*/

ul#smenu {
    all : initial;
}

ul#smenu li a::after {
    all : initial;
}

ul#smenu li,ul#smenu li:last-child {
    all : initial;
}

ul#smenu li:last-child a {
    all : initial;
}

ul#smenu {
	position : absolute;
	list-style : none;
    width : 200px;
    padding-top : 48px;
	background-image : url(smarrow.svg);
	background-size : 16px;
	background-position : 92px 38px;
	background-repeat : no-repeat;
	top : 20px;
	left : 2px;
	z-index : 999;
}

ul#smenu li {
	float : none;
	width : 230px;
	position : relative;
	text-align : center;
	border-left : 0;
	background-image : none;
}

ul#smenu li a {
	display : block;
	width : 100%;
	padding : 15px 0 17px 0;
	color : #053278;
	background : #e6e6e6;
	border-bottom : dashed 1px #aaaaaa;
	text-decoration : none;
	font-size : 120%;
	font-family : "source-han-sans-japanese", sans-serif;
	font-weight : 700;
	font-style : normal;
}

ul#smenu li:first-child a {
	border-top-left-radius : 12px;
	border-top-right-radius : 12px;
}

ul#smenu li:last-child a {
	display : block;
	width : 100%;
	padding : 15px 0 17px 0;
	color : #053278;
	background : #e6e6e6;
	text-decoration : none;
	text-align : center;
	cursor : pointer;
	border-bottom-left-radius : 12px;
	border-bottom-right-radius : 12px;
	font-size : 120%;
	font-family : "source-han-sans-japanese", sans-serif;
	font-weight : 700;
	font-style : normal;
}

ul#smenu li a:hover {
	display : block;
	width : 100%;
	padding : 15px 0 17px 0;
	background : #d2d2d2;
	color : #053278;
	text-decoration : none;
}

ul#smenu li:first-child a:hover {
	border-top-left-radius : 12px;
	border-top-right-radius : 12px;
}

ul#smenu li:last-child a:hover {
	background : #d2d2d2;
	border-bottom-left-radius : 12px;
	border-bottom-right-radius : 12px;
}

/*----------CONTENTS----------*/

#container {
	width : 100%;
}

h2#ptitle {
	width : 1300px;
	margin : 0 auto 0 auto;
	padding : 55px 0 60px 0;
	color : #ffffff;
	font-size : 250%;
	font-weight : 900;
	text-align : center;
}

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

h2#ptitle em {
	margin-right : 20px;
	padding : 7px 25px 10px 25px;
	color : #ffffff;
	background : #005faa;
	font-size : 50%;
	font-style : normal;
	font-weight : 700;
	border-radius : 40px;
	vertical-align : 10px;
}

.cobg {
	margin-left : calc(50% - 650px);
	margin-bottom : 60px;
	padding : 50px 0 50px 50px;
	background : #ffffff;
	border-top-left-radius : 20px;
	border-bottom-left-radius : 30px;
}

.contents {
	position : relative;
	width : 1250px;
}

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

p#ctahead {
	margin-bottom : 30px;
	font-size : 120%;
	font-weight : 700;
	text-align : center;
}

ul#cta {
	list-style : none;
	margin-bottom : 80px;
	text-align : center;
}

ul#cta li {
	display : inline-block;
	margin-right : 40px;
	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;
	width : 350px;
	font-size : 120%;
	font-weight : 700;
	text-align : center;
}

p.ctabtn a {
	display : block;
	margin-bottom : 3px;
	padding : 15px 0 18px 0;
	color : #282828;
	background : #ffffff;
	border-radius : 40px;
	box-shadow : 0 3px 1px #b4b4b4;
	text-decoration : none;
}

p.ctabtn a:hover {
	display : block;
	padding : 15px 0 18px 0;
	color : #ffffff;
	background : #0546af;
	border-radius : 40px;
	text-decoration : none;
	transition : .5s;
}

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

#footer {
	width : 100%;
	padding-top : 70px;
	color : #ffffff;
	background : #00142d;
}

#fbox {
	position : relative;
	overflow : hidden;
	width : 1300px;
	margin : 0 auto 0 auto;
}

#fbox h1 {
	width : 200px;
	margin-bottom : 25px;
}

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

#fbox h2 {
	display : inline-block;
	margin-bottom : 25px;
	padding  : 12px 0 14px 0;
	color : #ffffff;
	font-size : 170%;
	font-weight : 900;
	border-top : solid 4px rgba(255,255,255,0.2);
	border-bottom : solid 4px 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 {
	margin-left : 5px;
}

#fboxR {
	position : absolute;
	text-align : right;
	top : 0;
	right : 0;
}

#fboxR dl {
	overflow : hidden;
	margin-bottom : 25px;
	padding-bottom : 25px;
	border-bottom : solid 1px #ffffff;
}

#fboxR dl dt {
	float : left;
	margin-right : 15px;
	padding : 5px 20px 7px 20px;
	font-size : 80%;
	font-weight : 700;
	color : #000000;
	background : #ffffff;
	border-radius : 30px;
}

#fboxR dl dd {
	float : left;
}

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

ul#fpList li,ul#fnavi li {
	display : inline-block;
	padding : 1px 15px 4px 15px;
	border-right : solid 1px rgba(255,255,255,0.3);
}

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

ul#fpList li a,ul#fnavi li a {
	position : relative;
	color : #ffffff;
	text-decoration : none;
	display : inline-block;
	transition: .3s;
}

ul#fpList li a::after,ul#fnavi li a::after {
	position : absolute;
	color : #ffffff;
	text-decoration : none;
	bottom : -5px;
	left : 50%;
	content: '';
	width: 0;
	height: 2px;
	background-color : rgba(255,255,255,0.4);
	transition: .3s;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

ul#fpList li a:hover::after,ul#fnavi li a:hover::after {
	width: 100%;
}

ul#fnavi {
	list-style : none;
	margin-bottom : 25px;
}

#fboxR p {
	line-height : 1.7em;
}

#fboxR p span {
	margin-left : 15px;
}

#fboxR p font {
	display : block;
}

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

#toPageTop {
	position : fixed;
	bottom : 50px;
	right : 50px;
}

#toPageTop a {
	display : block;
	width : 100px;
	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;
}

/*----------SAFARI----------*/

_::-webkit-full-page-media, _:future, :root #hbox h2 span {
	display : block;
	color : #ffffff;
	font-size : 44.5%;
	font-weight : 700;
}