@charset "UTF-8";
/*==========================
print
==========================*/
@media print {
  body {
    zoom: 90%;
  }
}
/*==========================
base
==========================*/
html {
  color: #3f4551;
  background: #FbFcFd;
}
body {
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  padding: 0;
}
body * {
  box-sizing: border-box;
  -o-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
fieldset, img {
  border: 0;
  vertical-align: bottom;
}
address, caption, cite, code, dfn, em, var {
  font-style: normal;
  font-weight: normal;
}
strong, th {
  font-style: normal;
}
strong {
  font-weight: bold;
}
ol, ul {
  list-style: none;
}
caption, th {
  text-align: left;
}
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}
input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}
input[type=text] {
  line-height: normal;
}
input::-webkit-input-placeholder {
  padding-top: 0.3em;
}
/*リンク*/
a, a:link {
  color: #005588;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
a:hover img {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
}
/* Clearfix */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}
.clearfix {
  display: inline-block;
}
/*Container*/
.container {
  margin: auto;
  clear: both;
  overflow: hidden;
}
[class$="inner"] {
  position: relative;
  display: block;
  overflow: hidden;
  margin: auto;
}
.inner:after {
  content: "";
  clear: both;
  display: block;
}
/*==========================
header
==========================*/
header, footer {
  background: #fff;
  text-align: center;
  position: relative;
}
header, p.copy {
  background-image: url("../img/header_bg.jpg");
  background-size: cover;
}
.toform{
	display: inline-block;
	position: absolute;
	width:7em;
	height:7em;
	right:1em;
	top:1em;
	z-index: 999
}
.toform img{
	width:100%;
	height:auto;
}

