@charset "utf-8";

/*==============================================================================
  
 【common.css】- 共通/テーマ別スタイルシート
  
  テーマに依存しないスタイルとファーストビューに必要なスタイルを記述しています。
  また、それぞれの項目ではスタイル上書きによる無駄な記述をさけるため、
  メディアクエリで完全にスタイルを分けて記述しています。

  <目次>
   # Reset CSS
   # Text
   # Link
   # Image
   # List
   # Table
   # From
   # Space
   # Other
   # General
   # Header
	 # Footer
   # fixed-menu
   # Main column
  
==============================================================================*/


/*--------------------------------------
  # Reset CSS
--------------------------------------*/

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video {margin:0;padding:0;border:0;outline:0;vertical-align:baseline;background:transparent;}body {line-height:1;-webkit-text-size-adjust:100%;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display:block;}nav ul {list-style:none;}blockquote,q {quotes:none;}blockquote:before,blockquote:after,q:before,q:after {content:'';content:none;}a {margin:0;padding:0;text-decoration:none;vertical-align:baseline;background:transparent;cursor:text;}/* change colours to suit your needs */ins {background-color:#ff9;color:#000;text-decoration:none;}/* change colours to suit your needs */mark {background-color:#ff9;color:#000; font-style:italic;font-weight:bold;}del {text-decoration: line-through;}abbr[title],dfn[title] {border-bottom:1px dotted;cursor:help;}table {border-collapse:collapse;border-spacing:0;}/* change border colour to suit your needs */hr {display:block;height:1px;border:0; border-top:1px solid #cccccc;margin:1.5em 0;padding:0;}input,select {-webkit-appearance: none;appearance: none;vertical-align:middle;}select::-ms-expand{display: none;}ul,ol,li {list-style-type: none;}input::-ms-clear {visibility:hidden}input::-ms-reveal {visibility:hidden}h1,h2,h3,h4,h5,h6 {font-weight: normal;}*{box-sizing: border-box;margin: 0;padding: 0;font-size: 100%;font-style: normal;border: none;outline: none;}

/*--------------------------------------
  # Text
--------------------------------------*/

p { margin-bottom: 2rem;}
.indent {padding-left:1em;text-indent:-1em;}

/* align
--------------------*/
.alignright { text-align: right;}
.alignleft { text-align: left;}
.aligncenter { text-align: center;}

@media screen and (max-width:736px) {
.sp-alignright { text-align: right !important;}
.sp-alignleft { text-align: left !important;}
.sp-aligncenter { text-align: center !important;}
}

/* size
--------------------*/
.fs-small { font-size: 80% !important;}
.fs-large { font-size: 112% !important;}
.fs-big { font-size: 125% !important;}
.fs-bigger { font-size: 138% !important;}

/* color
--------------------*/
.fc-red { color: #F00;}

/*--------------------------------------
  # Link
--------------------------------------*/

a:not(.call-link),
body.m .call-link {
  text-decoration: underline;
  cursor: pointer;
}
body.dv a:hover {
  text-decoration: none;
}

/*--------------------------------------
  # Image
--------------------------------------*/

img {
  max-width: 100%;
  height: auto;
	vertical-align: bottom;
}

/*--------------------------------------
  # List
--------------------------------------*/

ul.list-mark,ol.list-mark {
  margin-bottom: 1.5em;
}
ul.list-mark > li {
  position: relative;
  padding-left: 1em;
}
ul.list-mark > li:not(:last-child),ol.list-mark > li:not(:last-child) {
  margin-bottom: 0.5em;
}
ul.list-mark > li:before {
  content: '';
  position: absolute;
  top: 0.8em;
  left: 0.35em;
  width: 3px;
  height: 3px;
  margin: -1px 0 0 -1px;
  background: #000;
  border-radius: 100%;
}
ol.list-mark > li {
  list-style: decimal;
  margin-left: 1.5em;
}

/*--------------------------------------
  # Form
--------------------------------------*/

form input:not([type="radio"]):not([type="checkbox"])):not([type="submit"]):not([type="button"]),form select,form textarea {
  display: inline-block;
  padding: 8px;
	font-family: 'Noto Sans JP', sans-serif;
  border: 1px solid #000;
  border-radius: 3px;
  vertical-align: top;
}
form select {
  padding-right: 25px;
}
form textarea {
  display: block;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  min-height: 100px;
}
form input[type="radio"],form input[type="checkbox"] {
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-right: 5px;
  background: #FFF;
  border: 1px solid #CCC;
  vertical-align: baseline;
}
form input[type="radio"] {
  position: relative;
  border-radius: 100px;
}
form input[type="radio"]:checked {
}
form input[type="radio"]:checked:after{
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 2px;
  width: 9px;
  height: 9px;
  background: #00a0e9;
  border-radius: 100px;
}
form input[type="checkbox"] {
  position:relative;
  border-radius: 3px;
}
form input[type="checkbox"]:checked {
}
form input[type="checkbox"]:checked:after{
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  left: 3px;
  width: 5px;
  height: 10px;
  transform: rotate(40deg);
  border-bottom: 3px solid #00a0e9;
  border-right: 3px solid #00a0e9;
}
form input[type="submit"],form input[type="button"] {
  display: inline-block;
  height: 2.5em;
  margin: 0 8px;
  padding: 0 40px;
  background: #666;
  border-radius: 3px;
  vertical-align: top;
  cursor: pointer;
}

/*--------------------------------------
  # Space
--------------------------------------*/

.mt0{margin-top:0px!important;}.mt5{margin-top:5px!important;}.mt10{margin-top:10px!important;}.mt15{margin-top:15px!important;}.mt20{margin-top:20px!important;}.mt25{margin-top:25px!important;}.mt30{margin-top:30px!important;}.mt35{margin-top:35px!important;}.mt40{margin-top:40px!important;}.mt45{margin-top:45px!important;}.mt50{margin-top:50px!important;}.mt55{margin-top:55px!important;}.mt60{margin-top:60px!important;}.mt65{margin-top:65px!important;}.mt70{margin-top:70px!important;}.mt75{margin-top:75px!important;}.mt80{margin-top:80px!important;}.mt85{margin-top:85px!important;}.mt90{margin-top:90px!important;}.mt95{margin-top:95px!important;}.mt100{margin-top:100px!important;}.mr0{margin-right:0px!important;}.mr5{margin-right:5px!important;}.mr10{margin-right:10px!important;}.mr15{margin-right:15px!important;}.mr20{margin-right:20px!important;}.mr25{margin-right:25px!important;}.mr30{margin-right:30px!important;}.mr35{margin-right:35px!important;}.mr40{margin-right:40px!important;}.mr45{margin-right:45px!important;}.mr50{margin-right:50px!important;}.mr55{margin-right:55px!important;}.mr60{margin-right:60px!important;}.mr65{margin-right:65px!important;}.mr70{margin-right:70px!important;}.mr75{margin-right:75px!important;}.mr80{margin-right:80px!important;}.mr85{margin-right:85px!important;}.mr90{margin-right:90px!important;}.mr95{margin-right:95px!important;}.mr100{margin-right:100px!important;}.mb0{margin-bottom:0px!important;}.mb5{margin-bottom:5px!important;}.mb10{margin-bottom:10px!important;}.mb15{margin-bottom:15px!important;}.mb20{margin-bottom:20px!important;}.mb25{margin-bottom:25px!important;}.mb30{margin-bottom:30px!important;}.mb35{margin-bottom:35px!important;}.mb40{margin-bottom:40px!important;}.mb45{margin-bottom:45px!important;}.mb50{margin-bottom:50px!important;}.mb55{margin-bottom:55px!important;}.mb60{margin-bottom:60px!important;}.mb65{margin-bottom:65px!important;}.mb70{margin-bottom:70px!important;}.mb75{margin-bottom:75px!important;}.mb80{margin-bottom:80px!important;}.mb85{margin-bottom:85px!important;}.mb90{margin-bottom:90px!important;}.mb95{margin-bottom:95px!important;}.mb100{margin-bottom:100px!important;}.ml0{margin-left:0px!important;}.ml5{margin-left:5px!important;}.ml10{margin-left:10px!important;}.ml15{margin-left:15px!important;}.ml20{margin-left:20px!important;}.ml25{margin-left:25px!important;}.ml30{margin-left:30px!important;}.ml35{margin-left:35px!important;}.ml40{margin-left:40px!important;}.ml45{margin-left:45px!important;}.ml50{margin-left:50px!important;}.ml55{margin-left:55px!important;}.ml60{margin-left:60px!important;}.ml65{margin-left:65px!important;}.ml70{margin-left:70px!important;}.ml75{margin-left:75px!important;}.ml80{margin-left:80px!important;}.ml85{margin-left:85px!important;}.ml90{margin-left:90px!important;}.ml95{margin-left:95px!important;}.ml100{margin-left:100px!important;}.pt0{padding-top:0px!important;}.pt5{padding-top:5px!important;}.pt10{padding-top:10px!important;}.pt15{padding-top:15px!important;}.pt20{padding-top:20px!important;}.pt25{padding-top:25px!important;}.pt30{padding-top:30px!important;}.pt35{padding-top:35px!important;}.pt40{padding-top:40px!important;}.pt45{padding-top:45px!important;}.pt50{padding-top:50px!important;}.pt55{padding-top:55px!important;}.pt60{padding-top:60px!important;}.pt65{padding-top:65px!important;}.pt70{padding-top:70px!important;}.pt75{padding-top:75px!important;}.pt80{padding-top:80px!important;}.pt85{padding-top:85px!important;}.pt90{padding-top:90px!important;}.pt95{padding-top:95px!important;}.pt100{padding-top:100px!important;}.pr0{padding-right:0px!important;}.pr5{padding-right:5px!important;}.pr10{padding-right:10px!important;}.pr15{padding-right:15px!important;}.pr20{padding-right:20px!important;}.pr25{padding-right:25px!important;}.pr30{padding-right:30px!important;}.pr35{padding-right:35px!important;}.pr40{padding-right:40px!important;}.pr45{padding-right:45px!important;}.pr50{padding-right:50px!important;}.pr55{padding-right:55px!important;}.pr60{padding-right:60px!important;}.pr65{padding-right:65px!important;}.pr70{padding-right:70px!important;}.pr75{padding-right:75px!important;}.pr80{padding-right:80px!important;}.pr85{padding-right:85px!important;}.pr90{padding-right:90px!important;}.pr95{padding-right:95px!important;}.pr100{padding-right:100px!important;}.pb0{padding-bottom:0px!important;}.pb5{padding-bottom:5px!important;}.pb10{padding-bottom:10px!important;}.pb15{padding-bottom:15px!important;}.pb20{padding-bottom:20px!important;}.pb25{padding-bottom:25px!important;}.pb30{padding-bottom:30px!important;}.pb35{padding-bottom:35px!important;}.pb40{padding-bottom:40px!important;}.pb45{padding-bottom:45px!important;}.pb50{padding-bottom:50px!important;}.pb55{padding-bottom:55px!important;}.pb60{padding-bottom:60px!important;}.pb65{padding-bottom:65px!important;}.pb70{padding-bottom:70px!important;}.pb75{padding-bottom:75px!important;}.pb80{padding-bottom:80px!important;}.pb85{padding-bottom:85px!important;}.pb90{padding-bottom:90px!important;}.pb95{padding-bottom:95px!important;}.pb100{padding-bottom:100px!important;}.pl0{padding-left:0px!important;}.pl5{padding-left:5px!important;}.pl10{padding-left:10px!important;}.pl15{padding-left:15px!important;}.pl20{padding-left:20px!important;}.pl25{padding-left:25px!important;}.pl30{padding-left:30px!important;}.pl35{padding-left:35px!important;}.pl40{padding-left:40px!important;}.pl45{padding-left:45px!important;}.pl50{padding-left:50px!important;}.pl55{padding-left:55px!important;}.pl60{padding-left:60px!important;}.pl65{padding-left:65px!important;}.pl70{padding-left:70px!important;}.pl75{padding-left:75px!important;}.pl80{padding-left:80px!important;}.pl85{padding-left:85px!important;}.pl90{padding-left:90px!important;}.pl95{padding-left:95px!important;}.pl100{padding-left:100px!important;}


/*--------------------------------------
  # Other
--------------------------------------*/
.clear { clear: both;}
iframe { display: block;}

@media screen and (min-width:737px) {
.hide-d { display: none !important;}
}
@media screen and (max-width:736px) {
.hide-m { display: none !important;}
}

/*--------------------------------------
  # General
--------------------------------------*/

html {
  font-size: 62.5%;
  overflow-y: scroll;
  word-break: break-all;
  line-break:strict;
}
@-moz-document url-prefix() { /* FireFox */
  html {
    word-break: normal;
    word-wrap: break-word;
  }
}
@media screen and (-webkit-min-device-pixel-ratio: 0) { /* safari */
  _::-webkit-full-page-media, _:future, :root #container {
    word-break: normal !important;
    word-wrap: break-word !important;
  }
}
body {
  color: #333333;
  font-size: 1.8rem;
	font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.6;
  text-align: left;
}

