@charset "UTF-8";


/* Base Style ============================================================================= */
* {-webkit-appearance: none;}

html {
	font: 62.5%/1.5 "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	 -webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-overflow-scrolling : touch;
	-webkit-tap-highlight-color : rgb(52,158,219);
	overflow-x: hidden;
}

body { 
margin : 0 auto;
padding : 0;
font-size: 10px;
font-size: 1rem;	
color : #000; 
-webkit-font-smoothing: antialiased; /*for Safari */
background: #fff;
background-image:url(../images/back-p.jpg);
background-size:cover;
background-position: left bottom;
background-attachment:fixed;
}

/* *********** CLEARFIX *********************************** */

.clearfix:after {
	content:".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	display: inline-block;
}
* html .clearfix {
	height: 1%;
}
.clearfix {
	display: block;
}

/*  SECTIONS  ============================================================================= */

.section,
.feslist {
	clear: both;
	padding: 0px;
	margin: 0px;
}

/*  GROUPING  ============================================================================= */

.group:before,
.group:after {
    content:"";
    display:table;
}
.group:after {
    clear:both;
}
.group {
    zoom:1; /* For IE 6/7 (trigger hasLayout) */
}

/* Navigation ============================================================================= */
#navi { position: fixed; right:10px; top:10px;}
#navi ul li { display:inline-block; list-style:none;}
#navi ul li a{ color:#fff; display:block; padding:5px 0px 5px 1em; text-decoration:none;}

header#header {
position:fixed;
top:0;
left:0;
z-index:50;
width:100%;
height:90px;
background:#fff;
}

.innner { margin:0 auto; padding:0; position:relative; width:93%; max-width:960px;}

nav#global div.drawer-toggle-container { display:none;}
nav#global { position: fixed; left:0; top:90px; width:100%; height:63px;}
nav#global .drawer { width:100%; height:63px; background:rgb(40,53,120);}
nav#global .drawer ul { margin:0 auto; padding:0; width:93%; max-width:960px; height:63px; font-size:0;}
nav#global .drawer ul li { display: inline-block; margin:0; padding:0; width:16.66%;box-sizing:border-box; border-right:1px solid #fff;}
nav#global .drawer ul li:first-child {border-left:1px solid #fff;}
nav#global .drawer ul li a {text-decoration: none;color:#fff;font-size:15px;padding:24px 0px;display:block; text-align:center;}
nav#global .drawer ul li a:hover { text-decoration: none; color:#808FFF;}


/*logo*/
#logo {width:41.458%; max-width:398px; position: absolute;top:20px;left:0;z-index:1000;margin:0;}
#logo img { width:100%; height:auto;}

#utilitynavi { margin:0; padding:0; position:absolute; width:100%; right:0; top:0px;}
#utilitynavi li { list-style:none; margin:0; padding:0; display:block; float:right;}
#utilitynavi li.mail-btn { width:15.2%; max-width:146px; margin-left: 20px; margin-top: 24px;}
#utilitynavi li.phone-btn { width:24.166%; max-width:233px; margin-top: 26px;}
#utilitynavi li.fb { width:7.1875%; max-width:69px; padding-top:0; margin-left: 5px;}
#utilitynavi li img { width:100%; height:auto;}



/*  MAIN LAYOUT	============================================================================= */

#wrapper {
	width: 100%;
	position: relative;
	text-align: left;
}

#maincontentcontainer {
		width: 100%;
	}
#maincontent {
  clear: both;
  margin: 110px auto 20px;
  margin: 11rem auto 2rem;
  padding: 10px 12vw;
  color: #333;
  line-height: 1.5;
  position: relative;
  min-height:360px;
}


#footercontainer { margin:0 auto; padding:0; position:relative;background: #fff; width: 100%; }
#footerlogo {margin:0em auto; padding:3rem 0;  background: #fff; clear: both;}
#footerlogo h3 { width:48%;float:left; text-align: right;}
#footerlogo h3 img {  width: 100%; max-width: 282px; height: auto;}
#footerlogo p { width:50%;float:right; text-align: left; font-size: 1.3rem; line-height: 1.23; color: rgb(40,53,120); }

#footercontainer #smallprint { margin:0 auto; padding: 2em 0; width: 100%; display: block; text-align:center; color:#fff; background-color: rgb(40,53,120)}
#footercontainer #smallprint address { font-size:1.3rem; display:block; text-align:center; font-style:normal; padding-bottom:0.5rem; line-height:1.2;}
#footercontainer #smallprint small { font-size:1.3rem; display:block; text-align:center;}


/*  Page Units	============================================================================= */
.page-unit { margin: 0 auto; padding: 0; position: relative; width: 100%; max-width: 960px; overflow: hidden;}

.main { margin: 0; padding: 40px 64px 40px; position: relative; z-index: 1; background: rgba(255,255,255,0.9); margin-bottom: 0px; }
.contents {
  position: relative;
  margin: 10% 0;
  padding: 0;
}
.layer { position: relative; margin: 20% 0; padding: 0;}

