@charset "utf-8";

/* --------------------------------

  reset

-------------------------------- */

  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;
    font-size: 100%;
    font-style: normal;
    font-weight: normal;
    vertical-align: baseline;
  }

  article, aside, details, figcaption, figure,
  footer, header, hgroup, menu, nav, section { 
    display: block;
  }

  html {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
  }

  *, *:before, *:after {
    -webkit-box-sizing: inherit;
       -moz-box-sizing: inherit;
            box-sizing: inherit;
  }

  img {
    border: none;
    vertical-align: top;
  }

  a {
    border: none;
  }

  table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
  }

  th, td {
    padding: 0;
    vertical-align: middle;
  }

  th {
    text-align: left;
  }

  li {
    list-style: none;
  }

  b, strong {
    font-weight: bold;
  }

  hr {
    display: block;
    height: 0;
    margin: 2em 0;
    padding: 0;
    font-size: 1em;
    line-height: 0;
    border: 0;
    border-top: 1px solid #ccc;
    box-sizing: content-box;
  }

  img, iframe, object {
    max-width: 100%;
  }

/* --------------------------------

  clearfix

-------------------------------- */

  .clearfix:before,
  .clearfix:after {
    content: " ";
    display: table;
  }

  .clearfix:after {
    clear: both;
  }

/* --------------------------------

  hover

-------------------------------- */

  a {
    color: #0059b2;
    text-decoration: none;
  }

  a:hover {
    color: #9acbd9;
    text-decoration: underline;
  }

/* --------------------------------

  google map

-------------------------------- */

  .gmap {
    width: 100%;
    height: 100%;
  }

  .gmap img {
    max-width: none;
  }

/* --------------------------------

  common style

-------------------------------- */

/* 共通見出し（h1）*/

  .page-title {
    display: ;
    position: absolute;
    right: 0;
    bottom: -185px;
    left: 0;
    width: 312px;
    height: 190px;
    margin: auto;
    background: url(../img/base/bg5.png) no-repeat center;
  }

  .page-title-inner {
    padding: 70px 0 0;
    line-height: 1.2;
    text-align: center;
  }

  .page-title-name {
    color: #82ced8;
    font-size: 2.6em;
  }

  .page-title-name-en {
    color: #bbeae8;
    font-size: 1.2em;
  }

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

  .page-title {
    -webkit-transform: scale(.8);
            transform: scale(.8);
  }

}

@media screen and (min-width: 801px) {

  .page-title {
    top: 300px;
    right: 0;
    bottom: auto;
    left: 0;
  }

}

@media screen and (min-width: 1001px) {

  .page-title {
    top: 280px;
  }

}

/* 共通見出し（h2）*/

  .main-heading {
    position: relative;
    margin: 3px 3px 1em;
    padding: 15px 15px 13px 70px;
    color: #fff;
    font-size: 1.6em;
    line-height: 1.0;
    border: 1px dashed #fff;
    background: url(../img/base/bg4.png);
    box-shadow: 0 0 0 3px #fe2f67;
  }

  .main-heading span {
    display: block;
    font-size: .6em;
  }

  .main-heading:before {
    content: "";
    position: absolute;
    top: -20px;
    left: 3px;
    width: 60px;
    height: 60px;
    background: url(../img/base/flower.png) no-repeat center;
    background-size: cover;  
  }

  .main-heading:hover:before {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
    -webkit-transition: .8s;
            transition: .8s;
  }

/* 共通見出し（h3）*/

  .main-heading2 {
    margin: 1em 0 .5em;
    padding: 2px 0 0 44px;
    color: #71c6d4;
    font-size: 1.2em;
    line-height: 1.2;
    font-weight: bold;
    background: url(../img/base/bg6.png) no-repeat left;
    background-size: auto 20px;
  }

/* 共通リスト */

  .main ul > li {
    margin-top: .5em;
    padding-left: 1em;
    text-indent: -1em;
    list-style-type: none;
  }

  .main ul > li:before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: -5px 8px -3px 0;
    vertical-align: middle;
    background: #333;
    border-radius: 10px;
  }

  .main ol > li {
    margin-top: .5em;
    margin-left: 1em;
    list-style-type: decimal;
  }

/* リストマーカー削除 */

  .main ul.list-style-none > li {
    margin-top: 0;
    padding-left: 0;
    text-indent: 0;
    list-style-type: none;
  }

  .main ul.list-style-none > li:before {
    display: none;
  }

  .main ol.list-style-none > li {
    margin-top: 0;
    margin-left: 0;
    list-style-type: none;
  }

/* 注釈（※）用インデント */

  .notes {
    margin-left: 1em;
    text-indent: -1em;
  }

/* 共通リンクボタン */

  .more {
    margin-top: 2em;
    text-align: center;
  }

  .link-button {
    display: inline-block;
    padding: .5em 1.5em;
    color: #fff;
    background: #fe2f67;
    border-radius: 100px;
  }

  .link-button:hover {
    color: #fff;
    text-decoration: none;
    background: #9acbd9;
  }

/* コンテンツ画面中央寄せ */

  .inner {
    position: relative;
    width: 100%;
    max-width: 1000px;
    margin-right: auto;
    margin-left: auto;
  }

  .inner:after {
    content: "";
    display: table;
    clear: both;
  }

/* コンテンツ隙間・間隔用 */

  .gutter {
    margin-bottom: 5em;
  }

  .gutter:last-child {
    margin-bottom: 0em;
  }

  .gutter .inner {
    width: auto;
    margin-top: 2em;
    padding-right: 1em;
    padding-left: 1em;
  }