@media screen and (max-width:736px) {
html { font-size: 55%;}
}

/*--------------------------------------
  # Header
--------------------------------------*/

header#header {
  /*position: fixed;
  top: 0;
  left: 0;*/
	position: relative;
  width: 100%;
  clear: both;
  background: #FFF;
	box-shadow: 0 0 4px rgba(0,0,0,0.3);
  z-index: 1000;
}
header#header div.header-wrapper {
  clear: both;
	max-width: 750px;
	margin: 0 auto;
	overflow: hidden;
}
header#header div.site-title {
  float: left;
  clear: left;
	width: 346px;
}
header#header div.site-title a {
  display: block;
  max-width: 346px;
  height: 0;
	margin: 5px 0;
  padding-top: 75px;
  background: url(../img/logo.png) no-repeat 0 center;
  background-size: contain;
  overflow: hidden;
}
body.dv header#header div.site-title a:hover {
  opacity: 0.7;
}
header#header .supplement-nav {
	display: flex;
	justify-content: flex-end;
}
header#header .supplement-nav li {
	width: 180px;
	margin: 10px 0 10px 10px;
}
header#header .supplement-nav li a,
header#header .supplement-nav li span {
	display: block;
	padding: 0;
	text-align: center;
	border-radius: 6px;
	border-bottom: 4px solid rgba(0,0,0,0.3);
	line-height: 0;
}
header#header .supplement-nav li.tel a,
header#header .supplement-nav li.tel span {
	background: #e5004f;
}
header#header .supplement-nav li.form a {
	background: #00a0e9;
}
body.dv header#header .supplement-nav li a:hover {
	margin-top: 3px;
	border-bottom: 1px solid rgba(0,0,0,0.15);
}
header#header .supplement-nav li.wide {
	width: 300px;
}