.contents::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 100%;
  margin: 3% -10% 0;
  background: #011931;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(5deg);
  -ms-transform: rotate(5deg);
  transform: rotate(5deg);
  z-index: -3;
}
.contents::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 120%;
  height:70%;
  margin: 3% -10% 0;
  background: #df6209;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
  transform-origin: right center;
  -webkit-transform: rotate(-10deg);
  -ms-transform: rotate(-10deg);
  transform: rotate(-10deg);
  z-index: -2;
}
.layer:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height:80%;
  margin: 3% -10% 0;
  background: #fff000;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
  transform-origin: right center;
  -webkit-transform: rotate(-15deg);
  -ms-transform: rotate(-15deg);
  transform: rotate(-15deg);
  z-index: -1;
}
.message-photo {position: relative;  width: 100%;  max-width: 960px;  margin: 0 auto;  padding: 0; text-align: center; background: url(../images/message-photo-bg.svg) no-repeat; background-position: left bottom; background-size: cover; padding-bottom: 10.3px;}
.message-photo-inner { margin: 0 auto; padding: 0 64px 0px; width: 100%;  max-width: 960px; font-size: 0; box-sizing: border-box;}
.message-photo-inner img { width: 100%;	height: auto; vertical-align: bottom;}

.parallelogram { z-index: 2; position: absolute; left: 0; bottom: -15%; margin: 0 auto;  padding: 40px 64px; width: 100%;  max-width: 832px;  height: 100px; background: #fff; transform: skewY(-10deg);}

.parenthesis {
  position: relative;
		width: 85%;
		max-width: 592px;
		margin: 0 auto 6.5rem;
  padding: 15px 40px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.parenthesis::before,
.parenthesis::after {
  position: absolute;
  content: '';
  width: 48px;
  height: 72px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.parenthesis::before {
  top: 0;
  left: 0;
  border-top: 1px solid #555;
  border-left: 1px solid #555;
}
.parenthesis::after {
  bottom: 0;
  right: 0;
  border-bottom: 1px solid #555;
  border-right: 1px solid #555;
}
.parenthesis h1 { font-size: 3.2rem; font-weight: bold; line-height: 1.75; text-align: center;font-feature-settings : "palt";}

.message { display: block; margin-bottom: -3.5rem;}
.message p { font-size: 1.6rem; line-height: 1.75; padding-bottom: 3rem;text-align:justify; text-justify:inter-ideograph;}
.message p.soumiyaname { font-weight: bold;}

#facebook_btn { position: relative; width: 15.1%; max-width:145px; display:block; float: right; margin-right: 64px; }
#facebook_btn a { position: absolute; top: -82px; right:0px; z-index: 11;}
#facebook_btn img { width: 100%; height: auto;}

/**Forte Unit**/
#unit2 {}
.forte-cover{ position: relative; margin: 0; padding: 0; width: 100%; box-sizing: border-box;}

.forte1 { margin: 0; padding:0; position: relative;}
.forte1 header { position: relative; display: block; background: url(../images/forte1-header.svg) no-repeat top center; width: 100%; padding-top: 40.104%; background-size: cover;}
.forte1 header h2 { color: #fff; position: relative; font-size: 32px; text-align: center; margin-top: -25%;}
.forte1 header h2 span { display: block; font-size: 1.6rem; font-weight: normal; padding-top: 1em;}
.forte1 footer { position: relative; display: block; background: url(../images/forte1-footer.svg) no-repeat bottom center; width: 100%; padding-top: 10.9375%; background-size: cover; margin-top: 0;}
.forte1 header img,
.forte1 footer img{ width: 100%; height: auto;}

.forte-inner { margin: 0; padding: 0px 64px 0; position: relative; z-index: 5; box-sizing: border-box; background: rgba(214,215,227,0.9); margin-top:0;}
.forte-inner figure { margin: 0 auto 5rem; padding: 0; text-align: center; width:15%; max-width: 146px; display: block;}
.forte-inner figure img { width: 100%; height: auto;}
.forte-inner h3 { margin: 0 auto 4rem; padding: 0; text-align: center; font-size: 3.2rem; font-weight: bold;font-feature-settings : "palt"; display: block; width: 100%;line-height: 1.5; }
.forte-inner p {font-size: 1.6rem; line-height: 1.75; padding-bottom: 3rem;text-align:justify; text-justify:inter-ideograph;}


.forte2 { margin: 0; padding:0; position: relative;}
.forte2 header { position: relative; display: block; background: url(../images/forte2-header.svg); background-position: center center; background-size: 100% 100%; background-repeat: no-repeat; width: 100%; padding-top: 17.5%; }
.forte2 header h2 { color: #fff; position: relative; font-size: 32px; text-align: center; margin-top: -5%;}
.forte2 header h2 span { display: block; font-size: 1.6rem; font-weight: normal; padding-top: 1em;}
.forte2 footer { position: relative; display: block; background: url(../images/forte2-footer.svg); background-position: center center; background-size: 100% 100%; background-repeat: no-repeat;  width: 100%; padding-top: 10%; margin-top: 0;}
.forte2 footer img{ width: 100%; height: auto;}

.forte2-inner { margin: 0; padding: 40px 64px 0; position: relative; z-index: 5; background: rgba(255,255,255,0.9); box-sizing: border-box; margin-top:0;}
.forte2-inner figure { margin: 0rem auto 5rem; padding: 0; text-align: center; width:18%; max-width: 146px;}
.forte2-inner figure img { width: 100%; height: auto;}
.forte2-inner h3 { margin: 0 auto 4rem; padding: 0; text-align: center; font-size: 3.2rem; font-weight: bold; line-height: 1.5; font-feature-settings : "palt";}
.forte2-inner p {font-size: 1.6rem; line-height: 1.75; padding-bottom: 3rem;text-align:justify; text-justify:inter-ideograph;}


.forte3 { margin: 0; padding:0; position: relative;}
.forte3 header { position: relative; display: block; background: url(../images/forte3-header.svg); background-position: center center; background-size: 100% 100%; background-repeat: no-repeat;  width: 100%; padding-top: 17.5%;}
.forte3 header h2 { color: #fff; position: relative; font-size: 32px; text-align: center; margin-top: -5%;}
.forte3 header h2 span { display: block; font-size: 1.6rem; font-weight: normal; padding-top: 1em;}
.forte3 footer { position: relative; display: block; background: url(../images/forte3-footer.svg); background-position: center center; background-size: 100% 100%; background-repeat: no-repeat;  width: 100%; padding-top: 17.5%; margin-top: 0;}
.forte3 footer img{ width: 100%; height: auto;}

.forte3-inner { margin: 0; padding: 40px 64px 0; position: relative; z-index:6;box-sizing: border-box; background: rgba(214,215,227,0.9); }
.forte3-inner figure { margin: 0rem auto 5rem; padding: 0; text-align: center; width:18%; max-width: 146px;}
.forte3-inner figure img { width: 100%; height: auto;}
.forte3-inner h3 { margin: 0 auto 4rem; padding: 0; text-align: center; font-size: 3.2rem; font-weight: bold; line-height: 1.5;font-feature-settings : "palt";}
.forte3-inner p {font-size: 1.6rem; line-height: 1.75; padding-bottom: 3rem;text-align:justify; text-justify:inter-ideograph;}


#unit3 {}
.menu-cover{ position: relative; margin: 0; padding: 0; width: 100%; box-sizing: border-box;}

.menu { margin: 0; padding:0; position: relative;}
.menu header {position: relative; display: block; background: url(../images/menu-header.svg); width: 100%; padding-top: 40.104%;background-position: center bottom; background-size: 100% 100%; background-repeat: no-repeat;}
.menu header h2 { margin: 0 auto; padding: 0; margin-top: -25%; color: #fff; font-size: 32px; text-align: center;}
.menu header h2 span { display: block; font-size: 1.6rem; font-weight: normal; padding-top: 1em;}

.menu-inner { margin: 0; margin-top:0; padding: 0; position: relative; z-index: 5; background: rgba(255,255,255,0.9);}
.menu-inner h3 { margin: 0 auto 1em; padding: 0; color: #4264ec; font-size: 3.2rem; text-align: center;}
.menu-inner figure { margin: 0rem auto 5rem; padding: 0; text-align: center; width:15%; max-width: 146px;}
.menu-inner figure img { width: 100%; height: auto;}
.menu-inner h4 { margin: 0 auto 4rem; padding: 0; text-align: center; font-size: 2.1rem; font-weight: bold; line-height: 1.5;}
.menu-inner p {font-size: 1.6rem; line-height: 1.75; padding: 0 64px 3rem;text-align:justify; text-justify:inter-ideograph;  position: relative;}

.menu1-photo { margin: 0 auto; padding:0; box-sizing: border-box; width: 100%; height: auto;}
.menu1-photo img{ width: 100%; height: auto;}


.menu2 { margin: 0; padding:0; position: relative; margin-top: -17.2%; z-index: 5;}
.menu2 header {position: relative; display: block; background: url(../images/menu2-header.svg); background-position: center bottom; background-size: cover; background-repeat: no-repeat; width: 100%; padding-top: 17.5%; box-sizing:border-box; font-size:0; line-height: 0;}

.menu2-inner { margin: 0; padding: 0; position: relative; z-index: 5; background:rgba(40,53,120,0.9);}
.menu2-inner h3 { margin:0 auto 1em; padding: 0; color: #fff; font-size: 3.2rem; text-align: center;}
.menu2-inner figure { margin: 5rem auto 5rem; padding: 0; text-align: center; width:18%; max-width: 146px;}
.menu2-inner figure img { width: 100%; height: auto;}
.menu2-inner h4 { margin: 0 auto 4rem; padding: 0; text-align: center; font-size: 2.1rem; font-weight: bold; line-height: 1.5; color: #fff;}
.menu2-inner p {font-size: 1.6rem; line-height: 1.75; padding: 0 64px 3rem;text-align:justify; text-justify:inter-ideograph; color: #fff;}

.menu2-photo {position: relative; margin: 0 auto; padding:0; box-sizing: border-box; width: 100%;}
.menu2-photo img{ width: 100%; height: auto;}

#detail_btn1 { position: relative; width: 24%; max-width:215px; display:block; float: right; margin-right: 64px;}
#detail_btn1 a { position: absolute; top: -15px; right:0; z-index: 11;}
#detail_btn2 { position: relative; width: 24%; max-width:215px; display:block; margin-left: 64px;}
#detail_btn2 a { position: absolute; top: 0px; left: 0px; z-index: 11;}
#detail_btn1 img,
#detail_btn2 img { width: 100%; height: auto;}


#unit4 { margin-top:0;}
.service { margin: 0; padding:0; position: relative; }
.service header {position: relative; display: block; background: url(../images/service-header.svg) center bottom; width: 100%; padding-top: 17.3%; background-size: cover; font-size: 0; line-height: 0;}
.service footer { position: relative; display: block; margin-top: 0; background: url(../images/service-footer.svg) no-repeat left top; width: 101%; padding-bottom: 17.55%; background-size: cover;}
.service footer img{ width: 100%; height: auto;}

.service-inner { margin: 0; margin-top:0; padding: 0px 64px 0; position: relative; z-index: 5; background: rgba(255,255,255,0.9);}
.service-inner h2 { margin:0 auto 0%; font-size: 32px; text-align: center;}
.service-inner h2 span { display: block; font-size: 1.6rem; font-weight: normal; padding-top: 1em;}
.service-inner h3 { margin: 7% 0 0; padding: 0; color: #fff; font-size: 3.2rem; text-align: center;}
.service-inner figure { margin: 5rem auto 5rem; padding: 0; text-align: center; width:18%; max-width: 146px;}
.service-inner figure img { width: 100%; height: auto;}
.service-inner h4 { margin: 0 auto 4rem; padding: 0; text-align: center; font-size: 2.1rem; font-weight: bold; line-height: 1.5;}
.service-inner p {font-size: 1.6rem; line-height: 1.75; padding: 0 64px 3rem;text-align:justify; text-justify:inter-ideograph;}
.service-inner dl { margin: 0; padding: 0;}
.service-inner dl dt { clear: both; margin: 0; margin-bottom: 1em; padding: 0; display: inline-block; width: 26%;}
.service-inner dl dt img { width: 100%; max-width: 230px; height: auto;}
.service-inner dl dd { margin: 0; margin-left: 5%; padding: 0; padding-top:0; display: inline-block; width: 68%; font-size: 1.6rem; line-height: 1.5; vertical-align: top; margin-top: 2.3em;}
.service-inner dl dd.service2 {margin-top: 4em;}
.service-inner dl dd span { color: #4264ec;}
.service-inner dl dd ul { list-style: none;}
.service-inner dl dd ul li { display: block; padding-left: 1em; text-indent: -1em;}


#unit5 {}
.overview { margin: 0; padding:0; position: relative; }
.overview header {position: relative; display: block; background: url(../images/overview-header.svg) no-repeat bottom center; width: 100%; padding-top: 17.55%; background-size: cover;}
.overview footer { position: relative; display: block; margin-top: -3px; background: url(../images/overview-footer.svg) no-repeat left top; width: 101%; padding-bottom: 17.55%; background-size: cover;}
.overview footer img{ width: 100%; height: auto;}

.overview-inner { margin: 0; margin-top: -2px; padding:0 64px 0; position: relative; z-index: 5; background: #d0d3d5;}
.overview-inner h2 { margin:0 auto 7%; font-size: 32px; text-align: center;}
.overview-inner h2 span { display: block; font-size: 1.6rem; font-weight: normal; padding-top: 1em;}
.overview-inner dl{	width : 100%;	margin : 0 auto;	overflow : hidden; font-size: 1.8rem;}
.overview-inner dl dt {	clear : both !important;	width : 22%;	float : left;	padding : 1em 0;	text-align : left;	overflow : hidden; font-weight: bold; line-height: 1.5;}
.overview-inner dl dd {	width : 70%;	padding : 1em 0 1em 25%; display: block; border-bottom: 1px solid #4e4e4e; line-height: 1.5;}
.overview-inner dl dt:last-child,
.overview-inner dl dd:last-child {
	border : none;
}
.overview-foot { margin: 0 auto; padding: 0; position: relative; width: 100%; max-width: 960px; z-index: 5; height:300px;}
.overview-foot figure{ position: absolute; bottom:300px; left: 0; margin: 0 auto; padding: 100px 0px; width: 100%;  max-width: 960px; box-sizing: border-box; transform:skewY(-10deg); transform-origin: bottom left; background-color: transparent;z-index: -8;}


#unit6 {margin-bottom: 5%;}
.access { margin: 0; padding:0; position: relative; overflow: hidden;}
.access header {position: relative; display: block; background: url(../images/access-header.svg) no-repeat top center; width: 100%; padding-top: 17.55%;}

.access-inner { margin: 0; margin-top: -3px; padding: 0; position: relative; z-index: 5; background: #fff;}
.access-inner h2 { margin:0 auto 4%; font-size: 32px; text-align: center;}
.access-inner h2 span { display: block; font-size: 1.6rem; font-weight: normal; padding-top: 1em;}
.access-inner h3 { margin: 1.2em auto .5em; padding: 0; text-align: center; font-size: 2.1rem; font-weight: bold;}
.access-inner p { font-size: 1.8rem; line-height: 1.7; text-align: center; padding: 0 64px;}
#map_canvas {	margin:0 0 32px;	padding:0;	width:100%;	height:380px;	position:relative;}
#map_canvas iframe,
#map_canvas object,
#map_canvas embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}


.contact_btn { margin: 50px auto; padding:0 0 50px; width: 100%; max-width: 560px; text-align: center;box-sizing: border-box;}
.contact_btn a { display: block; box-sizing: border-box; padding: 20px; text-align: center;background: rgb(40,53,120); box-shadow: 2px 2px rgba(171,171,171,1); }
.contact_btn a:hover { background: #3366ff;}
.contact_btn img { width: 46%; max-width: 255px; height: auto;}


#contactform { width: 100%; max-width: 560px; margin: 5rem auto 0; padding-bottom: 3rem; text-align: center;}
#contactform img { width:100%; height: auto;}

header#header-contact { margin: 0 auto; padding: 0; width: 100%; max-width: 960px; background:  rgba(40,53,120,0.9);  background-blend-mode: multiply; display: block;}
header#header-contact h1 { margin: 0 auto; padding: 4rem 0 3rem; font-size: 2.1rem; color: #fff; text-align: center;}
header#header-contact p { margin: 0 auto; padding: 0 0 4rem; font-size: 1.6rem; color: #fff; text-align: center; line-height: 1.75;}

.contact-form-error,
.contact-form { margin: 0 auto 3em; padding:0; width: 100%; max-width: 960px; background-color: #e3e5e7; -webkit-appearance: none !important; box-sizing: border-box;}
#mail_form { margin: 0 auto; padding: 44px; box-sizing: border-box; width: 100%;}
#mail_form dl {width : 100%;	margin : 0 auto;	overflow : hidden;	font-size:1.6rem;}
#mail_form dl dt { color: rgb(40,53,120); display: block; margin-bottom: .5em; padding-left: 2em;}
#mail_form dl dt span {	display : inline-block;	color: #ffffff; margin: -4px 0px 0px 1em;	padding: 3px 7px;	background:#303875;	font-size:82%; vertical-align: middle;}
#mail_form dl dd { display: block; margin-bottom: 2em;}
#mail_form dl dd input{	height: 4em;	background: #fff; width: 100%; border: none; padding: 1.5em; box-sizing: border-box; font-size: 1.6rem; border-radius: 0;-webkit-appearance: none !important;}
#mail_form dl dd input:focus, #mail_form dl dd textarea:focus {  border:none;  outline: 0;}
#mail_form dl dd textarea {	height:10em;	background: #fff; width: 100%; border: none; padding: 1.5em; box-sizing: border-box; font-size: 1.6rem; border-radius: 0; overflow-y: scroll;-webkit-appearance: none !important;}
#mail_form dl dd label.koumoku { background: #fff; width: 49.5%; border: none; margin: 0 0 1%; padding: 1.5em; box-sizing: border-box; font-size: 1.6rem; display: block; float: left;}
#mail_form dl dd label.koumoku:nth-child(2n) { margin-left: 1%;}
#mail_form dl dd label.p-agree { border: none; padding: 1.5em; box-sizing: border-box; font-size: 1.6rem; display: block; margin: 0 auto; text-align: center;}
#mail_form dl dd.otoiawase { padding-bottom: 0.75em !important;}

/*radio01 css*/
#mail_form dl dd .radio01-input{
  display: none;
}
#mail_form dl dd .radio01-parts{
  padding-left: 20px;
  position:relative;
  margin-right: 20px;
		color: #303875;
}
#mail_form dl dd .radio01-parts::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #e3e5e7;
  border-radius: 50%;
		background-color: #e3e5e7;
}
#mail_form dl dd .radio01-input:checked + .radio01-parts{
  color: #303875;
}
#mail_form dl dd .radio01-input:checked + .radio01-parts::after{
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 3px;
  width: 11px;
  height: 11px;
  background: #303875;
  border-radius: 50%;
}

/*radio02 css*/
#mail_form dl dd .radio02-input{ display: none;}
#mail_form dl dd .radio02 { padding-left: 20px; position:relative; color: #303875;}
#mail_form dl dd .radio02::before{ content: ""; display: block; position: absolute; top: 0; left: 0; width: 15px; height: 15px; border: 1px solid #fff; border-radius: 50%;	background-color: #fff;}
#mail_form dl dd .radio02-input:checked + .radio02 { color: #303875;}
#mail_form dl dd .radio02-input:checked + .radio02::after{  content: "";  display: block;  position: absolute;  top: 3px;  left: 3px;  width: 11px;  height: 11px;  background: #303875;  border-radius: 50%;}

#mail_form dl dd div#privacy-policy { margin: 0 auto; padding: 1em; border: 1px #303875 solid; background: #fff; display: block; box-sizing: border-box; height:190px; overflow-y: scroll;}
#mail_form dl dd div#privacy-policy h2 { font-size: 82%; font-weight: normal; margin-bottom: 1em;}
#mail_form dl dd div#privacy-policy ul { font-size:82%; list-style: none;}
#mail_form dl dd div#privacy-policy ul li { list-style: none; padding-bottom: 1em; line-height: 1.1;}
#mail_form dl dd div#privacy-policy ul li:last-child {padding-bottom: 0em;}

#mail_submit_button {	margin:3rem auto;	padding:0; text-align: center; display: block;}
#mail_submit_button input {	font-size: 2.1rem;	margin:0 auto;	padding: 1.5em 0;	background:#303875;	color:#FFF;	line-height:0 !important; border: 0; box-sizing: border-box; width: 100%; max-width: 370px; box-shadow: 2px 2px rgba(171,171,171,1); font-weight: bold; text-decoration: none; display: block;border-radius: 0;-webkit-appearance: none !important;}
#mail_submit_button input:hover{	cursor : pointer;}

#backtop_button {	margin:0 auto;	padding:7rem 0; text-align: center;}
#backtop_button a {	font-size: 2.1rem;	margin:0 auto;	padding: 1.5em 0 !important; display: block;	background:#303875;	color:#FFF;	line-height:0 !important; border: 0; box-sizing: border-box; width: 100%; max-width: 370px; box-shadow: 2px 2px rgba(171,171,171,1); font-weight: bold; text-decoration: none;border-radius: 0;-webkit-appearance: none !important;}
#backtop_button a:hover{	cursor : pointer;}

#mail_form_comfirm { margin: 0 auto; padding: 5em 0; box-sizing: border-box; width: 100%;}
#mail_form_comfirm dl {width : 100%;	margin : 0 auto; padding: 64px;	overflow : hidden;	font-size:1.6rem; box-sizing: border-box; background: #fff;}
#mail_form_comfirm dl dt { color: rgb(40,53,120); display: block; margin-bottom: .5em; padding-left: 2em; padding-bottom: .3em; border-bottom: 1px solid #303875;}
#mail_form_comfirm dl dt span {	display : inline-block;	color: #ffffff; margin: -4px 0px 0px 1em;	padding: 3px 7px;	background:#303875;	font-size:82%; vertical-align: middle;}
#mail_form_comfirm dl dt:first-child span {	display: none;}
#mail_form_comfirm dl dd { display: block; margin-bottom: 3.5em;padding-left: 2em; }
#mail_form_comfirm dl dd { text-decoration: none !important;}

#mail_form_tthankyou { margin: 0 auto; padding: 64px; width: 100%; box-sizing: border-box;}
#mail_form_tthankyou h2 { margin: 0 auto; padding: 0 0 1em; font-size: 2.1rem; text-align: center;}
#mail_form_tthankyou p { margin: 0 auto; padding: 0; font-size: 1.6rem; line-height: 1.8; text-align: center;}
#mail_form_tthankyou .contact-address {margin: 7rem auto !important; padding: 4rem 0; display: block; border-top: 1px solid #303875; border-bottom: 1px solid #303875;}
#mail_form_tthankyou .contact-address h3 { margin: 0 auto 0.85em; padding: 0; font-size: 2.1rem; font-weight: bold; text-align: center;}

#construction { margin: 0 auto 20px;  padding: 35vh 0 19vh;  position: relative;}
#construction h1 { margin: 0 auto 1.2em; padding: 0; font-family: "adobe-caslon-pro",serif;font-style: normal;font-weight: 600; font-size: 50px; text-align: center; color: rgb(40,53,120);}
#construction p { margin: 0 auto; padding: 0 0 16px; font-size: 16px; text-align: center; display: block;}
#construction div { margin: 0 auto; padding: 20px; display: block; width: 100%; max-width: 460px; box-sizing: border-box; text-align: center;}
#construction div a { margin: 0 auto; padding: 20px 0; display: block; width: 100%; box-sizing: border-box; background: rgba(255,255,255,0.6); border: 1px solid rgb(40,53,120);}
#construction div a:hover { background: rgba(219,223,255,0.5);}


.sp { display: none;}
.sp480 { display: none;}
#utilitynavi_sp { display: none;}



/*for tablet*/
@media only screen and (max-width : 800px){
nav#global .drawer ul li a { font-size:14.5px; font-feature-settings : "palt"; letter-spacing: -0.5px;}
.parenthesis {padding: 15px 15px;}
.parenthesis h1 { font-size: 30px; font-weight: bold; line-height: 1.75; text-align: center;font-feature-settings : "pkna";}
}

/*for sp*/
@media only screen and (max-width : 640px){
.sp { display: block;}
.sp480 { display: none;}
.pc { display: none !important;}

body {background: none;}
body::before { content:""; display:block; position:fixed; top:0; left:0; z-index:-1; width:100%; height:100vh; background:url(../images/back-p-sp.png) center/cover no-repeat; /*fixedをトル！*/
-webkit-background-size:cover;/*Android4*/}

header#header { height:60px;}
.innner {width:87.5%;}
#logo {width:43.75%;top:10px;left:0;z-index:98;margin:0;}

#footerlogo h3 { width:100%; float: none; text-align: center; margin-bottom: 5px;}
#footerlogo h3 img {  width: 100%; max-width: 212px; height: auto;}
#footerlogo p { width:100%;float: none; text-align: center; font-size: 1.2rem; line-height: 1.23; }
#footercontainer #smallprint small { font-size:8px; display:block; text-align:center;}

#utilitynavi { display: none;}
#utilitynavi_sp { display: block;}
#utilitynavi_sp { margin:0; padding:0; position:fixed;top:0em;right:88px; }
#utilitynavi_sp li { list-style:none; margin:0; margin-left: 5px; display:block; float:right; background: #fff; padding: 10px; width: 32px;box-shadow: 1px 1px 1px 1px rgba(0,0,0,0.5);}
#utilitynavi_sp li.mail-btn { width:32px;height:32px;}
#utilitynavi_sp li.phone-btn { width:32px;height:32px;}
#utilitynavi_sp li.fb-btn { width:32px;height:32px;}
#utilitynavi_sp li img { width:100%; height:auto;}


.open{display: block;}
.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

nav#global { position: relative; left:0; top:0; width:100%; height: auto;}
nav#global div.drawer-toggle-container { padding: 10px; display: block; position:fixed;top:0em;right:3em; box-shadow: 1px 1px 1px 1px rgba(0,0,0,0.5);background: #fff;}
nav#global div.drawer-toggle-container.bgcolo { background: #d6d7e3;}
nav#global a.drawer-toggle {
display:block;
width: 32px;
height:32px;
background:url("../images/btn_g-nav.png") no-repeat;
background-position: left top;
text-indent:100%;
white-space:nowrap;
overflow:hidden;
z-index:100;
}
nav#global a.drawer-toggle.open {
background-position:right top;
}

nav#global .drawer {
position:fixed;
top:-100%;
right:0px;
margin-top:-60px;
width:100%;
height:100%;
overflow:hidden; 
-webkit-transition: all .2s;
-moz-transition: all .2s;
-ms-transition: all .2s;
-o-transition: all .2s;
transition: all .2s;
z-index:49;
background:none;
}

nav#global .drawer.open {
	margin-top:60px;
	overflow: auto;
-webkit-transform: translate3d(0, 100%, 0);
-moz-transform: translate3d(0, 100%, 0);
-ms-transform: translate3d(0, 100%, 0);
-o-transform: translate3d(0, 100%, 0);
transform: translate3d(0, 100%, 0);
}

nav#global .drawer ul { margin:0 auto; padding:0; width:100%; max-width:100%; height: auto; font-size:0;}
nav#global .drawer ul li { display: block; margin:0; padding:0; width:100%;box-sizing:border-box; border-right: none; border-bottom:1px solid #fff; background-color:rgba(40,53,120,0.9);}
nav#global .drawer ul li:first-child {border-left: none;}
nav#global .drawer ul li:last-child {border-bottom: none;}
nav#global .drawer ul li a { font-size:18px;}


.main { margin: 0; padding: 40px 20px; position: relative; z-index: 1;}

.parenthesis {
  position: relative;
		width: 70vw;
		margin: 0 auto 3.2rem;
  padding: 15px 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.parenthesis::before,
.parenthesis::after {
  position: absolute;
  content: '';
  width: 32px;
  height: 48px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.message { display: block;}
.message p { font-size:16px; line-height: 1.75; padding-bottom: 2rem;text-align:justify; text-justify:inter-ideograph;}
.message-photo-inner { padding: 0 20px 0px;}
#facebook_btn { position: relative; width: 30%; max-width:116px; display:block; float: right; margin-right: 20px; }

.forte1 header h2 {font-size: 18px; text-align: center; margin-top: -25%;}
.forte1 header h2 span { display: block; font-size:12px; font-weight: normal; padding-top: 8px;}
.menu header h2 {font-size: 18px; margin-top: -28%;}
.menu header h2 span { font-size:12px; padding-top: 8px;}
.menu2-inner {margin-top:0;}

.forte-inner { padding: 0 20px 0; position: relative; z-index: 5;}
.forte2-inner { padding: 0 20px 0; position: relative; z-index: 5;}
.forte3-inner { padding: 0 20px 0; position: relative; z-index:6;}

.forte-inner h3,
.forte2-inner h3,
.forte3-inner h3 { margin: 0 auto 2rem; padding: 0; text-align: center; font-size: 18px;}
 
.menu-inner h3,
.menu2-inner h3 { font-size: 18px;}
.menu-inner p,
.menu2-inner p {padding: 0 20px 3rem;}
.menu-inner h4,
.menu2-inner h4 { margin: 0 auto 2rem; padding: 0 20px; font-size: 18px;}

.menu2 header{background-position: center center; background-size: 103% 106%; background-repeat: no-repeat;}

.forte-inner figure { margin: 0rem auto 2rem; padding: 0; text-align: center; width:30%; max-width: 146px;}
.forte2-inner figure { margin: 0rem auto 2rem; padding: 0; text-align: center; width:37%; max-width: 146px;}
.forte3-inner figure { margin: 0rem auto 2rem; padding: 0; text-align: center; width:37%; max-width: 146px;}
.menu-inner figure { margin: 0rem auto 2rem; padding: 0; text-align: center; width:30%; max-width: 146px;}
.menu2-inner figure { margin: 0rem auto 2rem; padding: 0; text-align: center; width:37%; max-width: 146px;}

.service-inner { padding: 0 20px 0; position: relative; z-index: 5;}
.overview-inner { padding: 0 20px 0; position: relative; z-index: 5;}

.service-inner h2,
.overview-inner h2,
.access-inner h2 {font-size: 18px;}
.service-inner h2 span,
.overview-inner h2 span,
.access-inner h2 span {font-size:12px; padding-top: 8px;}

.overview-inner dl{ font-size: 12px;}
.overview-inner dl dt {	clear : both !important;	width : 25%;	float : left;	padding : 1em 0;	text-align : left;	overflow : hidden; font-weight: bold; line-height: 1.5;}
.overview-inner dl dd {	width : 73%;	padding : 1em 0 1em 26.5%; display: block; border-bottom: 1px solid #4e4e4e; line-height: 1.5;}

.access-inner h3 { margin: 1.2em auto .5em; padding: 0; text-align: center; font-size: 18px; font-weight: bold;}
.access-inner p { font-size: 12px; line-height: 1.6; text-align: center; padding: 0 20px;}

.contact_btn { margin: 5rem auto; padding:0 20px 30px; width: 100%; box-sizing: border-box;}
.contact_btn a { margin: 0 auto; display: block; box-sizing: border-box; padding: 20px; text-align: center;background: rgb(40,53,120); box-shadow: 2px 2px rgba(171,171,171,1);}
.contact_btn a:hover { background: #3366ff;}
.contact_btn img { width: 100%; max-width: 255px; height: auto;}

header#header-contact { margin: 0 auto; padding: 0 20px; box-sizing: border-box;}
header#header-contact p {font-feature-settings : "palt";}

.contact-form-error,
.contact-form { padding: 20px;}
#mail_form { padding: 30px 0px;}
#mail_form_comfirm dl,
#mail_form_tthankyou { padding: 50px 0;}

#mail_form dl dt {padding-left: 0em;}
#mail_form dl dd label.koumoku { padding: 1em 0 1em 1em;}

#mail_form_tthankyou { margin: 0 auto; padding: 64px 20px; width: 100%; box-sizing: border-box;}
#mail_form_tthankyou h2 { margin: 0 auto; padding: 0 0 1em; font-size: 16px; text-align: center;}
#mail_form_tthankyou p { margin: 0 auto; padding: 0; font-size: 12px; line-height: 1.8; text-align: center;}
#mail_form_tthankyou .contact-address {margin: 7rem auto !important; padding: 4rem 0; display: block; border-top: 1px solid #303875; border-bottom: 1px solid #303875;}
#mail_form_tthankyou .contact-address h3 { margin: 0 auto 0.85em; padding: 0; font-size: 16px; font-weight: bold; text-align: center;}
#mail_form_tthankyou .contact-address p { font-size: 12px;}

#contactform { width: 100%; max-width: 560px; margin: 3rem auto 0; padding: 0 20px 3rem; text-align: center; box-sizing: border-box;}

#construction { padding: 19vh 0 19vh;}

}

/*for sp*/
@media only screen and (max-width : 480px){
.pc480 { display: none !important;}
.sp480 { display: block;}

header#header { height:50px;}
.innner {width:93%;}
#logo {width:46.5%;top:16px;}
nav#global div.drawer-toggle-container { padding: 7px 7px;right:10px;}
nav#global .drawer.open { margin-top:50px;}
nav#global a.drawer-toggle {width: 28px;height:28px;background:url("../images/btn_g-nav_s.png"); background-size: 56px 28px; background-repeat:  no-repeat; background-position: left top;}
#utilitynavi_sp {right:56px; }
#utilitynavi_sp li {padding: 7px 7px;margin-left:4px;}
#utilitynavi_sp li.mail-btn { width:28px;height:28px;}
#utilitynavi_sp li.phone-btn { width:28px;height:28px;}
#utilitynavi_sp li.fb-btn { width:28px;height:28px;}

.parenthesis { width: 100%; padding: 15px 12px;}
.parenthesis h1 { font-size: 18px; letter-spacing:-0.5px; line-height:24px;}
.message p { font-size: 4vw; line-height: 1.75; padding-bottom: 2rem;text-align:justify; text-justify:inter-ideograph;}
.message p.soumiyaname span{ display:block;}

#detail_btn1 { position: relative; width: 32%;display:block; float: right; margin-right: 20px;}
#detail_btn1 a { position: absolute; top: -36px; right:0; z-index: 11;}
#detail_btn2 { position: relative; width: 32%; display:block; margin-left: 20px;}
#detail_btn2 a { position: absolute; top: -15px; left: 0px; z-index: 11;}

#facebook_btn { width: 29%;}
#facebook_btn a { top: -44px;}

.forte2 footer {margin-top:0;}
.forte2-inner {margin-top:0px;}

.menu header { font-size: 0; line-height: 0; background-size: 103% 105%;}
.menu header h2 { line-height:0.7;margin-top: -27.5%; margin-left: -1.8%;}

.menu1-photo { margin-top: 0.1px; font-size: 0; line-height: 0;}
.menu-inner { margin-top:0;}
.menu2-inner {margin-top:0;}

.service-inner { margin-top: -1px;}
.service-inner dl dt { clear: both; margin: 0 auto; margin-top: 40px; margin-bottom:0; padding: 0; display: block; width: 100%; text-align: center;}
.service-inner dl dt img { width: 40%; max-width: 230px; height: auto;}
.service-inner dl dd { margin: 0; margin-left: 0%; padding: 0; padding-top: 20px; padding-bottom: 20px; display: block; width: 100%; font-size: 13px; vertical-align: top; line-height: 20px; border-bottom: 1px solid #4d4d4d;}

#mail_form dl dd label.koumoku { background: #fff; width: 100%; border: none; margin: 0 0 1%; padding: 1em; box-sizing: border-box; font-size: 1.6rem; display: block; float: none;}
#mail_form dl dd label.koumoku:nth-child(2n) { margin-left: 0%;}
#mail_form dl dt span.areacheck { display: block; margin-top: 5px; margin-left: 0;}
#mail_form dl dd label.p-agree { padding: 1.5em 0;}

}

@media only screen and (max-width : 320px){
#logo {width:130px; top:15px;}
nav#global div.drawer-toggle-container { padding: 7px 5.5px;right:10px;}
#utilitynavi_sp {right:52px; }
#utilitynavi_sp li {padding: 7px 5.5px;margin-left:4px;}

}