/*==========================
Common
==========================*/
section {
  clear: both;
  position: relative;
}
/*コンテンツタイトル*/
.ttl, .subttl {
  font-weight: bold;
  letter-spacing: .1em;
  text-align: center;
}
.ttl {
  font-size: 2rem;
  border: 1px solid #3f4551;
  margin: 0 auto;
  width: 12em;
  padding: 1em;
}
.subttl {
  display: inline-block;
  font-size: 1rem;
  padding: 0 1.6em .6em 1.6em;
  border-bottom: 1px solid #3f4551;
	margin-bottom: .6em
}
/*==========================
Main
==========================*/
/*--------------------------- 
mv
---------------------------*/
.photo img {
  width: 100%;
}
/*--------------------------- 
説明
---------------------------*/
#description, .formarea {
  padding: 5rem 0;
  background-image: url("../img/bg_main.jpg");
  background-size: cover;
  margin: 0 auto !important;
}
#description .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(236, 223, 171, .3)
}
#description .ttl + p {
  line-height: 2;
  font-size: 1.1rem;
  margin: 2.5em auto 3.5em;
}
#description .spec {
  font-size: .9rem;
  border-radius: 2px;
  padding: 1.5em;
  margin: 1em auto;
  border: 1px solid #fff;
  width: 50%;
  background: rgba(255, 255, 255, .7);
  box-shadow: 0 0 5px rgba(0, 0, 0, .1)
}
#description .spec p {
  line-height: 1.8;
}
/*--------------------------- 
form
---------------------------*/
.formarea {
  text-align: center;
  font-size: 1.1rem;
}
.formarea form {
  margin: 3em 0 0 0;
}
.formarea .attention {
  font-size: .9rem;
}
.formarea form span.req:after  {
  content: '※';
  color: #dd1243;
  display: inline-block;
  font-size: .9rem;
}
.error-js, .error-php{
  color: #dd1243;
  display: inline-block;
  font-size: .9rem;
}
.formarea input[type="text"], .formarea input[type="email"], .formarea input[type="tel"], .formarea textarea {
  border-radius: .4em;
  -moz-border-radius: .4em;
  -webkit-border-radius: .4em;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  outline: 0;
  background: #f7f3e1;
}
.formarea input[type="text"], .formarea input[type="email"], .formarea input[type="tel"], .formarea textarea {
  border: none;
  padding: .6em .8em;
}
.formarea textarea {
  line-height: 1.75;
}
#inquiry .formarea textarea {
  height: 8.75em;
}
/*ボタン*/
.formarea button[type="submit"], .formarea input[type="button"] {
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  font-weight: bold;
	letter-spacing: .1em;
  padding: .5em 1.5em;
  border: 1px solid #267CA7;
  border-radius: .2em;
  -moz-border-radius: .2em;
  -webkit-border-radius: .2em;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  outline: 0;
  cursor: pointer;
  position: relative;
}
.formarea button[type="submit"], .formarea button[type="submit"].btn-secondary:hover {
  color: #fff;
  background: #267CA7;
}
.formarea button[type="submit"]:hover, .formarea button[type="submit"].btn-secondary {
  color: #267CA7;
  background: #fff;
}
.formarea .btn_external{
	display: inline-block;
	padding-right:2em;
	margin:2em auto;
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 32"><polygon fill="%23267CA7" points="21.6 27.2 4.8 27.2 4.8 10.4 13.2 10.4 13.2 7.6 2 7.6 2 30 24.4 30 24.4 18.8 21.6 18.8 21.6 27.2"/><polygon fill="%23267CA7" points="16 2 16 4.8 25.22 4.8 12.21 17.81 14.19 19.79 27.2 6.78 27.2 16 30 16 30 2 16 2"/></svg>') right .5em center / 1em auto no-repeat ;
}
.formarea input[type="checkbox"]{
  border: 1px solid #f7f3e1;
  outline: 0;
  background: #f7f3e1;
	width:1em;
	height:1em;
	  border-radius: .1em;
  -moz-border-radius: .1em;
  -webkit-border-radius: .1em;
}
/*テーブル*/
.formarea table {
  width: 100%;
  text-align: left;
}
.formarea th {
  vertical-align: top;
}
.formarea ::placeholder{
	font-size:.8em;
  color:#7E7C56;
}
/*==========================
Footer
==========================*/
footer {
  clear: both;
  overflow: hidden;
}
.footer_inner {
  padding: 3rem 0;
}
footer .f-navi{
	margin:1em auto 3em;
	border:1px solid #267CA7;
}
footer .f-navi a{
	font-size:1.1rem;
	color:#267CA7;
	display: table-cell;
	vertical-align: middle;
	margin:0 1em;
	padding: 1em 3em 1em 1em;
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 32"><polygon fill="%23267CA7" points="21.6 27.2 4.8 27.2 4.8 10.4 13.2 10.4 13.2 7.6 2 7.6 2 30 24.4 30 24.4 18.8 21.6 18.8 21.6 27.2"/><polygon fill="%23267CA7" points="16 2 16 4.8 25.22 4.8 12.21 17.81 14.19 19.79 27.2 6.78 27.2 16 30 16 30 2 16 2"/></svg>') right 1em center / 1em auto no-repeat ;
}
footer p.copy {
  font-size: .8rem;
  line-height: 1.5;
  margin: 0 auto;
  padding: 2em 0;
}
/*==========================
ページトップ
==========================*/
#pagetop {
  display: block;
  position: fixed;
  bottom: 3em;
  right: 6%;
  z-index: 9997;
}
#pagetop a {
  text-align: center;
  display: block;
  background-color: rgba(4, 55, 144, .8);
  position: relative;
  overflow: hidden;
  border-radius: 50%;
}
#pagetop a:hover {
  background-color: rgba(4, 55, 144, 1);
}
#pagetop a img {
  position: absolute;
  margin: auto;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -moz-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
#pagetop a:hover img {
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1;
}
/*+++++++++++++++++++++++++++
mediaクエリ【PC:1024px】
+++++++++++++++++++++++++++*/
@media (min-width: 1052px) {
/*Container */
  [class$="inner"] {
    width: 1024px;
  }
}
@media (max-width: 1051px) {
/*Container */
  [class$="inner"] {
    width: 100%;
    padding-right: 1rem;
    padding-left: 1rem;
  }
}
/*+++++++++++++++++++++++++++
mediaクエリ【PC:840px;】
+++++++++++++++++++++++++++*/
@media (min-width: 868px) {
/*Container */
	.formarea table{
		width:840px;
	}
	
}
@media (max-width: 867px) {
/*Container */
  .formarea table{
    width: 100%;
  }
}