@media screen and (max-width:736px) {

header#header div.header-wrapper {
	max-width: 100%;
	margin: 0 5px;
}
header#header div.site-title {
	margin: 5px 0;
  width: 30%;
}
header#header div.site-title a {
  padding-top: 30%;
}
header#header .supplement-nav li {
	width: auto;
	margin: 5px 0 5px 5px;
}
header#header .supplement-nav li.wide {
	width: 50%;
}
header#header .supplement-nav li.wide a {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 32%;
	overflow: hidden;
}
header#header .supplement-nav li.wide a img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	height: 100%;
	transform: translate(-50%, -50%);
}
}

/*--------------------------------------
  # Footer
--------------------------------------*/

footer#footer {
  clear: both;
	overflow: hidden;
	background: #333;
	color: #FFF;
}
footer#footer nav#sitemap-nav {
	max-width: 750px;
	margin: 30px auto;
	overflow: hidden;
}
footer#footer nav#sitemap-nav > ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
footer#footer nav#sitemap-nav > ul > li {
	border-right: 1px solid #FFF;
}
footer#footer nav#sitemap-nav > ul > li:first-child {
	border-left: 1px solid #FFF;
}
footer#footer nav#sitemap-nav a {
	position: relative;
	display: block;
  padding: 0 30px 5px;
  color: #FFF;
  font-size: 2.4rem;
	line-height: 1.4;
  text-decoration: none;
}
body.dv footer#footer nav#sitemap-nav a:hover {
	text-decoration: underline;
}
footer#footer p.copyright {
  margin: 0;
  color: rgba(255,255,255,0.6);
  font-size: 1.3rem;
  text-align: center;
  line-height: 40px;
}
div#pagetop {
  position: fixed;
  right: 0;
  bottom: 140px;
  z-index: 10;
  opacity: 0;
  transition: 0.3s;
}
div#pagetop.show {
  opacity: 1;
}
div#pagetop a {
  display: block;
  width: 40px;
  height: 0;
  padding-top: 60px;
  background: #181818;
  overflow: hidden;
}
div#pagetop a:before {
  content: '';
  position: fixed;
  right: 12px;
  bottom: 160px;
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #FFF;
  border-left: 2px solid #FFF;
  transform: rotate(45deg);
  transition: 0.1s;
}
body.dv div#pagetop a:hover,
body.dv div#pagetop a:hover:before {
  opacity: 0.8;
}

