@charset "UTF-8";

/*++++++++++++++++++++++++++++++++++++++++++++
  リセットCSS
++++++++++++++++++++++++++++++++++++++++++++*/

* {
    box-sizing: border-box;
}

/* 1rem=10pxに設定 */

html {
    font-size: 62.5%;
}

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 {
    background: transparent;
    border: 0;
    margin: 0;
    outline: 0;
    padding: 0;
    vertical-align: baseline;
}

body {
    line-height: 1;
}

article , aside , details , figcaption , figure , footer , header , hgroup , menu , nav , section {
    display: block;
}

ul {
    list-style: none;
}

img {
    display: block;
}

blockquote , q {
    quotes: none;
}

blockquote:before , blockquote:after , q:before , q:after {
    content: none;
    content: "";
}

a {
    background: transparent;
    margin: 0;
    padding: 0;
    text-decoration: none;
    vertical-align: baseline;
}

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 {
    border: 0;
    border-top: 1px solid #cccccc;
    display: block;
    height: 1px;
    margin: 1em 0;
    padding: 0;
}

input , select {
    vertical-align: middle;
}

input:focus {
    outline: none;
}

input[type="color"]::-webkit-color-swatch {
    border: none;
}

input[type="color"]::-webkit-color-swatch-wrapper {
    padding: 0;
}

/*++++++++++++++++++++++++++++++++++++++++++++
  共通CSS
++++++++++++++++++++++++++++++++++++++++++++*/

body {
    -webkit-appearance: none;
    background: #ffffff;
    border: none;
    color: #000000;
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
    line-height: 24px;
    -webkit-text-size-adjust: 100%;
       -moz-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
            text-size-adjust: 100%;
    width: 100%;
    word-wrap: break-word;
}

/*++++++++++++++++++++++++++++++++++++++++++++
/*  共通CSS
++++++++++++++++++++++++++++++++++++++++++++*/

.cntr {
    margin: 0 auto;
    max-width: 1000px;
    padding: 0 20px;
    width: 100%;
}

/*  表示切替  */

.sp-none {
    display: block;
}

.pc-none {
    display: none;
}

.sp-show {
    display: none;
}

.tab-show {
    display: none;
}

.pc-show {
    display: block;
}

.h-sp-none {
    display: inline;
}

.h-pc-none {
    display: none;
}

.hover:hover {
    filter: alpha(opacity=80);
    opacity: 0.8;
    transition: 0.2s ease-in-out;
}

/*  h3タイトル  */

.subttl1 {
    align-items: center;
    background: #0156a7 url(../img/subttl1-bg.jpg) repeat-y center center;
    color: #ffffff;
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
    position: relative;
    text-shadow: 1px 1px 2px #000000;
}

.subttl1 h3 {
    font-size: 3.4rem;
    line-height: 1.2;
    margin: 35px 0;
    text-align: center;
}

.subttl2 {
    align-items: center;
    background: #0090a1 url(../img/subttl2-bg.jpg) repeat-y center center;
    color: #ffffff;
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
    position: relative;
    text-shadow: 1px 1px 2px #000000;
}

.subttl2 h3 {
    font-size: 3.4rem;
    line-height: 1.2;
    margin: 35px 0;
    text-align: center;
}

.drop {
    bottom: -25px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
}

@media only screen and (max-width: 768px) {
    .cntr {
        padding: 0 10px;
    }

    .tab-show {
        display: block;
    }

    .pc-show {
        display: none;
    }
}

@media only screen and (max-width: 640px) {
    .sp-none {
        display: none !important;
    }

    .pc-none {
        display: block;
    }

    .sp-show {
        display: block;
    }

    .tab-show {
        display: none;
    }

    .h-sp-none {
        display: none;
    }

    .h-pc-none {
        display: inline;
    }

    .subttl1 h3 {
        font-size: 2rem;
        margin: 15px 0;
    }

    .subttl2 h3 {
        font-size: 2rem;
        margin: 15px 0;
    }

    .drop {
        bottom: -16px;
        height: auto;
        width: 18px;
    }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
    .subttl1 {
        background: #0156a7 url(../img/subttl1-bg@2x.jpg) repeat-y center center;
        background-size: 1400px 100px;
    }

    .subttl2 {
        background: #0090a1 url(../img/subttl2-bg@2x.jpg) repeat-y center center;
        background-size: 1400px 100px;
    }
}