/* グリッドシステム */

  .container:after,
  .grid:after {
    content: "";
    display: table;
    clear: both;
  }

  .container {
    margin-right: -10px;
    margin-left: -10px;
  }

  .container .grid {
    margin-bottom: 20px;
    padding-right: 10px;
    padding-left: 10px;
  }

  .container.gutter {
    padding-top: 2em;
    padding-bottom: 2em;
  }

  .grid {
    float: left;
  }

  .grid-1  { width:  8.33%;}
  .grid-2  { width: 16.66%;}
  .grid-3  { width: 25.00%;}
  .grid-4  { width: 33.33%;}
  .grid-5  { width: 41.66%;}
  .grid-6  { width: 50.00%;}
  .grid-7  { width: 58.33%;}
  .grid-8  { width: 66.66%;}
  .grid-9  { width: 75.00%;}
  .grid-10 { width: 83.33%;}
  .grid-11 { width: 91.66%;}
  .grid-12 { width: 100.0%;}

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

  .grid {
    float: none;
    width: 100%;
  }

}

/* 画像左右中央配置 */

  .fig-img {
    display: block;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
  }

  .fig-img.fr {
    margin-left: 1em;
  }

  .fig-img.fl {
    margin-right: 1em;
  }

  .fig-img.center {
    margin-bottom: 1em;
  }

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

  .fig-img.center {
    float: none;
    margin-right: auto;
    margin-left: auto;
  }

}

/* キャプション */

  .caption {
    margin-top: 1em;
    font-size: .9em;
    text-align: center;
  }

/* アンカー位置調整 */

  .anchor-point {
    margin: -50px 0 0;
    padding: 50px 0 0;
  }

/* テーブル */

  .table {
    display: table;
    width: 100%;
  }

  .table-row {
    display: table-row;
    width: 100%;
  }

  .table-cell {
    display: table-cell;
    vertical-align: middle;
  }

/* 明朝体 */

  .mincho {
    line-height: 1.8;
    font-size: 1.2em;
    font-family: "ヒラギノ明朝 Pro","Hiragino Mincho Pro",sans-serif;
    letter-spacing: -.5px;
  }

/* --------------------------------

  form

-------------------------------- */

/* 入力エリア */

  .form-short,
  .form-middle,
  .form-long {
    padding: .5em;
    color: #475e8b;
    font: 16px/1.2 "メイリオ",Meiryo,'ＭＳ Ｐゴシック',sans-serif;
    border: 1px solid #ddd;
    background: #fff;
    outline: none;
  }

  .form-short  { width: 35%;}
  .form-middle { width: 75%;}
  .form-long   { width: 100%;}

/* 送信ボタン */

  .form-button {
    margin-top: 2em;
    text-align: center;
  }

  .form-button input {
    display: inline-block;
    width: 100px;
    height: 40px;
    margin: 0 .5em;
    padding: .2em 0 0;
    color: #fff;
    font: 16px/1.2 "メイリオ",Meiryo,'ＭＳ Ｐゴシック',sans-serif;
    text-align: center;
    line-height: 40px;
    border: none;
    background: #999;
    vertical-align: top;
    overflow: hidden;
    cursor: pointer;
  }

  .form-button input:hover {
    background-color: #ccc;
  }

  .form-button input.form-send {
    background: #999;
  }

  .form-button input.form-back {
    background: #ddd;
  }

/* 必須マーク */

  .icon-must,
  .icon-none {
    display: inline-block;
    width: 50px;
    margin: -3px 10px 0 0;
    color: #fff;
    font-size: .9em;
    text-align: center;
    vertical-align: middle;
  }

  .icon-must {
    background: #d90000;
  }

  .icon-none {
    background: #fff;
  }

/* --------------------------------

  utility

-------------------------------- */

/* visual */
.block  { display: block;}
.inline { display: inline;}
.table  { display: table;}
.tcell  { display: table-cell;}
.dn     { display: none;}
.vh     { visibility: hidden;}

/* clear */
.cb     { clear: both;}
.cl     { clear: left;}
.cr     { clear: right;}

/* float */
.fl     { float: left;}
.fr     { float: right;}

/* align */
.center { text-align: center;}
.left   { text-align: left;}
.right  { text-align: right;}
.top    { vertical-align: top;}
.middle { vertical-align: middle;}
.bottom { vertical-align: bottom;}

/* font */
.f80    { font-size:  .8em;}
.f90    { font-size:  .9em;}
.f120   { font-size: 1.2em;}
.f130   { font-size: 1.3em;}
.f140   { font-size: 1.4em;}
.f150   { font-size: 1.5em;}
.normal { font-weight: normal;}
.bold   { font-weight: bold;}
.indent { text-indent: 1em;}
.strike { text-decoration: line-through;}
.italic { font-style: italic;}

/* color */
.red    { color: #f00;}
.red2   { color: #c00;}
.blue   { color: #09f;}
.blue2  { color: #06f;}
.orange { color: #f90;}
.orange2{ color: #f60;}
.yellow { color: #ff0;}
.green  { color: #096;}

/* margin */
.m1     { margin-bottom: 1em;}
.m5     { margin-bottom: 5px;}
.m10    { margin-bottom: 10px;}
.m15    { margin-bottom: 15px;}
.m20    { margin-bottom: 20px;}
.m30    { margin-bottom: 30px;}