@media screen and (max-width:736px) {
footer#footer {
	max-width: 100%;
	padding: 0 20px;
}
footer#footer nav#sitemap-nav > ul > li {
	width: 50%;
	text-align: center;
}
footer#footer nav#sitemap-nav a {
  padding: 5px;
  font-size: 2.0rem;
}
}

/*--------------------------------------
  # fixed-menu
--------------------------------------*/

nav#fixed-menu {
  position: fixed;
  left: 50%;
  bottom: 0;
  width: 750px;
	margin-left: -375px;
  z-index: 100;
}
nav#fixed-menu ul {
	display: flex;
  justify-content: space-between;
  text-align: center;
}
nav#fixed-menu ul li {
  width: 48%;
}
nav#fixed-menu ul li a,
nav#fixed-menu ul li span {
  display: block;
	padding: 10px 0 6px;
	border-bottom: 4px solid rgba(0,0,0,0.3);
	border-radius: 10px 10px 0 0;
	line-height: 0;
}
nav#fixed-menu ul li.tel a,
nav#fixed-menu ul li.tel span {
	background: #e5004f;
}
nav#fixed-menu ul li.form a {
	background: #00a0e9;
}
body.dv nav#fixed-menu ul li a:hover {
	margin-top: 3px;
	border-bottom: 1px solid rgba(0,0,0,0.3);
}
nav#fixed-menu ul li.wide {
  display: block;
  width: 100%;
}