/*+++++++++++++++++++++++++++
mediaクエリ【PC】
+++++++++++++++++++++++++++*/
@media (min-width: 641px) {
  /*==========================
base
==========================*/
  .sp {
    display: none
  }
  .pc {
    display: block;
  }
  /*==========================
header
==========================*/
  header .logo img {
    height: 4.5rem;
	width: auto;
    margin: 1.5rem auto;
  }
  /*==========================
main
==========================*/
  /*テーブル*/
	.formarea table{
		margin-right:auto;
		margin-left:auto;
	}
  .formarea th, .formarea td {
    padding: .5rem;
  }
  .formarea th {
    width: 10em;
	padding-top:.75em;
  }
  .formarea td {
    width: auto;
  }
  /*フォーム */
  .formarea input[type="text"] {
    width: 100%;
  }
  .formarea input[type="tel"] {
    width: 12em;
  }
.formarea  input.halfarea, .formarea input[type="email"]{
    width: 66%;
	}
.formarea button[type="submit"] {
	font-size: 1.25rem !important;
  width: 50%;
}
.formarea button[type="submit"].btn-primary {
  margin: 2em auto 1em;
}
.formarea button[type="submit"].btn-secondary,.formarea button[type="submit"].btn-success{
  margin: 0 auto 0;
}
/*==========================
Footer
==========================*/
footer .f-navi{
	display: table;
}
footer .f-navi a{
	width:50%;
	display: table-cell;
}
footer .f-navi a:nth-of-type(even){
	border-left:1px solid #267CA7;
}
/*==========================
ページトップへ
==========================*/
  /*画面上部へ戻る-*/
  #pagetop a {
    width: 5rem;
    height: 5rem;
  }
  #pagetop a img {
    width: 2rem;
    height: 2rem;
  }
}
/*+++++++++++++++++++++++++++
mediaクエリ【スマホ】
+++++++++++++++++++++++++++*/
@media (max-width: 640px) {
  /*==========================
base
==========================*/
  body {
    font-size: 3.2vw;
  }
  .sp {
    display: block
  }
  .pc {
    display: none;
  }
  /*==================
Header
==================*/
  header .logo img {
    width: 75%;
    height: auto;
    margin: 3vw auto;
  }
.toform{
	width:12vw;
	height:12vw;
	right:2vw;
	top:2vw;
}
  /*==========================
Common
==========================*/
  /*コンテンツタイトル-*/
  .ttl {
    font-size: 5vw;
  }
  .subttl {
    font-size: 4vw;
  }
  /*==========================
main
==========================*/
#description, .formarea {
  padding: 12vw 0;
}
#description .ttl + p {
    font-size: 4vw;
}
#description .spec {
  font-size: 3.2vw;
  width: 90%;
}
.formarea {
  font-size: 4vw;
}
.formarea .attention, .formarea form span.req:after{
  font-size: 3.2vw;
}
  /*フォーム */
  .formarea input[type="text"], .formarea input[type="email"], .formarea input[type="tel"], .formarea textarea {
    width: 100%;
  }
  .formarea .age input {
    width: calc(100% - 2em);
  }
.formarea button[type="submit"]  {
    font-size: 4vw !important;
	width:100% !important;
  }
  .formarea th, .formarea td {
    display: block;
  }
  .formarea td {
    margin: .5em auto 1.5em;
  }
.formarea button[type="submit"] {
	font-size:4.6vw;
  width: 100%;
}
.formarea button[type="submit"].btn-primary {
  margin: 2em auto 1em;
}
.formarea button[type="submit"].btn-secondary,.formarea button[type="submit"].btn-success{
  margin: 0 auto 0;
}	
	
.formarea .btn_external{
	margin:1.5em auto;
}
  /*==================
    Footer
    ==================*/
  footer {
    font-size: 3.2vw;
  }
  .footer_inner {
    padding: 10vw 1rem;
  }
footer .f-navi{
	display: block;
	border:none;
}
footer .f-navi a{
	display: block;
	font-size:4vw;
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 32"><polygon fill="%23267CA7" points="21.6 27.2 4.8 27.2 4.8 10.4 13.2 10.4 13.2 7.6 2 7.6 2 30 24.4 30 24.4 18.8 21.6 18.8 21.6 27.2"/><polygon fill="%23267CA7" points="16 2 16 4.8 25.22 4.8 12.21 17.81 14.19 19.79 27.2 6.78 27.2 16 30 16 30 2 16 2"/></svg>') right 1em center / 1em auto no-repeat ;
	margin:0 auto 1em;
	border:1px solid #267CA7;
}
  footer p.copy {
    font-size: 2.8vw;
  }
  /*==========================
ページトップへ
==========================*/
  #pagetop {
    bottom: 2rem;
    right: .5rem;
  }
  #pagetop a {
    width: 12vw;
    height: 12vw;
  }
  #pagetop a img {
    width: 7vw;
    height: 7vw;
  }
  #pagetop a:active {
    background-color: rgba(4, 55, 144, 1);
  }
}