@charset 'UTF-8';
/*
thema: thinks_form
Edit by :sass 
*/
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
/* RESET
---------------------------------------------- */
*
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

html
{
    font-size: 16px;
}

html body
{
    /*font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
    font-family: 'Noto Sans Japanese', '游ゴシック', YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, Verdana, sans-serif;

    background: #fff;

    -webkit-text-size-adjust: 100%;
}

html body #page article
{
    margin: 0;
    padding: 0;

    border-bottom: 0;
}

img,
html body #page .entry-content img
{
    max-width: 100%;

    vertical-align: middle;

    border-radius: 0 0 0 0;
    -webkit-box-shadow: 0 0 0 0;
            box-shadow: 0 0 0 0;
}

ul,
.entry-content ul
{
    margin: 0 0 24px 0;
    padding: 0;

    list-style-type: none;
}

header.entry-header
{
    margin: 0;
}

#masthead
{
    padding: 0;
}

#colophon
{
    clear: both;

    margin: 0;
    padding: 0;

    border: none;
}

a:focus,
*:focus
{
    outline: none;
}

textarea
{
    display: block;

    width: 96%;
    margin: 0 auto;
}

input[type='radio'],
input[type='checkbox']
{
    display: inline;

    width: auto;
}

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

#map
{
    width: 100%;
    height: 300px;
    margin: 0 auto 0;
}

/* RESET bxSlider
---------------------------------------------- */
body .bx-wrapper .bx-viewport
{
    left: 0;

    border: none;
    background: transparent;
    -webkit-box-shadow: none;
            box-shadow: none;
}

/* BASE
---------------------------------------------- */
.mincho
{
    /*font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Times New Roman", "メイリオ", Meiryo, serif;*/
    font-family: 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'Times New Roman', 'メイリオ', Meiryo, serif;
}

.arial
{
    font-family: Arial, Helvetica, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, Verdana, sans-serif;
}

.tof
{
    overflow: hidden;

    width: 100%;
    /* IE, WebKit (Safari, Chrome), Firefox 7, Opera 11 */

    white-space: nowrap;
    /* "overflow" の値は "visible" 以外のものを指定する */
    /* Opera 9-10 */
    text-overflow: ellipsis;
    /* IE6 では width の指定が必要 */
}

.center
{
    text-align: center;
}

.t_right
{
    text-align: right;
}

.t_left
{
    text-align: left;
}

.f_right
{
    float: right;
}

.f_left
{
    float: left;
}

.full
{
    width: 100%;
}

.mg0
{
    margin: 0;
}

a,
.hover
{
    -webkit-transition: .6s;
            transition: .6s;
}

.hover:hover,
a:hover
{
    /* Safari 1.x */
    zoom: 1;

           opacity: .7;

        filter: alpha(opacity=70);
    /* ie lt 8 */
    -ms-filter: 'alpha(opacity=70)';
    /* ie 8 */
      -moz-opacity: .7;
    /* FF lt 1.5, Netscape */
    -khtml-opacity: .7;
}

a:hover
{
    text-decoration: underline;
}

.hover100:hover
{
    zoom: 1;

           opacity: 1;

        filter: alpha(opacity=100);
    -ms-filter: 'alpha(opacity=100)';
      -moz-opacity: 1;
    -khtml-opacity: 1;
}

.cf
{
    clear: both;
}

.cf_after:after
{
    display: block;
    clear: both;

    content: '';
}

.none
{
    display: none;
}

/* RESET bxSlider
---------------------------------------------- */
body .bx-wrapper
{
    margin: 20px 0 50px;

    border: none;
}
body .bx-wrapper .bx-viewport
{
    left: 0;

    border: none;
    background: transparent;
    -webkit-box-shadow: none;
            box-shadow: none;
}

/* =Common
---------------------------------------------- */
html body
{
    width: 100%;
    margin: 0;
    /*max-width: 960px;*/
    padding: 0;
    /*#fae9f5;*/

    color: #333;
    background: #fff;
}

html body #page
{
    font-family: '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'Times New Roman', 'メイリオ', Meiryo, serif;

    position: relative;

    clear: both;

    width: 100%;
    /*960*/
    min-width: 100%;
    max-width: 100%;
    margin: 0 auto;
    /*960*/
    padding: 0;

    -webkit-box-shadow: 0 0 0 0;
            box-shadow: 0 0 0 0;
}

p,
.entry-content p
{
    font-size: 13px;
    font-size: .8125rem;
    line-height: 180%;

    margin: 0 0 24px 0;
}

ul li,
.entry-content ul li
{
    font-size: 13px;
    font-size: .8125rem;
    line-height: 36px;

    margin: 0;
}

dl,
.entry-content dl
{
    margin: 0;
}

#page dl dt
{
    font-size: 13px;
    font-size: .8125rem;
    font-weight: normal;
    line-height: 24px;
}

#page dd
{
    font-size: 13px;
    font-size: .8125rem;
    line-height: 24px;
}

.red
{
    color: #f00;
}

.breadcrumb p
{
    line-height: 170%;

    margin: 0;
    padding: 5px 0;

    text-align: right;
}

.entry-content table
{
    margin: 0 auto 48px;

    border: 1px solid #ccc;
}

.entry-content table th
{
    font-size: 13px;
    font-size: .8125rem;
    font-weight: normal;
    line-height: 24px;

    padding: 12px;

    vertical-align: middle;
    white-space: nowrap;

    color: #fff;
    background: #ccc;
}

.entry-content table td
{
    font-size: 13px;
    font-size: .8125rem;
    line-height: 24px;

    padding: 12px;

    vertical-align: middle;

    color: #333;
}

.mini,
p.mini,
.entry-content .mini
{
    font-size: 10px;
    font-size: .625rem;
}

a:link,
a:visited
{
    text-decoration: none;

    color: #333;
}

@media screen and (max-width: 639px)
{
    .smart_hide
    {
        display: none;
    }
}
@media screen and (min-width: 640px) and (max-width: 999px)
{
    .tablet_hide
    {
        display: none;
    }
}
@media screen and (min-width: 1000px)
{
    .pc_hide
    {
        display: none;
    }
}
.column
{
    clear: both;
    overflow: hidden;

    margin: 0 0 0;
}

.row
{
    clear: both;
    overflow: hidden;

    margin: 0 0 0;
}

.divide
{
    display: block;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display:         flex;
    overflow: hidden;
            flex-direction: row;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0;
    padding: 0;

    list-style: none;

    -js-display: flex;
    -webkit-flex-direction: row;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.divide li
{
    overflow: hidden;
}

.divide_3 li
{
    width: 98%;
    margin: 0 1% 10px;
    padding: 0;

    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
            flex-basis: auto;
}

::-moz-selection
{
    color: #fffffa;
    background: #687187;
}

::selection
{
    color: #fffffa;
    background: #687187;
}

/* =layout
---------------------------------------------- */
/* =Main
---------------------------------------------- */
#main
{
    width: 100%;
    margin: 0 auto;
    padding: 0 0 0;
}

.inner
{
    font-size: 16px;
    font-size: 1rem;

    width: 90%;
    max-width: 960px;
    /*960*/
    margin: 0 auto;

    text-align: center;
}

/* =header
---------------------------------------------- */
header#masthead
{
    background: url(../img/common/head/main_bg.jpg) no-repeat center center;
    background-size: cover;
}
header#masthead .head_belt
{
    position: relative;

    display: block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    overflow: hidden;
            flex-direction: column;

    height: 100vh;
    padding: 10px;

    -js-display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
    /* Safari */
    -webkit-box-align: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-flex-direction: column;
    /* Safari */
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
}
header#masthead .head_belt h1
{
    font-size: 26px;
    font-size: 1.625rem;

    margin: 3% auto;
    padding: 0;

    text-align: center;
}
header#masthead .head_belt h1 span
{
    font-size: 16px;
    font-size: 1rem;

    display: block;
}
header#masthead .head_belt p.head_open
{
    font-size: 16px;
    font-size: 1rem;
    font-weight: bold;

    margin: 25px 0 0;

    color: #687187;
}
header#masthead .head_belt h1,
header#masthead .head_belt p
{
    text-align: center;
}

/* =Footer
---------------------------------------------- */
footer#colophon
{
    overflow: hidden;

    padding: 25px 0 0;

    background: #898989;
}

#copyright
{
    text-align: center;
}
#copyright p
{
    margin: 0;
    padding: 10px 0;

    color: #fff;
}

#pagetop p
{
    margin: 0;
}
#pagetop a:hover
{
    opacity: 1;
}

/*home
----------------------------------------------- */
#home .column
{
    overflow: hidden;

    padding: 28px 0;
}
#home .column .row
{
    margin: 0;
}
#home .column .row h2
{
    font-size: 26px;
    font-size: 1.625rem;

    position: relative;

    margin: 0 auto 10px;
    padding: 20px 0;

    text-align: center;
}
#home .column01
{
    background: #ececec;
}
#home .column01 .row
{
    text-align: center;
}
#home .column01 .row h3
{
    font-size: 17px;
    font-size: 1.0625rem;
    font-weight: normal;
}
#home .column01 .row h3 span
{
    font-size: 22px;
    font-size: 1.375rem;

    display: block;
}
#home .column01 .row p
{
    margin: 25px 0 0;
}
#home .column01 .row p.center_text
{
    font-size: 18px;
    font-size: 1.125rem;

    margin: 25px 0;
}
#home .column01 .row p.p01
{
    margin: 0 0 0;
}
#home .column02 .row dl
{
    margin: 0 auto 30px;
}
#home .column02 .row dl dt
{
    font-weight: bold;

    text-align: left;
}
#home .column02 .row dl dd
{
    margin: 0 0 10px;
    padding: 0 0 10px;

    text-align: left;

    border-bottom: 1px solid #ededed;
}
#home .column02 .row ul.divide_gallery
{
    display: block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -js-display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
            justify-content: space-between;
}
#home .column02 .row ul.divide_gallery li
{
    width: 48%;
    margin: 0 1% 10px;
}

.btn
{
    margin: 0;
}
.btn a
{
    font-size: 15px;
    font-size: .9375rem;
    font-weight: bold;

    position: relative;

    display: inline-block;

    padding: 1em 2em;

    -webkit-transition: -webkit-transform .2s;
            transition: -webkit-transform .2s;
            transition:         transform .2s;
            transition:         transform .2s, -webkit-transform .2s;
    -webkit-transform: translate(.5em -.4em);
            transform: translate(.5em -.4em);
    text-align: center;

    opacity: 1;
    color: #1c2951;
    border: 3px solid #1c2951;
    background: transparent;
}
.btn a:before
{
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';
    -webkit-transition: background-color .2s, -webkit-transform .2s;
            transition: background-color .2s, -webkit-transform .2s;
            transition: transform .2s, background-color .2s;
            transition: transform .2s, background-color .2s, -webkit-transform .2s;
    -webkit-transform: translate(.6em, -.5em);
            transform: translate(.6em, -.5em);

    background: rgba(28, 41, 81, .4);
}
.btn a:hover
{
    -webkit-transform: translate(.2em, -.1em);
            transform: translate(.2em, -.1em);
}
.btn a:hover:before
{
    -webkit-transform: translate(-.5em, .5em);
            transform: translate(-.5em, .5em);
}

a.scroll_down
{
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 10px;
    left: 0;

    display: inline-block;

    margin: auto;
    padding: 0 0 50px;

    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    text-align: center;
    text-decoration: none;

    color: #8c8c8c;
}
a.scroll_down span
{
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 30px;
    height: 50px;
    margin: auto;

    border: 2px solid #8c8c8c;
    border-radius: 50px;
}
a.scroll_down span:before
{
    position: absolute;
    top: 10px;
    left: 50%;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 6px;
    height: 6px;
    margin-left: -3px;

    content: '';
    -webkit-animation: sdb 2s infinite;
            animation: sdb 2s infinite;

    border-radius: 100%;
    background-color: #8c8c8c;
}

@-webkit-keyframes sdb
{
    0%
    {
        -webkit-transform: translate(0, 0);

        opacity: 0;
    }
    40%
    {
        opacity: 1;
    }
    80%
    {
        -webkit-transform: translate(0, 20px);

        opacity: 0;
    }
    100%
    {
        opacity: 0;
    }
}
@keyframes sdb
{
    0%
    {
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0);

        opacity: 0;
    }
    40%
    {
        opacity: 1;
    }
    80%
    {
        -webkit-transform: translate(0, 20px);
                transform: translate(0, 20px);

        opacity: 0;
    }
    100%
    {
        opacity: 0;
    }
}
@media screen and (min-width: 640px)
{
    header#masthead
    {
        background-attachment: fixed;
    }

    /*home
  ----------------------------------------------- */
    #home .column
    {
        padding: 80px 0;
    }
    #home .column .row h2
    {
        font-size: 28px;
        font-size: 1.75rem;

        margin: 0 auto 40px;
    }
    #home .column01
    {
        padding: 60px 0;
    }
    #home .column01 .row
    {
        text-align: center;
    }
    #home .column01 .row h2
    {
        font-size: 30px;
        font-size: 1.875rem;

        padding: 0;
    }
    #home .column01 .row h2:after,
    #home .column01 .row h2:before
    {
        content: none;
    }
    #home .column01 .row h3
    {
        font-size: 20px;
        font-size: 1.25rem;

        margin: 0 auto 40px;
    }
    #home .column01 .row h3 span
    {
        font-size: 26px;
        font-size: 1.625rem;
    }
    #home .column01 .row p
    {
        font-size: 16px;
        font-size: 1rem;
    }
    #home .column01 .row p.center_text
    {
        font-size: 22px;
        font-size: 1.375rem;
    }
    #home .column02 .row dl
    {
        display: block;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        width: 65%;
        margin: 0 auto 40px;

        -js-display: flex;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
        -webkit-justify-content: space-between;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
                justify-content: space-between;
    }
    #home .column02 .row dl dt
    {
        font-size: 14px;
        font-size: .875rem;

        width: 34%;
        padding: 10px 0 10px 10px;

        border-top: 1px solid #ededed;
    }
    #home .column02 .row dl dd
    {
        width: 66%;
        margin: 0 0;
        padding: 10px 10px 10px 0;

        text-align: left;

        border-top: 1px solid #ededed;
        border-bottom: none;
    }
    #home .column02 .row ul.divide_gallery li
    {
        width: 23%;
        margin: 0 1% 20px;
    }

    /* =Footer
  ---------------------------------------------- */
    footer#colophon
    {
        padding: 40px 0 0;
    }
}
/*min640ここまで*/
@media screen and (min-width: 960px)
{
    header#masthead .head_belt h1
    {
        font-size: 30px;
        font-size: 1.875rem;
    }
    header#masthead .head_belt h1 span
    {
        font-size: 18px;
        font-size: 1.125rem;

        display: block;
    }
}
/*min960ここまで*/