@media screen and (max-width:736px) {
nav#fixed-menu {
  left: 0;
  width: 100%;
	margin-left: 0;
}
nav#fixed-menu ul li a,nav#fixed-menu ul li span {
	padding: 4px 0 0;
}
nav#fixed-menu ul li a img {
	width:85%;
}
}

/*--------------------------------------
  # Main column
--------------------------------------*/

@media print, screen and (min-width:737px) {

/* main
--------------------*/

#main {
  position: relative;
  clear: both;
  max-width: 750px;
	margin: 0 auto;
}

/* breadcrumbs
--------------------*/

#main nav#breadcrumbs {
  clear: both;
	padding: 10px 0 20px;
  font-size: 1.2rem;
  text-align: left;
  letter-spacing: normal;
  line-height: 1.2;
}
#main nav#breadcrumbs li {
  display: inline-block;
  vertical-align: top;
}
#main nav#breadcrumbs li a,
#main nav#breadcrumbs li > span {
  position: relative;
  display: block;
  padding: 0 0 0 20px;
}
#main nav#breadcrumbs li a:before,
#main nav#breadcrumbs li > span:before {
  content: '';
  position: absolute;
  top: 3px;
  left: 10px;
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-left: 4px solid #666;
  border-bottom: 4px solid transparent;
}
#main nav#breadcrumbs li a:after,
#main nav#breadcrumbs li > span:after {
  content: '';
  position: absolute;
  top: 3px;
  left: 8px;
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-left: 5px solid #FFF;
  border-bottom: 4px solid transparent;
}
#main nav#breadcrumbs li:first-child a {
  padding: 0;
}
#main nav#breadcrumbs li:first-child a:before,
#main nav#breadcrumbs li:first-child a:after {
  content: normal;
  display: none;
}
#main nav#breadcrumbs li:last-child a {
  color: #262626;
  text-decoration: none;
}

/* node
--------------------*/

#main section.node {
  clear: both;
	padding: 0 0 40px;
  overflow: hidden;
}
#top #main section.node {
	padding: 0;
}
#main div.node-wrapper {
  clear: both;
  padding: 0 30px;
  overflow: hidden;
}
#main div.node-inner {
  padding: 0 15px;
  overflow: hidden;
}
#main section.node.rate-card {
	margin: 0 0 30px;
	background-color: #ed4c83;
	background-image: linear-gradient(-45deg, rgba(255,255,255,0.1) 25%, #ed4c83 25%, #ed4c83 50%, rgba(255,255,255,0.1) 50%, rgba(255,255,255,0.1) 75%, #ed4c83 75%, #ed4c83);
	background-size: 14px 14px;
}

/* title
--------------------*/

#main h2 {
  clear: both;
  margin: 30px 0 60px;
  color: #333;
	font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: 4.2rem;
	font-weight: 700;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 2px;
}
div#main h3 {
  position: relative;
  margin: 0 0 20px;
	padding: 13px 15px;
	color: #FFF;
	font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: 2.6rem;
	font-weight: 700;
	border-radius: 10px 10px 0 0;
}
div#main h3.titile01 {
	background: #f39800;
}
div#main h3.titile02 {
	background: #8ec31f;
}
div#main h3.titile03 {
	background: #0068b7;
}
div#main h3.titile04 {
	background: #920783;
}
div#main h3.titile05 {
	background: #e4007f;
}
div#main h4 {
  position: relative;
  display: inline-block;
  margin-bottom: 10px;
	padding-left: 20px;
  font-size: 2.0rem;
  font-weight: 700;
  vertical-align: top;
}
div#main h4:before,div#main h4:after {
  content: '';
  position: absolute;
  width: 12px;
	height: 12px;
	border-radius: 100px;
}
div#main h4:before {
  top: 12px;
  left: 0;
  background: rgba(229,0,79,0.7);
}
div#main h4:after {
  top: 7px;
  left: 4px;
  background: rgba(0,160,233,0.7);
}
}

@media screen and (max-width:736px) {

#main {
  position: relative;
  clear: both;
  overflow: hidden;
}
#main nav#breadcrumbs {
  display: none;
}

/* node
--------------------*/

#main section.node {
  clear: both;
  padding: 10px 20px 30px;
  overflow: hidden;
}
#top #main section.node {
  padding: 0;
}
#main section.node div.node-wrapper {
  clear: both;
  overflow: hidden;
}
#main section.node div.node-wrapper-odd {
  margin-bottom: 30px;
}
#main section.node div.node-inner {
  clear: both;
  overflow: hidden;
}
#main section.node.rate-card {
	margin: 0 0 30px;
	background-color: #ed4c83;
	background-image: linear-gradient(-45deg, rgba(255,255,255,0.1) 25%, #ed4c83 25%, #ed4c83 50%, rgba(255,255,255,0.1) 50%, rgba(255,255,255,0.1) 75%, #ed4c83 75%, #ed4c83);
	background-size: 14px 14px;
}
#main section.node.rate-card div.node-wrapper {
	padding: 0 20px;
}

/* title
--------------------*/

#main h2 {
  clear: both;
  margin: 30px 0;
  color: #333;
	font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: 3.0rem;
	font-weight: 700;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 2px;
}
div#main h3 {
  position: relative;
  margin: 0 -10px 20px;
	padding: 12px 10px;
	color: #FFF;
	font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: 2.2rem;
	font-weight: 700;
	border-radius: 10px 10px 0 0;
}
div#main h3.titile01 {
	background: #f39800;
}
div#main h3.titile02 {
	background: #8ec31f;
}
div#main h3.titile03 {
	background: #0068b7;
}
div#main h3.titile04 {
	background: #920783;
}
div#main h3.titile05 {
	background: #e4007f;
}
div#main h4 {
  position: relative;
  display: inline-block;
  margin-bottom: 10px;
	padding-left: 20px;
  font-size: 1.8rem;
  font-weight: 700;
  vertical-align: top;
}
div#main h4:before,div#main h4:after {
  content: '';
  position: absolute;
  width: 12px;
	height: 12px;
	border-radius: 100px;
}
div#main h4:before {
  top: 10px;
  left: 0;
  background: rgba(229,0,79,0.7);
}
div#main h4:after {
  top: 5px;
  left: 4px;
  background: rgba(0,160,233,0.7);
}
}

/*--------------------------------------
  # その他
--------------------------------------*/
table.company-table {
	width: 100%;
	margin-bottom: 1em;
	border-top: 1px solid #333;
	border-left: 1px solid #333;
}
table.company-table th,table.company-table td {
	padding: 10px 15px;
	border-right: 1px solid #333;
	border-bottom: 1px solid #333;
}
table.company-table th {
	background: #EEE;
	text-align: center;
	vertical-align: middle;
}
table.rate {
	width: 100%;
	margin: 30px 0 40px;
	background: #FFF;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 2.2rem;
	font-weight: 700;
	border-left: 3px solid #555; 
}
table.rate th,table.rate td {
	padding: 0 20px;
	text-align: center;
	border-bottom: 3px solid #555;
	vertical-align: middle;
}
table.rate th:last-child,table.rate td:last-child {
	border-right: 3px solid #555; 
}
table.rate th {
	/*padding: 15px;*/
	background: #555;
	color: #FFF;
	font-size: 2.4rem;
	border-bottom: none;
}
table.rate th.bg {
	position: relative;
	width: 36%;
	padding: 0 0 30px;
	font-size: 1.6em;
	border-left: 12px solid #333;
	border-right: 12px solid #333;
	background: #333;
}
table.rate th.bg:before {
	content: '';
	position: absolute;
	top: -30px;
	left: -12px;
	right: -12px;
	height: 30px;
	background: #333;
}
table.rate td:first-child {
	text-align: left;
}
table.rate td:nth-child(2),table.rate td:nth-child(3) {
	font-family: 'Jost', sans-serif;
	font-weight: 600;
}
table.rate td em {
	margin-right: 5px;
	font-size: 3.6rem;
	letter-spacing: -2px;
}
table.rate td.bg {
	font-size: 3.4rem;
	border-left: 12px solid #333;
	border-right: 12px solid #333;
	border-bottom-color: #333;
	text-shadow: 3px 3px 0px rgba(0,0,0,0.15);
}
table.rate td.bg em {
	color: #e5004f;
	font-size: 6.0rem;
}
table.rate tr:last-child td.bg {
	position: relative;
	border-bottom: 3px solid #333;
}
table.rate tr:last-child td.bg:before {
	content: '';
	position: absolute;
	bottom: -12px;
	left: -12px;
	right: -12px;
	height: 12px;
	background: #333;
}
dl.faq-inner {
	margin: 20px;
	padding: 20px;
	border-radius: 20px;
}
dl.faq-inner:nth-child(1) { border: 10px solid #8ec31f;}
dl.faq-inner:nth-child(2) {	border: 10px solid #009e96;}
dl.faq-inner:nth-child(3) {	border: 10px solid #00a0e9;}
dl.faq-inner:nth-child(4) {	border: 10px solid #0068b7;}
dl.faq-inner:nth-child(5) {	border: 10px solid #920783;}
dl.faq-inner:nth-child(6) {	border: 10px solid #e5004f;}
dl.faq-inner dt {
	position: relative;
	padding: 0 0 15px 35px;
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.4;
}
dl.faq-inner dt:before {
	content: 'Q.';
	position: absolute;
	top: 0;
	left: 0;
	font-family: 'Jost', sans-serif;
	font-weight: 600;
}
dl.faq-inner:nth-child(1) dt:before { color:#8ec31f;}
dl.faq-inner:nth-child(2) dt:before {	color:#009e96;}
dl.faq-inner:nth-child(3) dt:before {	color:#00a0e9;}
dl.faq-inner:nth-child(4) dt:before {	color:#0068b7;}
dl.faq-inner:nth-child(5) dt:before {	color:#920783;}
dl.faq-inner:nth-child(6) dt:before {	color:#e5004f;}
dl.faq-inner dd {
	padding: 0 0 0 35px;
}
div.tel-banner {
	padding: 30px;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 2.6rem;
	font-weight: 700;
	text-align: center;
	border: 10px solid #e5004f;
}
div.tel-banner .title {
	margin: 0;
	color: #e5004f;
	font-size: 3.6rem;
}
div.tel-banner .tel-btn a {
	display: block;
	margin: 0 0 10px;
	background: #e5004f;
	color: #FFF;
	font-family: 'Jost', sans-serif;
	font-size: 4.6rem;
	font-weight: 600;
	text-decoration: none;
	border-radius: 100px;
}
div.tel-banner .tel-btn a:before {
	content: '';
	display: inline-block;
	width: 50px;
	height: 50px;
	margin: 0 15px 6px 0;
	background: url(../img/0120.svg) no-repeat 0 0;
	background-size: 100% auto;
	vertical-align: middle;
}
div.tel-banner .time {
	margin: 0;
}
div.tel-banner .time .open {
	display: inline-block;
	margin: 0 10px 0 0;
	padding: 0 10px;
	font-size: 2.2rem;
	border: 3px solid #333;
}
div.close-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 15px 30px;
	background: #EEE;
}
div.close-wrapper div.close-sign {
	width: 20%;
}
div.close-wrapper div.close-text {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 2.0rem;
}
div.close-wrapper div.close-gratitude {
	width: 18%;
}
@media screen and (max-width:736px) {
table.company-table th,table.company-table td {
	padding: 10px;
}
table.rate {
	font-size: 1.8rem;
}
table.rate th,table.rate td {
	padding: 10px;
}
table.rate th {
	padding: 10px 5px;
	font-size: 2.0rem;
}
table.rate th.bg {
	padding: 0 5px 20px;
	border-left: 8px solid #333;
	border-right: 8px solid #333;
}
table.rate th.bg:before {
	top: -20px;
	left: -8px;
	right: -8px;
	height: 20px;
}
table.rate td em {
	font-size: 2.6rem;
}
table.rate td.bg {
	font-size: 3.0rem;
	border-left: 8px solid #333;
	border-right: 8px solid #333;
}
table.rate tr:last-child td.bg:before {
	bottom: -8px;
	left: -8px;
	right: -8px;
	height: 8px;
}
table.rate td.bg em {
	font-size: 4.0rem;
}
dl.faq-inner {
	padding: 10px;
}
dl.faq-inner:nth-child(1) { border: 6px solid #8ec31f;}
dl.faq-inner:nth-child(2) {	border: 6px solid #009e96;}
dl.faq-inner:nth-child(3) {	border: 6px solid #00a0e9;}
dl.faq-inner:nth-child(4) {	border: 6px solid #0068b7;}
dl.faq-inner:nth-child(5) {	border: 6px solid #920783;}
dl.faq-inner:nth-child(6) {	border: 6px solid #e5004f;}
dl.faq-inner dt {
	padding: 0 0 10px 30px;
	font-size: 2.2rem;
}
dl.faq-inner dd {
	padding: 0 0 0 30px;
}
div.tel-banner {
	padding: 20px;
	font-size: 1.8rem;
	border: 6px solid #e5004f;
}
div.tel-banner .title {
	font-size: 2.8rem;
}
div.tel-banner .tel-btn a {
	font-size: 3.2rem;
}
div.tel-banner .tel-btn a:before {
	width: 30px;
	height: 30px;
	margin: 0 10px 6px 0;
}
div.tel-banner .time .open {
	font-size: 1.6rem;
	border: 2px solid #333;
}
div.close-wrapper {
  flex-direction: column;
	padding: 20px;
}
div.close-wrapper div.close-sign {
	width: 40%;
}
div.close-wrapper div.close-text {
	margin: 15px 0;
	font-size: 1.8rem;
	text-align: center;
}
div.close-wrapper div.close-gratitude {
	width: 30%;
}
}

/*--------------------------------------
  # Form
--------------------------------------*/
div#main dl.input-block {
  clear: both;
  padding: 15px;
	background: rgba(0,160,233,0.1);
	border-top: 1px dotted rgba(0,0,0,0.2);
  overflow: hidden;
}
div#main dl.input-block dt {
  position: relative;
	margin-bottom: 5px;
  font-weight: bold;
}
div#main dl.input-block dt span.required {
	display: inline-block;
	margin-left: 10px;
  padding: 3px 8px;
  color: #FFF;
  font-size: 1.4rem;
  background: #e60012;
	vertical-align: middle;
	line-height: 1.2;
}
div#main dl.input-block dd {
  display: block;
}
div#main dl.input-block dd p {
  margin: 0;
}
div#main div.form_in input[type="text"],
div#main div.form_in input[type="email"],
div#main div.form_in input[type="tel"],
div#main div.form_in select,
div#main div.form_in textarea,
div#main input[type="password"] {
  display: inline-block;
  width: 100%;
  min-height: 38px;
  margin: 2px;
  padding: 5px 10px;
  background: #FFF;
  font-size: 1.8rem;
	font-family: 'Noto Sans JP', sans-serif;
  border: 1px solid #CCC;
  border-radius: 3px;
  outline: none;
  vertical-align: middle;
  box-sizing: border-box;
}
div#main div.form_in input.short {
  width: 20%;
}
div#main div.form_in input.middle {
  width: 60%;
}
div#main div.form_in label {
  display: inline-block;
  margin: 5px 20px 5px 0;
  vertical-align: top;
}
div#main div.form_in textarea {
  padding: 10px;
  font-size: 1.6rem;
	font-family: 'Noto Sans JP', sans-serif;
  border: 1px solid #CCC;
}
div#main .form-btn {
  clear: both;
	padding: 30px 0;
  text-align: center;
  letter-spacing: -.40em;
	border-top: 1px dotted rgba(0,0,0,0.2);
}
div#main .form-btn input[type="submit"] {
  position: relative;
  display: inline-block;
  width: 40%;
	height: auto;
  padding: 10px 20px 5px;
  background: #00a0e9;
  color: #FFF;
  font-size: 2.6rem;
  font-weight: bold;
  text-decoration: none;
  vertical-align: top;
  letter-spacing: 2px;
  -webkit-appearance: none;
  border-bottom: 4px solid rgba(0,0,0,0.15);
  border-radius: 100px;
  cursor: pointer;
}
body.dv div#main .form-btn input[type="submit"]:hover {
	margin-top: 3px;
  border-bottom: 1px solid rgba(0,0,0,0.15);
}
div#main div.form-checklist {
	display: inline-block;
	padding: 20px;
	color: #e60012;
	font-weight: bold;
	border: 8px solid #e60012;
	border-radius: 20px;
}
div#main div.form-checklist ol {
	text-align: left;
}

@media screen and (max-width:736px) {
  div#main div.form_in {
    margin: 0 -20px 20px;
    padding: 5px 0 20px;
  }
  div#main dl.input-block {
    padding: 20px;
  }
  div#main dl.input-block dt {
    float: none;
    width: auto;
    margin-bottom: 5px;
    line-height: 1.4;
  }
  div#main dl.input-block dt span.required {
    top: 0;
  }
  div#main dl.input-block dd {
    margin-left: 0;
  }
  div#main dl.input-block dd p {
    margin: 0;
  }
  div#main div.form_in input[type="text"],
  div#main div.form_in input[type="email"],
  div#main div.form_in input[type="tel"],
  div#main div.form_in select,
  div#main div.form_in textarea,
  div#main input[type="password"] {
    font-size: 16px;
  }
  div#main div.form_in input.short {
    width: 40%;
  }
  div#main div.form_in input.middle {
    width: 100%;
  }
  div#main .form-btn input[type="submit"] {
    width: 80%;
		margin: 10px 0;
  }
	div#main div.form-checklist {
		display: block;
		padding: 10px;
		border: 4px solid #e60012;
	}
}

/* link
--------------------*/

div#main a.detail-link {
  position: relative;
  display: inline-block;
	width: 40%;
  margin: 0 10px;
  padding: 10px 20px 5px;
  background: #7878ff;
  color: #FFF;
  font-size: 2.6rem;
	font-weight: bold;
  text-decoration: none;
  vertical-align: top;
  border-bottom: 4px solid rgba(0,0,0,0.15);
	border-radius: 100px;
  overflow: hidden;
  box-sizing: border-box;
  transition: 0.2s;
}
body.dv div#main a.detail-link:hover {
	margin-top: 3px;
  border-bottom: 1px solid rgba(0,0,0,0.15);
}
div#main a.link-icon {
  position: relative;
  padding-left: 18px;
}
div#main a.link-icon:before {
  content: '';
  position: absolute;
  top: 6px;
  left: 6px;
  width: 0;
  height: 0;
  border-left: 6px solid #7878ff;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}

@media screen and (max-width:736px) {
div#main a.detail-link {
  display: block;
  width: 80%;
  margin: 0 auto 10px;
  padding: 10px 10px 5px;
	font-size: 2.2rem;
}
}