/* ------------------------------
css for coralgranddivers.com
directored by miho tomofuji
http://ad5.jp/
------------------------------ */

body {
    margin: 0;
    padding:0;
    border:0;
    font-size:13.5px;
    /**font-size: small;
    *font: x-small;*/
    color:#000000;
    /*text-align:center;*/
    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif,Verdana, Roboto, "Droid Sans", "メイリオ", Meiryo, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1.5;
}
#conteiner {
    /*max-width:1200px;
    min-width:550px;*/
    margin: 0 auto;
    width:100%;
    height:auto;
    padding: 0 10px;
    background-color:#fff;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-text-size-adjust: 100%;/*部分的に意図せず文字が大きくなる 」といった不具合回避*/
}
    @media screen and (max-width: 480px) {
        #conteiner {
            padding: 0 10px;
            font-size: .9em;
        }
    }
    @media screen and (max-width: 1040px) { /* #headerとmedia合わせる */
        #conteiner {
            padding: 0 10px;
            font-size: .9em;
        }
    }

/*------------------------------------------
                link
------------------------------------------*/
a:link {
    color:#006dce;
    text-decoration:none;
}
a:visited {
    text-decoration:none;
    color:#006dce;
}
a:hover {
    text-decoration:underline;
    color:#006dce;
}
a img {
    border-style:none;
}
img {
    border:0;
    padding:0;
    vertical-align:text-bottom;
}


/*------------------------------------------
                共通
------------------------------------------*/
*, *::after, *::before {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

div {
    margin:0;
    padding:0;
}
table {
    border-collapse:collapse;
    table-layout:fixed;
}
table td {
    padding:5px 0;
    font-size: .95em;
}
p {
    margin:7px 0;
    line-height:1.2em;
}
select {
    min-height: 44px;
}

    /*@media screen and (max-width: 480px) {
        select {
            -webkit-appearance: button;
            appearance: button;
            position: relative;
        }
        select:after {
            font-family: "Font Awesome 5 Free";
            content: "\f107";
            font-weight: 900;
            position: absolute;
            font-size: 1.5em;
            top: 0px;
            width: 40px;
            height: 40px;
            line-height: 40px;
            text-align: center;
            z-index: 2;
            pointer-events: none;
        }
    }*/
input::placeholder {
  color: #aaa;
}
/* IE */
input:-ms-input-placeholder {
  color: #aaa;
}
/* Edge */
input::-ms-input-placeholder {
  color: #aaa;
}

/*タイトル*/
.ctg_title {
    background-color: #333;
    color: #fff;
    font-size: 1.35em;
    margin-bottom: 20px;
    margin-top: 0;
    text-indent: -7px;
    /*padding: 7px 15px;*/
    padding: 0 7px;
    position: relative;
}
.ctg_title:before {
    content: "\f578";/*f054 f791 f07c f773*/
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    /*padding-right: 5px;*/
    display: inline-block;
    background: #4486bd;/*#1499a5*/
    color: #fff;
    padding: 13px 15px 13px 22px;/*元13px 15px .ctg_titleのtext-indent考慮*/
    margin-right: .8em;
}
/*再考*/
.ctg_title:after {
    content: "\A";
    font-family: "Font Awesome 5 Brands";
    margin: 20px 0;
    display: inline-block;
    vertical-align: middle;
}
.title_l {
    font-size: 1.9em;
    font-weight: normal;
    line-height: 1.4;
    color: #318c73;/*#674c1b*/
    margin: 6em 0 1.2em;
    padding: 15px 15px .5em;
    border-bottom: solid 2px #7cbbb1;/*#89bfb6 #af9c7a*/
    /*background-color: #eceae7;*/
}
.title_l span {
    display: block;
    font-size: .66em;
    margin: .5em 0;
}
h1 + section .title_l:first-child {
    margin-top: 0;
}
.title_m {
    font-size: 1.4em;
    font-weight: normal;
    line-height: 1.4;
    color: #674c1b;
    margin: 5em 0 1.5em;
    padding: 1em 15px 1em 0;
    border-bottom: solid 1px #af9c7a;
    text-shadow: 0.1px 0.1px 0 #af9c7a;
}
.title_m span {
    display: block;
    font-size: .66em;
}
.for_title_s {
    margin-left: 3em;
}
.title_s, .title_ss {
    font-size: 1.25em;
    font-weight: normal;
    color: #674c1b;
    margin: 2.8em 0 0.83em;
    padding: 15px 15px 10px 0;
    border-bottom: dashed 1px #af9c7a;;
    text-shadow: 0.1px 0.1px 0 #af9c7a;
}
.title_s span {
    display: block;
    font-size: .66em;
}
.title_ss {
    display: inline-block;
    border: none;
    margin-bottom: 0;
}
.title_pickup {
    text-align: center;
    margin: 40px 0 50px;
    border: 0;
    padding: 0;
    font-size: 1.35em;
    letter-spacing: .2em;
    position: relative;
    padding: 9px;
}
.title_pickup:before {
    content: '';
    position: absolute;
    bottom: 0;
    display: inline-block;
    width: 70px;
    height: 3px;
    left: 50%;
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #56a4e6;
    border-radius: 2px;
}
.anime_border:hover .title_pickup:before {
    width: 70%;
    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -ms-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
    animation: item_fadein .5s ease infinite;
}

    @media screen and (max-width: 480px) {
        .for_title_s {
            margin: 0 .8em;
        }

        /*タイトル*/
        .ctg_title {
            text-indent: 0;
            padding: 10px 7px 10px 60px;
        }
        .ctg_title:before {
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            /* height: 100%; */
            margin: auto;
            padding: 0;
            padding-top: 3%;
            width: 50px;
            text-align: center;
        }
        /*再考*/
        .ctg_title:after {
            content: none;
        }
    }

/*段落*/
.paragraph {
    color: #2f1f04;
    margin: 0 5% 0 20%;/*16.66666667%*/
}
    @media screen and (max-width: 1000px) and (min-width: 855px) {
        .paragraph {
            margin: 0 10px 0 20px;
        }
        .title_l {
            font-weight: bold;
        }
    }
    @media screen and (max-width: 600px) {
        .paragraph {
            margin: 0 10px 0 10px;
        }
        .title_l {
            font-size: 1.75em;
            font-weight: bold;
            text-align: center;
            padding: 20px 1% .5em;
        }
        .title_l span {
            font-weight: normal;
        }
        .title_m {
            text-align: center;
        }
    }
.title_ogt {
    font-size: 1.5em;
    text-align: center;
    line-height: 1.5em;
}
.paragraph_bgcolor {
    border-top: solid 2px #56a4e6;
    background: #f3f3f3;
    padding: 30px 7%;
}
.box_note {
    font-size: .95em;
    background: #f3f3f3;
    padding: 3% 5%;
    border-top: 1px solid #af9c7a;
}

/*幅*/
.wdp10 { width: 10%; }.wdp15 { width: 15%; }.wdp20 { width: 20%; }.wdp25 { width: 25%; }.wdp30 { width: 30%; }.wdp35 { width: 35%; }.wdp40 { width: 40%; }.wdp45 { width: 45%; }.wdp50 { width: 50%; }.wdp60 { width: 60%; }.wdp70 { width: 70%; }.wdp80 { width: 80%; }.wdp90 { width: 90%; }.wdp100 { width: 100%; }

/*ブロック・段組み*/
.block-icon-txt, .block-icon {
    display: flex;
    align-items: center;
}
.block-icon-txt-icon {
    text-align: center;
    margin-right: 1.5rem;
    min-width: 6rem;
}
.block-icon-txt-icon img {
    border-radius: 50%;
    padding: .5rem;
    background: #e0e0e0;
}
.block-icon-body {
    flex-grow: 1;
}
.block-icon-icon {
    text-align: center;
    min-width: 6rem;
    position: relative;
}
.block-icon-icon + .block-icon-icon:before {
    content: '+';
    font-size: 1.2rem;
    position: absolute;
    top: 50%;
    left: -5px;
    margin-top: -.8rem;
}
.block-icon-icon img {
    border-radius: 50%;
    padding: .5rem;
    background: #e0e0e0;
}

/*テキスト*/
.txt_base {
    line-height: 1.8em;
    margin: 20px 0 0;
}
.txt_pickup {
    text-align: center;
    line-height: 2.3em;
    margin: 30px 0 0;
}
.txt_pickup2 {
    text-align: center;
    color: #005096;
    font-size: 15px;
    line-height: 1.6rem;
    font-weight: bold;
    margin: .2rem 0;
}
.txt_worn, .txt_alert {
    color: #ca5f00;
    font-size: .95em;
    line-height: 1.55em;
    text-indent: -13px;
    padding-left: 13px;
}
.txt_alert {
    color: #fb2500;
}
    @media screen and (max-width: 855px) {
        /*.txt_base, .txt_worn, .txt_alert {
            margin: .8em 0 0;
        }*/
    }
    @media screen and (max-width: 600px) {
        .txt_pickup {
            text-align: left;
            padding: 0 25px;
            line-height: 1.6em;
        }
    }

.txt_normal {
    font-weight: normal;
}
.txt_bold {
    font-weight: bold;
}
.txt_left, .left {
    text-align:left;
}
.txt_right, .right {
    text-align: right;
}
.txt_center, .center {
    text-align: center;
}

.small { font-size:0.9em }
.xsmall { font-size:0.8em }
.fz_s { font-size: .94em }
.fz_ss { font-size: .88em }
.fz_sss { font-size: .8em }
.fz_ssss { font-size: .72em }
.fz_l { font-size: 1.2em; line-height: 1.5; }
.fz_ll { font-size: 1.35em; line-height: 1.8; }
.fz_lll { font-size: 1.5em; line-height: 2.3; }
.fz_llll { font-size: 2em; line-height: 2.5; }
.fz_lllll { font-size: 3em; line-height: 3; }
.fz_llllll { font-size: 4em; line-height: 5; }

.red { color:#ea0000;}
.white { color:#fff;}
.col_blue_01{ color: #3c5c82 }
.col_blue_02{ color: #4483a9 }
.col_blue_03{ color: #56a4e6 }
.col_green_01{ color: #38beb9 }
.col_green_04{ color: #318c73 }
.col_orange_01{ color: #ffb74d }
.col_brown_01{ color: #ca5f00 }
.col_purple_01{color:#bd2c85}
.col_facebook {color: #3b5998;}

.col_bg_blue_01 {background-color:#e0eeff}

.lheight_rest { line-height: normal }

.txt_inbl { display: inline-block }
.txt_bl { display: block }

.info-box {border: 1px solid #4483a9; margin: 10px auto; padding: 5px 15px; max-width: 900px; background: #eee}

.fa-rotate-32 {
    -webkit-transform: rotate(32deg);
    -moz-transform: rotate(32deg);
    -ms-transform: rotate(32deg);
    -o-transform: rotate(32deg);
    transform: rotate(32deg);
    margin-top: 5px;
}
.fa-rotate-45 {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

.bg_col_white {background-color: #fff}
.bg_col_blue_01, .table th.bg_col_blue_01 {background-color: #e0edf5}
.bg_col_blue_02, .table th.bg_col_blue_02 {background-color: #4486bd}
.bg_col_blue_03, .table th.bg_col_blue_03 {background-color: #5d97c7}
.bg_col_green_01, .table th.bg_col_green_01 {background-color: #4db6ac; color: #fff;}
.bg_col_green_02, .table th.bg_col_green_02 {background-color: #f3f7f1;}
.bg_col_green_03, .table th.bg_col_green_03 {background-color: #afe2de;}
.bg_col_green_04, .table th.bg_col_green_04 {background-color: #1499a5;}
.bg_col_orange_01, .table th.bg_col_orange_01 {background-color: #ffb74d; color: #fff;}
.bg_col_orange_02, .table th.bg_col_orange_02 {background-color: #fff5e7;}
.bg_border:after {
    content: " ";
    border: solid 2px #56a4e6;
    display: block;
    width: 35px;
    margin: 20px auto 25px;
    border-radius: 2px;
}
.bg_arrow:before {
    content: " ";
    background: url(/_common/images/bg_arrow.png) no-repeat center top;
    width: 100%;
    height: 1em;
    display: block;
    margin: 0 0 1.5em;
}
.bg_arrow_after:after {
    content: " ";
    background: url(/_common/images/bg_arrow.png) no-repeat center bottom;
    width: 100%;
    height: 1em;
    display: block;
    margin: 1.5em 0 0;
}

/*マージン*/
.mgt0{margin-top:0px;}.mgt5{margin-top:5px;}.mgt10{margin-top:10px;}.mgt15{margin-top:15px;}.mgt20{margin-top:20px;}.mgt25{margin-top:25px;}.mgt30{margin-top:30px;}.mgt35{margin-top:35px;}.mgt40{margin-top:40px;}.mgt50{margin-top:50px;}.mgt60{margin-top:60px;}.mgt70{margin-top:70px;}.mgt80{margin-top:80px;}.mgt90{margin-top:90px;}.mgt100{margin-top:100px;}
.mgb0{margin-bottom:0px;}.mgb5{margin-bottom:5px;}.mgb10{margin-bottom:10px;}.mgb15{margin-bottom:15px;}.mgb20{margin-bottom:20px;}.mgb25{margin-bottom:25px;}.mgb30{margin-bottom:30px;}.mgb35{margin-bottom:35px;}.mgb40{margin-bottom:40px;}.mgb50{margin-bottom:50px;}.mgb60{margin-bottom:60px;}.mgb70{margin-bottom:70px;}.mgb80{margin-bottom:80px;}.mgb90{margin-bottom:90px;}.mgb100{margin-bottom:100px;}
.mgr5{margin-right:5px;}.mgr10{margin-right:10px;}
.mgl5{margin-left:5px;}.mgl10{margin-left:10px;}.mgl15{margin-left:15px;}.mgl20{margin-left:20px;}
.mglr5{margin-left:5px;margin-right:5px;}.mglr10{margin-left:10px;margin-right:10px;}

/*パディング*/
.pd10{padding:10px !important}.pd15{padding:15px !important}.pd20{padding:20px !important}.pd25{padding:25px !important}.pd30{padding:30px !important}
.pdt0{padding-top:0px;}.pdt5{padding-top:5px;}.pdt10{padding-top:10px;}.pdt15{padding-top:15px;}.pdt20{padding-top:20px;}.pdt25{padding-top:25px;}.pdt30{padding-top:30px;}.pdt35{padding-top:35px;}.pdt40{padding-top:40px;}.pdt50{padding-top:50px;}.pdt60{padding-top:60px;}.pdt70{padding-top:70px;}.pdt80{padding-top:80px;}.pdt90{padding-top:90px;}.pdt100{padding-top:100px;}
.pdb0{padding-bottom:0px;}.pdb5{padding-bottom:5px;}.pdb10{padding-bottom:10px;}.pdb15{padding-bottom:15px;}.pdb20{padding-bottom:20px;}.pdb25{padding-bottom:25px;}.pdb30{padding-bottom:30px;}.pdb35{padding-bottom:35px;}.pdb40{padding-bottom:40px;}.pdb50{padding-bottom:50px;}.pdb60{padding-bottom:60px;}.pdb70{padding-bottom:70px;}
.pdl10{padding-left:10px}.pdl20{padding-left:20px}

.alphacenter {
    text-align:center;
    padding-top:40px;
}
.alphatext {
    text-align:left;
    padding:40px 40px 0 40px;
    color:#666;
}

/*アニメーション*/
.scl_anime1, .scl_anime2, .scl_anime3, .scl_anime4, .scl_anime5, .scl_anime6, .scl_anime7 { /* jQueryベース 「waypoints.js」「modernizr.js」「専用scripts.js」要 */
    visibility: hidden;
}
.animated {
    -webkit-animation-duration: .8s;
    animation-duration: .8s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}
.bounceInLeft, .bounceInRight, .fadeInUp, .fadeInUpDelay, .fadeInDown, .fadeInUpD, .fadeInLeft, .fadeInRight {
    visibility: visible;
}

@keyframes bounceIn{
    0%{opacity:0;-webkit-transform:scale(.3);-ms-transform:scale(.3);transform:scale(.3);}
    50%{opacity:1;-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05);}
    70%{-webkit-transform:scale(.9);-ms-transform:scale(.9);transform:scale(.9);}
    100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}
}
.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn;}
@-webkit-keyframes bounceInDown{
    0%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px);}
    60%{opacity:1;-webkit-transform:translateY(30px);transform:translateY(30px);}
    80%{-webkit-transform:translateY(-10px);transform:translateY(-10px);}
    100%{-webkit-transform:translateY(0);transform:translateY(0);}
}
@keyframes bounceInDown{
    0%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px);}
    60%{opacity:1;-webkit-transform:translateY(30px);-ms-transform:translateY(30px);transform:translateY(30px);}
    80%{-webkit-transform:translateY(-10px);-ms-transform:translateY(-10px);transform:translateY(-10px);}
    100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}
}
.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown;}
@-webkit-keyframes bounceInLeft{
    0%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px);}
    60%{opacity:1;-webkit-transform:translateX(30px);transform:translateX(30px);}
    80%{-webkit-transform:translateX(-10px);transform:translateX(-10px);}
    100%{-webkit-transform:translateX(0);transform:translateX(0);}
}
@keyframes bounceInLeft{
    0%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px);}
    60%{opacity:1;-webkit-transform:translateX(30px);-ms-transform:translateX(30px);transform:translateX(30px);}
    80%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px);}
    100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);}
}
.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft;}
@-webkit-keyframes bounceInRight{
    0%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px);}
    60%{opacity:1;-webkit-transform:translateX(-30px);transform:translateX(-30px);}
    80%{-webkit-transform:translateX(10px);transform:translateX(10px);}
    100%{-webkit-transform:translateX(0);transform:translateX(0);}
}
@keyframes bounceInRight{
    0%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px);}
    60%{opacity:1;-webkit-transform:translateX(-30px);-ms-transform:translateX(-30px);transform:translateX(-30px);}
    80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px);}
    100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);}
}
.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight;}
@-webkit-keyframes bounceInUp{
    0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px);}
    60%{opacity:1;-webkit-transform:translateY(-30px);transform:translateY(-30px);}
    80%{-webkit-transform:translateY(10px);transform:translateY(10px);}
    100%{-webkit-transform:translateY(0);transform:translateY(0);}
}
@keyframes bounceInUp{
    0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px);}
    60%{opacity:1;-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px);}
    80%{-webkit-transform:translateY(10px);-ms-transform:translateY(10px);transform:translateY(10px);}
    100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}
}
.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp;}
@-webkit-keyframes bounceOut{
    0%{-webkit-transform:scale(1);transform:scale(1);}
    25%{-webkit-transform:scale(.95);transform:scale(.95);}
    50%{opacity:1;-webkit-transform:scale(1.1);transform:scale(1.1);}
    100%{opacity:0;-webkit-transform:scale(.3);transform:scale(.3);}
}
@keyframes fadeIn{
    0%{opacity:0;}
    100%{opacity:1;}
}
.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn;}
@-webkit-keyframes fadeInDown{
    0%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px);}
    100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);}
}
@keyframes fadeInDown{
    0%{opacity:0;-webkit-transform:translateY(-20px);-ms-transform:translateY(-20px);transform:translateY(-20px);}
    100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}
}
.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown;}
@-webkit-keyframes fadeInDownBig{
    0%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px);}
    100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);}
}
@keyframes fadeInDownBig{
    0%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px);}
    100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}
}
.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig;}
@-webkit-keyframes fadeInLeft{
    0%{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px);}
    100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0);}
}
@keyframes fadeInLeft{
    0%{opacity:0;-webkit-transform:translateX(-20px);-ms-transform:translateX(-20px);transform:translateX(-20px);}
    100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);}
}
.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft;}
@-webkit-keyframes fadeInLeftBig{
    0%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px);}
    100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0);}
}
@keyframes fadeInLeftBig{
    0%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px);}
    100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);}
}
.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig;}
@-webkit-keyframes fadeInRight{
    0%{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px);}
    100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0);}
}
@keyframes fadeInRight{
    0%{opacity:0;-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px);}
    100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);}
}
.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight;}
@-webkit-keyframes fadeInRightBig{
    0%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px);}
    100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0);}
}
@keyframes fadeInRightBig{
    0%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px);}
    100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);}
}
.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig;}
@-webkit-keyframes fadeInUp{
    0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px);}
    100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);}
}
@keyframes fadeInUp{
    0%{opacity:0;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px);}
    100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}
}
.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp;}
@-webkit-keyframes fadeInUpBig{
    0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px);}
    100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);}
}
@keyframes fadeInUpBig{
    0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px);}
    100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}
}
.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig;}
@-webkit-keyframes fadeOut{
    0%{opacity:1;}
    100%{opacity:0;}
}
@keyframes fadeOut{
    0%{opacity:1;}
    100%{opacity:0;}
}
.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut;}
@-webkit-keyframes fadeOutDown{
    0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);}
    100%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px);}
}
@keyframes fadeOutDown{
    0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}
    100%{opacity:0;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px);}
}
.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown;}
@-webkit-keyframes fadeOutDownBig{
    0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);}
    100%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px);}
}
@keyframes fadeOutDownBig{
    0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}
    100%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px);}
}
.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig;}
@-webkit-keyframes fadeOutLeft{
    0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0);}
    100%{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px);}
}
@keyframes fadeOutLeft{
    0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);}
    100%{opacity:0;-webkit-transform:translateX(-20px);-ms-transform:translateX(-20px);transform:translateX(-20px);}
}
.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft;}
@-webkit-keyframes fadeOutLeftBig{
    0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0);}
    100%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px);}
}
@keyframes fadeOutLeftBig{
    0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);}
    100%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px);}
}
.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig;}
@-webkit-keyframes fadeOutRight{
    0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0);}
    100%{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px);}
}
@keyframes fadeOutRight{
    0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);}
    100%{opacity:0;-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px);}
}
.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight;}
@-webkit-keyframes fadeOutRightBig{
    0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0);}
    100%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px);}
}
@keyframes fadeOutRightBig{
    0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);}
    100%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px);}
}
.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig;}
@-webkit-keyframes fadeOutUp{
    0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);}
    100%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px);}
}
@keyframes fadeOutUp{
    0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}
    100%{opacity:0;-webkit-transform:translateY(-20px);-ms-transform:translateY(-20px);transform:translateY(-20px);}
}
.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp;}
@-webkit-keyframes fadeOutUpBig{
    0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);}
    100%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px);}
}
@keyframes fadeOutUpBig{
    0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}
    100%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px);}
}
.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig;}
@-webkit-keyframes flip{
    0%{-webkit-transform:perspective(400px) translateZ(0) rotateY(-360deg) scale(1);transform:perspective(400px) translateZ(0) rotateY(-360deg) scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;}
    40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-190deg) scale(1);transform:perspective(400px) translateZ(150px) rotateY(-190deg) scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;}
    50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-170deg) scale(1);transform:perspective(400px) translateZ(150px) rotateY(-170deg) scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;}
    80%{-webkit-transform:perspective(400px) translateZ(0) rotateY(0deg) scale(.95);transform:perspective(400px) translateZ(0) rotateY(0deg) scale(.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;}
    100%{-webkit-transform:perspective(400px) translateZ(0) rotateY(0deg) scale(1);transform:perspective(400px) translateZ(0) rotateY(0deg) scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;}
}

/*パンくず*/
#path {
    text-align: right;
    padding: 5px 0;
}
#path ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
#path li a {
    text-decoration: none;
    color: #006;
}

/*画像*/
.img_100p {
    width: 100% !important;
}
.img_80p {
    width: 80% !important;
}
.img_1p img {
    width: 100%;
    height: auto;
    margin-bottom: 1%;
}
.img_1p_center {
    text-align: center;
}
.img_1p_center img {
    width: 50%;
    height: auto;
    margin-bottom: 1%;
}
.img_1p_right {
    text-align: right;
}
.img_1p_right img {
    width: 40%;
    height: auto;
    margin-bottom: 1%;
}
.img_2p, .img_3p, .img_4p {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    /* padding: 0 2.5%; */
    justify-content: space-between;
    /* justify-content: space-around; */
    align-items: stretch;
}
.img_2p > img, .img_2p > a, .img_3p > a, .img_3p > img, .img_3p > div, .img_4p > a, .img_4p > img, .img_4p > div {
    height: auto;
    margin-bottom: 1%;
}
.img_2p > img, .img_2p > a {
    width: 49.5%;
    display: flex;
}
.img_2p > a > img, .img_3p > a > img, .img_3p > div > img, .img_4p > a > img, .img_4p > div > img {
    width: 100%;
}
.img_3p > img, .img_3p > a, .img_3p > div {
    width: 33%;
    text-align: center;
}
.img_4p > img, .img_4p > a, .img_4p > div {
    width: 25%;
    text-align: center;
}
    @media screen and (max-width: 480px) {
        .img_80p {
            width: 100% !important;
        }
        .img_1p_center, .img_2p {
            display: block;
        }
        .img_1p_center img {
            width: 100%;
            height: auto;
        }
        .img_2p img, .img_2p > a {
            width: 100%;
            height: auto;
        }
        .img_3p > img, .img_3p > div {
            width: 49.5%;
            height: auto;
        }
        .img_4p > img, .img_4p > div {
            width: 49.5%;
            height: auto;
        }
    }

.img_circle {
    border-radius: 50%;
    height: auto;
    margin-bottom: 10px;
    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -ms-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
    animation: item_fadein .5s ease infinite;
}

/*Flex*/
.flex-nowrap {flex-wrap: nowrap !important;}

/*テーブル*/
.tbl_wrap {
    display: table;
    margin-bottom: 50px;
    width: 100%;
}
.tbl_wrap:hover img.img_circle {
    border-radius: 0;
}
.tbl_left, .tbl_right {
    position: relative;
    min-height: 1px;
    padding-left: 15px;
}
.tbl_left {
    padding-right: 15px;
    text-align: center;
}
    @media screen and (min-width: 736px) {
        .tbl_left, .tbl_right {
            display: table-cell;
            float: none;
            vertical-align: top;
        }
    }
    @media (min-width: 992px) {
        .tbl_left {
            width: 25%;
        }
        .tbl_right {
            width: 75%;
        }
    }
.tbl_title {
    color: #235d8e;
    text-align: center;
    text-transform: uppercase;
    font-weight: bold;
    line-height: 1.8em;
    font-size: 1.2em;
    margin: 1.2em 0;
}
.tbl_title + p {
    padding: 0 0 10px;
    text-align: center;
    color: #56a4e6;
    font-size: 1.2em;
    font-weight: bold;
    text-align: center;
    display: block;
    margin: 0 auto 0.6em;
}

/*DLテーブル*/
.dl_tbl {
    margin: 25px 0;
    line-height: 1.42857143;
}
    /*パターン*/
    .dl_tbl_02 {
        background: #f3f3f3;
        padding: 20px 35px 30px;
    }
    /*パターン*/
    .dl_tbl_03 {
        background: #f3f3f3;
        padding: 20px 35px 30px;
        display: flex;
        box-sizing: border-box;
        flex-wrap: wrap;
    }
    /*パターンEND*/
.dl_tbl dt {
    padding: 15px 20px;
    clear: both;
    float: left;
    color: #674d1e;
    font-weight: bold;
}
    /*パターン*/
    .dl_tbl_01 dt {
        width: 120px;
    }
    .dl_tbl_02 dt {
        /*width: 200px;*/
        display: inline-block;
        min-width: 100px;
        padding: 20px 20px;
    }
    .dl_tbl_03 dt {
        width: 25%;
        padding: 20px 15px;
        box-sizing: border-box;
        border-bottom: 1px solid #af9c7a;
    }
    /*パターンEND*/
.dl_tbl dd {
    padding: 15px 15px 15px 0;
    margin: 0;
    padding-left: 110px;
    border-bottom: 1px solid #dad9d6;
}
.dl_tbl_01 dd {
    padding-left: 110px;
}
    /*パターン*/
    .dl_tbl_02 dd {
        padding: 20px 20px 20px 220px;
        border-color: #af9c7a;
    }
    .dl_tbl_03 dd {
        width: 75%;
        padding: 20px 15px;
        border-color: #af9c7a;
        box-sizing: border-box;
    }

    @media screen and (max-width: 955px) {
        .dl_tbl_02 {
            padding: 20px 15px 20px;
        }
        .dl_tbl_03 {
            display: block;
            padding: 20px 15px 20px;
        }
        .dl_tbl dt, .dl_tbl dd {
            padding: 8px 15px;
        }
        .dl_tbl_03 dt, .dl_tbl_03 dd {
            width: 100%;
        }
        .dl_tbl dt {
            font-weight: normal;
            float: none;
            background-color: #dad9d6;
            text-align: center;
        }
        .dl_tbl_03 dt {
            border-top: 1px solid #af9c7a;
            border-bottom: none;
        }
        .dl_tbl dd {
            margin-bottom: 10px;
        }
        .dl_tbl_02 dd {
            padding: 8px 25px 20px;
        }
        .dl_tbl_03 dd {
            padding-bottom: 25px;
            margin-bottom: 0;
            border: none;
        }
    }

/*タグテーブル*/
.table {
    width: 100%;
    max-width: 100%;
    margin-bottom: 20px;
    border-collapse: collapse;
    border-spacing: 0;
    line-height: 1.42857143;
}
.table > thead > tr > th, .table > tbody > tr > th {
    color: #5f4d2f;
    font-weight: normal;
    text-shadow: 0.1px 0.1px 0 #af9c7a;
    text-align: center;
    background: #eee;
    border-top: 0;
    vertical-align: middle;
    padding: 25px 8px;
    border-bottom-width: 2px;
}
.table > thead:first-child > tr:first-child > th, .table > tbody > tr > th {
}
.table > tbody > tr > td {
    vertical-align: middle;
    padding: 25px 8px;
}
.table-bordered, .table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tbody > tr > td {
    border: 1px solid #ddd;
}
.table-bordered > thead > tr > th {
    border-bottom: 1px solid #b3afaa;
}
.table ul, .dl_tbl ul {
    margin: 0;
    padding-left: 15px;
}
.table li {
    list-style-type: none;
    padding-left: 3px;
    text-indent: -3px;
}
.table li:before {
    content: '';
    width: 3px;
    height: 3px;
    display: inline-block;
    border-radius: 100%;
    background: #5f4d2f;
    position: relative;
    left: -10px;
    top: -3px;
}
.table-pdgs > tbody > tr > th, .table-pdgs > tbody > tr > td{
    padding: 10px 5px;
    text-align: center;
}

    @media screen and (max-width: 480px) {
        .table-bordered > tbody > tr > th {
            border-bottom: 1px solid #d2d2d2;
        }
        /* tableをスクロール可能にする */
        .scroll {
            overflow: auto;
            white-space: nowrap;/* tableセル内文字の折り返しを禁止 */
            -webkit-overflow-scrolling: touch;
        }
        .scroll::-webkit-scrollbar{/* tableにスクロールバーを追加 */
            height: 5px;
        }
        .scroll::-webkit-scrollbar-track{/* スクロールバーのスクロール範囲の色 */
            background: #F6F6F6;
        }
        .scroll::-webkit-scrollbar-thumb {/* スクロールバーのツマミの色 */
            background: #C2C2C2;
        }
        .scroll table{
            width:100%;
            table-layout: auto;
        }
    }

/*番号リスト*/
.list_decimal {
    list-style-type: decimal;
    line-height: 1.8em;
}

/*目次リスト*/
.list_ul {
    padding: 0;
    margin: 1em 0;
    padding: 30px 35px;
    background: #f3f3f3;
}
.list_ul li {
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display: flex;
    -webkit-justify-content:space-between;
    -moz-justify-content:space-between;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #726855;
    padding: 20px 5%;
}
.list_ul li:first-child {
    border-top: 1px solid #726855;
}
    @media only screen and (max-width: 480px) {
        .list_ul li {
            display: block;
            text-align: center;
        }
    }

/*目次BOX*/
.contents_index {
    border: 3px solid #70b3a8;
    margin: 100px 5% 20px;
    background-color: rgba(19,45,61,.04);
}
.contents_index > p {
    background-color: #70b3a8;
    padding: 20px;
    color: #fff;
    font-weight: bold;
    font-size: 1.5em;
    line-height: 200%;
    margin-top: 0;
    margin-bottom: 15px;
}
.contents_index > ul {
    color: #318c73;
    font-size: 1.3em;
    margin: 20px 1% 10px 5%;
    text-indent: -30px;
    padding: 0 40px 30px;
    line-height: 1.8em;
    list-style-position: inside;
    list-style: none;
}
.contents_index > ul li:hover {
    color: #0d3869;
}
.contents_index > ul li:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: 900;
    margin-right: 20px;
}
/*カード*/
.dashboard-card {
    padding-bottom: 25px;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    overflow: hidden;
}
.dashboard-card .card {
    width: 45%;
    display: inline-block;
    position: relative;
    /*width: 100%;*/
    height: 340px;
    border-radius: 2px;
    color: rgba(0,0,0,.87);
    background: #fff;
    -webkit-box-shadow: 0 8px 17px 0 rgba(0,0,0,.2), 0 6px 20px 0 rgba(0,0,0,.19);
    box-shadow: 0 8px 17px 0 rgba(0,0,0,.2), 0 6px 20px 0 rgba(0,0,0,.19);
    -webkit-box-shadow: 0 3px 6px 0 rgba(0,0,0,.2), 0 6px 10px 0 rgba(0,0,0,.19);
    box-shadow: 0 3px 6px 0 rgba(0,0,0,.2), 0 6px 10px 0 rgba(0,0,0,.19);
    transition: .2s ease;
}
.dashboard-card .card:hover .card-image {
    background-color: #56a4e6;
}
.dashboard-card .card:hover .card-body:after {
    font-family: "Font Awesome 5 Free";
    content: "\f078";
    font-weight: 900;
    color: #56a4e6;
    font-size: 1.5em;

    position: absolute;
    left: 49%;
    bottom: 17%;
}
.dashboard-card .card:hover .card-footer span {
    color: #56a4e6;
}
.dashboard-card .card .card-image {
    height: 40%;
    position: relative;
    overflow: hidden;
}
.card .card-image .card-image-headline {
    position: absolute;
    bottom: 16px;
    left: 18px;
    right: 10px;
    color: #fff;
    font-size: 1.8em;
    margin: 0;
}
.card .card-content {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.dashboard-card .card-body {
    height: 34%;
    padding: 18px;
}
.card-body p:first-child {
    height: 25%;
}
.dashboard-card .card-footer {
    font-weight: bold;
    border-top: 1px solid rgba(0,0,0,.1);
    /*height: 18%;*/
    padding: 18px;
}
    @media screen and (max-width: 855px) {
        .card .card-image .card-image-headline {
            font-size: 1.5em;
            left: 5%;
        }
        .dashboard-card .card-body {
            height: 38%;
            padding: 5%;
        }
        .card-body p:first-child {
            padding: 0;
            margin: 0;
            height: 25%;
        }
        .dashboard-card .card:hover .card-body:after {
            left: 45%;
            bottom: 22%;
        }
    }

/*リスト横並び小BOX*/
ul.box_list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.box_list li {
    color: #985a0b;
    padding: 3px;
    display: inline-block;
    margin: 0 0px 5px 0;
    border: 1px solid #ccb08c;
    font-size: .95em;
}

/*ソーシャルアイコン*/
ul.social-buttons {
    list-style: none;
    margin: 20px 0;
    padding: 0;
    text-align: center;
}
ul.social-buttons li {
    display: inline-block;
    margin-right: 10px;
}
ul a.social-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    -o-border-radius: 50%;
    background: #b38e5a;
    display: inline-block;
    color: #fff;
    font-size: 17px;
    line-height: 40px;
    text-align: center;
}
.social-btn:hover, .social-btn:focus {
    background: #56a4e6;
}

/*ボタンリンク*/
.link_nostyle {
    list-style: none;
    text-align: left;
}
.link_nostyle i {
    margin-right: 10px;
}

/*ボタン*/
.button_wrap {
    /*text-align: center;*/
    position: relative;
    z-index: 1;
}
.button_wrap a {
    text-decoration: none;
}
.button_form, .button_link {
    position: relative;
    text-align: center;
    display: inline-block;
    padding: 10px 48px;
    cursor: pointer;
    margin-top: 5px;
    margin-bottom: 5px;
    z-index: 2;
}
.button_form {
    background-color: #f94417;
    color: #FFF;
}
.button_form:hover {
    background-color: #f13000;
}
.button_link {
    background-color: #3c5c82;
    color: #FFF;
}
.button_link:hover {
    background-color: #0d3869;
}
.button_form:after, .button_link:after {
    font-family: "Font Awesome 5 Free";
    content: "\f101";
    font-weight: 900;
    position: absolute;
        top: 50%;
        right: 10px;
        margin-top: -8px;
}
.button_link.arr_down:after {
    content: "\f063";
}
.button_link.arr_out:after {
    content: "\f35d";
}
.button_form:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0e0";
    font-weight: 900;
}
.pdf:before {
    font-family: "Font Awesome 5 Free";
    content: "\f1c1";
    font-weight: 900;
    margin-right: 7px;
}

.relative {position: relative;}
.absolute {position: absolute;}
.absolute-right-center {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

/*リンク*/
a.hover img, .expanslink img {transition-duration: .5s}
a.hover img:hover, .expanslink:hover img {filter: brightness(70%) hue-rotate(20deg)}

/*-- expanslink --*/
.expanslink {
    position: relative;
    z-index: 1; /* リンク要素の重なりのベース順序指定 */
}
.expanslink a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-indent:-999px;
    z-index: 2; /* リンク要素の重なりのベース順序指定 */
}
th.expanslink:hover, .bg_col_blue_01, .table > tbody > tr > th.bg_col_blue_01.expanslink:hover {
    color: #fff;
    background-color: #56a4e6;
}
th.expanslink:hover span, th.expanslink:hover p, th.expanslink:hover i {
    color: #fff;
}
.expanslink a.inlink {
    position: relative; /*「別リンク」は普通に配置するため */
    z-index: 3; /* リンク要素の重なり順を上にするため */
}
.button_wrap.expanslink a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-indent:-999px;
    z-index: 3;
}
.button_wrap.expanslink:hover {
    filter: contrast(160%);
}

.b_back {
    background-color: #666
}
.b_back:hover {
    background-color: #464646;
}
.b_back:before {
    font-family: "Font Awesome 5 Free";
    content: "\f060";
    font-weight: 900;
    margin-right: 10px;
}
.b_back:after {
    content: "";
}

/*-- widelink --*/
.widelink.wdl60 .button_form, .widelink.wdl60 .button_link {
    width: 60%;
}
.widelink.wdl70 .button_form, .widelink.wdl70 .button_link {
    width: 70%;
    padding: 20px 48px;
}
.widelink .button_form:after, .widelink .button_link:after {
    right: 25px;
}
.widelink .button_link::before, .widelink .button_link::after {
    position: absolute;
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    left: calc(50% - 5px);
    top: calc(50% - 5px);
    border-radius: 50%;
    background: rgba(255, 255, 255, .1);
    transform: scale(0,0);
    box-sizing: border-box;
}
.widelink .button_link:hover::before {
    animation: hamon 1s infinite;
}
.widelink .button_link:hover::after {
    animation: hamon 1s infinite;
}
@keyframes hamon {
  0%   {  transform: scale(0, 0);}
  100% {  transform: scale(50, 50); opacity: 0;}
}
/*-- bnnerlink --*/

    @media screen and (max-width: 855px) {
        .button_wrap {
            text-align: center;
        }
        .button_form, .button_link {
            padding: 10px;
            display: table;
            margin: 5px auto;
            line-height: 1.7em;
        }
        .table .button_form, .button_link {
            display: inline-block;
        }
        .button_form:after, .button_link:after, .widelink .button_form:after, .widelink .button_link:after {
            position: relative;
            right: auto;
            padding-left: 5px;
        }
        .widelink.wdl60 .button_form, .widelink.wdl60 .button_link, .widelink.wdl70 .button_form, .widelink.wdl70 .button_link {
            width: 80vw;
            padding: 20px 10px;
        }
    }

/*仕切り線*/
.hr_01 {
    border: 0;
    height: 1px;
    background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
    background-image:    -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
    background-image:     -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
    background-image:      -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
    }
.hr_norml {
    border: 0 none;
    height: 1px;
    color: #ccc;
    background-color: #e4e4e4;
    margin: 10px 0;
}
/*揺らすアニメーション*/
.buruburu {
    display: inline-block;
    animation: hurueru .6s  infinite;
}

@keyframes hurueru {
    0% {transform: translate(0px, 0px) rotateZ(0deg)}
    25% {transform: translate(2px, 2px) rotateZ(1deg)}
    50% {transform: translate(0px, 2px) rotateZ(0deg)}
    75% {transform: translate(2px, 0px) rotateZ(-1deg)}
    100% {transform: translate(0px, 0px) rotateZ(0deg)}
}

/*トップへジャンプ*/
#totop {
    display: table;
    text-align: center;
    vertical-align: bottom;
    background: rgba(102,102,102,0.7);
    width: 34px;
    height: 34px;
    margin: 2px auto 0;
    border-radius: 50%;
    position: fixed;
    bottom: 50px;
    right: 20px;
    z-index: 11;
}
#totop a {
    display: table-cell;
    vertical-align: middle;
    font-size: 14px !important;
    line-height: 0;
    color: #fff !important;
    text-decoration: none;
}
#totop a:hover {
    background-color: #0d3869;
    border-radius: 50%;
}
/*Clearfix*/
}
.clearer {
    clear:both;
}
.clearfix:after,.clearfixbf:before {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}

.clearfix,.clearfixbf {
    min-height: 1px;
}

* html .clearfix,* html .clearfixbf {
    height: 1px;
    /*¥*//*/
    height: auto;
    overflow: hidden;
    /**/
}


/*-------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
                                        template
---------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------*/


/*--            header
------------------------------------------*/
#intro {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 2em;
    background-color: #fff;
}
#intro .left {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#intro > div > img {
    margin: 0 20px 0 10px;
}
#intro > .left > p {
    line-height: 1.3;
    margin: 10px 0;
}
#intro > .left > p span {
    display: block;
    font-size: .65em;
}
#intro > .left > p strong {
    display: block;
    color: #56a4e6;
    font-size: .48em;
    font-weight: normal;
    /* line-height: 2.5; */
}
.nav-is-visible #intro > .left {
    visibility: hidden;
}
#intro > .right > p {
    font-size: .4em;
    line-height: 1.4;
    margin: 10px 0 0;
}
#intro .button_wrap {
    font-size: .55em;
    display: inline-block;
}
#intro .button_form {
    margin-top: 0;
    background-color: #38beb9;
}
#intro .button_form:hover {
    background-color: #4486bd;
}

#headertitle {
    margin:0;
    text-align:center;
    margin:0;
    padding:0;
    font-size:1.3em;
}
#header {
    /*max-width:840px;*/
    width:auto;
    margin:0 -10px;
}

div.resizeimage {
    /*max-width: 830px;*/ width:100%; /*min-width: 550px;*/
    background: url(/_common/images/header02.jpg) center center;
    height: 40vh;
    background-size: cover;
}
/*div.resizeimage img {
    width: 100%;
    vertical-align: bottom;
    overflow: hidden;
    border-bottom: solid 1px #444;
}*/

/*スマホメニュー*/
.spbar {
    font-size: 2.2em;
    margin-right: .4em;
}

/*メガメニュー*/

#menu {
    background: #333;
    width: 100%;/*for fixed nav*/
}
.menu_ul, .menu_ul ul, .menu_ul ul ul {
    list-style: none;
    padding: 0;
}
.menu_ul {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
    white-space: nowrap;
}
.menu_ul > li a {
    color: #fff;
    font-size: 1.1em;
}
.menu_ul > li > a:hover{
    background: #444;
    color: #38beb9;
}
.menu_ul a, .cd-header-buttons a {
    text-decoration: none;
}
.cd-header-buttons a {
    font-size: .95em;
}

/*固定メニュー*/
.menu_ul.menu_fix > li{
    display: block;
    float: left;
    width: 12.5%;
    font-size: .95em;
    margin: 0 auto;
    padding: 0;
    border-right: solid 1px #444;
    border-bottom: solid 1px #444;
    box-sizing: border-box;
}
.menu_ul.menu_fix > li:first-child{
    border-left: solid 1px #444;
}
.menu_ul.menu_fix > li > a{
    display: block;
    padding: 12px 0 10px;
    background: #333;
    color: #fff;
    text-align: center;
    text-decoration: none;
    line-height: 2.2;
    height: auto;
}
.menu_ul > li ul {
    font-size: 13.5px;
}
.cd-main-header {
    /*for fixed nav*/
    -webkit-transform: unset;
    -moz-transform: unset;
    -ms-transform: unset;
    -o-transform: unset;
     transform: unset;
     will-change: unset;
}
.cd-overlay {
    background-color: rgba(0, 0, 0, .6);/*rgba(56, 190, 185, 0.5)*/
}
.cd-primary-nav {
    z-index: 99999;
}
.cd-primary-nav > .has-children > a {
    padding-right: 10px !important;
}
.cd-primary-nav h3{
    margin: 0;
    font-size: 1em;
    font-weight: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: 8px;
}
.nav-is-visible:not(a.nav-is-visible) {
    width: 80%;
    background: #333;
    z-index: 9999;
}
.cd-primary-nav .cd-secondary-nav a.pick {
    color: #4485bd;
}
.cd-nav-trigger span {
    margin-top: 5px;
}
.cd-nav-trigger span, .cd-nav-trigger span::before, .cd-nav-trigger span::after {
    height: 5px;
    width: 35px;
}
.cd-nav-trigger span::before {
    top: -10px;
}
.cd-nav-trigger span::after {
    top: 10px;
}
.cd-nav-trigger.nav-is-visible span::before {
    -webkit-transform: translateX(6px) translateY(-2px) rotate(45deg);
        -moz-transform: translateX(6px) translateY(-2px) rotate(45deg);
        -ms-transform: translateX(6px) translateY(-2px) rotate(45deg);
        -o-transform: translateX(6px) translateY(-2px) rotate(45deg);
        transform: translateX(6px) translateY(-2px) rotate(45deg);
}
.cd-nav-trigger.nav-is-visible span::after {
    -webkit-transform: translateX(6px) translateY(2px) rotate(-45deg);
    -moz-transform: translateX(6px) translateY(2px) rotate(-45deg);
    -ms-transform: translateX(6px) translateY(2px) rotate(-45deg);
    -o-transform: translateX(6px) translateY(2px) rotate(-45deg);
    transform: translateX(6px) translateY(2px) rotate(-45deg);
}
#toggle{
    display: none;
}
.menu_ul > li.spbox {
    display: none;
}


    @media only screen and (min-width: 1400px) {
        .cd-primary-nav .cd-secondary-nav, .cd-primary-nav .cd-nav-gallery, .cd-primary-nav .cd-nav-icons {
            padding: 20px 3% 70px;
        }
    }
    @media only screen and (min-width: 855px) {
        /*全メニュー*/
        .menu_ul > li{
            display: block;
            float: left;
            width: 12.5%;
            font-size: .92em;
            margin: 0 auto;
            padding: 0;
            border-right: solid 1px #444;
            border-bottom: solid 1px #444;
            box-sizing: border-box;
        }
        .menu_ul > li:first-child{
            border-left: solid 1px #444;
        }
        .menu_ul > li > a{
            display: block;
            padding: 12px 0 10px;
            background: #333;
            color: #fff;
            text-align: center;
            text-decoration: none;
            line-height: 2.2;
            height: auto;
        }

        .menu_fix {
            display: none;
        }

        .cd-primary-nav .cd-secondary-nav, .cd-primary-nav .cd-nav-gallery, .cd-primary-nav .cd-nav-icons {
            top: 50px;
            width: 95%;
            left: 0;
            margin: 0 auto;
            /*padding: 20px 3% 70px;*/
            padding: 5px .5% 50px;
        }
        .cd-primary-nav .cd-secondary-nav ul {
            font-size: 0;/*inline-block同志の隙間なくすため*/
            padding: 0;/*1% 0 0   2.66%*/
            border: 1px solid #a8b7c3;
            overflow: hidden;
        }
        .cd-primary-nav .cd-secondary-nav ul li {
            font-size: 13px;
        }
        .cd-primary-nav .cd-nav-gallery .cd-nav-item {
            padding: 5px;
            font-size: .9em;
        }
        .cd-primary-nav .cd-nav-gallery .cd-nav-item h3 {
            font-size: .92em;
            text-align: center;
        }
        .cd-primary-nav > li > .selected {
            color: #fff;
            box-shadow: inset 0 -2px 0 #38beb9;
            background: #4486bd;
        }
        .cd-primary-nav .cd-secondary-nav > li {
            height: auto;
            margin: 1% 1% 0;/*2.66%*/
            padding: 0;
            border: none;
        }
        .cd-primary-nav .cd-secondary-nav:not(.cd-nav-gallery) > li:not(.see-all) {
            width: 48%;
            /*overflow: hidden;*/
            overflow: visible;
        }
        .cd-primary-nav .cd-secondary-nav.cd-nav-gallery > li {
            width: 98%;
            position: relative;
            /*float: none;*/
        }
        /*.cd-primary-nav .cd-secondary-nav > li:nth-child(4n+2) {
            margin-right: 0;
            border-right: 1px solid #e2e3df;
        }*/
        .cd-primary-nav li.cd-nav-img {
            width: 50%;
            display: inline-flex;
        }
        .cd-primary-nav li.cd-nav-img a {
            width: 100%;
            height: auto;
        }
        .cd-primary-nav li.cd-nav-img img {
            vertical-align: bottom;
        }
        .cd-primary-nav li.cd-nav-img span, .cd-nav-item span {
            display: block;
            text-align: left;
            overflow: hidden;
            text-overflow: ellipsis;
            height: 27px;
            white-space: pre-wrap;
        }
        .cd-primary-nav .cd-secondary-nav > li.has-children > a:not(.right_a) {
            pointer-events: none;
        }
        .cd-primary-nav .cd-secondary-nav > li > a {
            color: #fff;
            font-size: inherit;
            height: auto;
            line-height: inherit;
            padding: 0;
            margin-bottom: 0;
        }
        .cd-primary-nav .cd-secondary-nav > li > a h3 {
            display: block;
            padding: 5px 10px;
            background-color: #4486bd;
            margin: 0;
        }
        .cd-primary-nav .cd-secondary-nav > li > a h3 span {
            font-size: .9em;
        }
        .cd-primary-nav .cd-secondary-nav > li .right_a span {
            position: absolute;
            top: 0;
            right: 0;
            padding: 6px 10px 6px;
            font-weight: normal;
            font-size: .9em;
            background: #0d3869;
        }
        .cd-primary-nav .cd-secondary-nav > li .right_a span:hover {
            background: #38beb9;
        }
        .cd-primary-nav .cd-nav-gallery .has-children li:not(.go-back):not(.see-all) {
            width: 20%;
            display: inline-flex;
            padding: 0;
            margin: 0;/*0 0 5px*/
        }
        .cd-primary-nav .cd-secondary-nav a {
            font-size: inherit;
            padding: 0 2%;
            display: block;
        }
        .cd-primary-nav .cd-secondary-nav .cd-nav-img a {
            padding: 2%;
        }
        .cd-primary-nav .cd-secondary-nav .cd-nav-img a.no_pdl {
            padding-left: 0;
        }
        .cd-primary-nav .cd-secondary-nav a:hover, .cd-primary-nav .cd-secondary-nav ul li:hover, .cd-primary-nav .cd-secondary-nav ul li:hover a {
            background-color: #38beb9;
            color: #fff;
        }
        .cd-secondary-nav .is-hidden li:not(.cd-nav-img) a:not(.cd-nav-item):before {
            font-family: "Font Awesome 5 Free";
            content: "\f105";
            font-weight: 900;
            margin-right: 8px;
        }
        .cd-primary-nav .cd-secondary-nav > .see-all, .cd-primary-nav .cd-nav-gallery > .see-all, .cd-primary-nav .cd-nav-icons > .see-all {
            height: 45px;
        }
        .cd-primary-nav .cd-secondary-nav > .see-all a, .cd-primary-nav .cd-nav-gallery > .see-all a, .cd-primary-nav .cd-nav-icons > .see-all a {
            font-size: inherit;
            line-height: 45px;
            color: #fff;
            background-color: #38beb9;
        }
        .cd-primary-nav .cd-secondary-nav > .see-all a:hover, .cd-primary-nav .cd-nav-gallery > .see-all a:hover, .cd-primary-nav .cd-nav-icons > .see-all a:hover {
            border-color: inherit;
        }
        .cd-primary-nav .cd-secondary-nav > .see-sp, .cd-primary-nav .cd-nav-gallery > .see-sp, .cd-primary-nav .cd-nav-icons > .see-sp {
            display: none;
        }
    }
    @media only screen and (max-width: 1240px) {
        #intro > .right {
            margin-right: 20px;
        }
    }
    @media only screen and (max-width: 1040px) {
        #header { /* #conteinerとmedia1040px合わせる */
            width: auto;
            margin: 0 -10px;
        }
        div.resizeimage {
            height: 30vh;
        }
        .cd-primary-nav .cd-secondary-nav, .cd-primary-nav .cd-nav-gallery, .cd-primary-nav .cd-nav-icons {
            top: 47px;
        }
    }
    @media only screen and (max-width: 855px) {
        #intro {
            font-size: 1.5em;
            vertical-align: middle;
        }
        #intro > div > img {
            width: 75px;
            margin: 0 5px;
        }
        #intro .spNone1 {
            display: none;
        }
        .nav-is-visible .menu_fix {
            position: relative;
            z-index: -1;
        }
        .menu_ul {
            overflow: hidden;
        }
        .menu_ul.menu_fix > li {
            margin: 0;
            width: 25%;
        }
        .menu_ul.menu_fix > li:nth-child(4n) {
            border-right: none;
        }
        .cd-primary-nav {
            width: 80%;
        }
        .cd-primary-nav ul {
            width: 100%;
        }
        /*.cd-primary-nav.nav-is-visible, .cd-primary-nav.nav-is-visible > ul {
            width: 80%;
            background: #333;
            z-index: 9999;
        }*/
        .cd-main-content.nav-is-visible, .cd-main-header.nav-is-visible {
            -webkit-transform: translateX(-75%);
                -moz-transform: translateX(-75%);
                -ms-transform: translateX(-75%);
                -o-transform: translateX(-75%);
                transform: translateX(-75%);
        }
        .cd-overlay.is-visible {
            -webkit-transform: none;
            -moz-transform: none;
            -ms-transform: none;
            -o-transform: none;
            transform: none;
        }
        .cd-primary-nav .cd-secondary-nav > li .right_a span {
            display: none;
        }

        /*スマホ ドロワーメニュー用*/
        #intro {
            position: fixed;
            box-shadow: 0 10px 15px rgba(0,0,0,.05);
        }
        #menu {
            margin-top: 71px;
        }
        #cd-primary-nav.cd-primary-nav.moves-out > li > .selected, .menu_ul > li.spbox {
            -webkit-transform: translateX(0);
            -moz-transform: translateX(0);
            -ms-transform: translateX(0);
            -o-transform: translateX(0);
            transform: translateX(0);
            opacity: 1;
            position: absolute;
            top: 0;
            width: 100%;
            text-align: center;
            z-index: 999;
            color: #fff;
        }
        .cd-primary-nav.moves-out > li > .selected:before, .cd-primary-nav ul.moves-out > li > .selected:before,.cd-primary-nav.moves-out > li > .selected:after, .cd-primary-nav ul.moves-out > li > .selected:after {
            background: inherit;
        }

        /* .cd-secondary-nav h3, .cd-secondary-nav li:not(.see-all) a */
        .cd-secondary-nav h3, .cd-secondary-nav li a {
            font-size: 12.4px;
        }
        .cd-primary-nav .cd-secondary-nav a.pick {
            color: #fff;
        }
        .cd-secondary-nav ul li.see-all:not(.show) {
            display: none;
        }
        .cd-primary-nav .cd-nav-gallery .cd-nav-item img, .cd-nav-img img {
            position: absolute;
            display: block;
            height: 40px;
            width: auto;
            left: 20px;
            top: 50%;
            margin-top: -20px;
        }
        .cd-nav-img span {
            padding-left: 70px;
        }
        .cd-primary-nav .cd-nav-gallery .cd-nav-item, .cd-primary-nav .cd-nav-img a, .cd-primary-nav .cd-nav-img a {
            padding-left: 90px;
        }
        .has-children > a::before, .has-children > a::after, .go-back a::before, .go-back a::after {
            background: #fff;
        }
        .menu_ul > li.spbox {
            display: block;
            width: auto;
            top: unset;
            bottom: 10px;
            left: 10px;
            right: 10px;
        }
        .menu_ul > li.spbox div {
            padding: 12px;
            background: rgb(68, 68, 68);
            margin-top: 1px;
        }
    }
    @media only screen and (max-width: 768px) {
    }
    @media only screen and (max-width: 480px) {
        /*.menu_ul{
            display: none;
        }
        .menu_ul li{
            width: 100%;
        }*/
        #toggle{
            display: none;/*追加20190630*/
        }
        /*#toggle{
            display: block;
            position: relative;
            width: 100%;
            background: #222;
        }*/
        #toggle a{
            display: block;
            position: relative;
            padding: 12px 0 10px;
            border-bottom: 1px solid #444;
            color: #fff;
            text-align: center;
            text-decoration:none;
        }

        #toggle:before{
            display: block;
            content: "";
            position: absolute;
            top: 50%;
            left: 10px;
            width: 20px;
            height: 20px;
            margin-top: -10px;
            background: #fff;
        }
        #toggle a:before, #toggle a:after{
            display: block;
            content: "";
            position: absolute;
            top: 50%;
            left: 10px;
            width: 20px;
            height: 4px;
            background: #222;
        }
        #toggle a:before{
            margin-top: -6px;
        }
        #toggle a:after{
            margin-top: 2px;
        }
    }

/*-------------shingo-----------------*/

/*--            main
------------------------------------------*/
#main_wrap {
    margin: 0 auto;
    max-width:1200px;
    width:100%;
    text-align:left;
    word-break: break-word;
}
#main_left {
    display: none;
}
#main_center {
    /*float: right;*/
    /*width: calc(100% - 265px);*//*真ん中のカラムの幅：(左サイド幅+左サイドマージン)を足したpxを引く*/
    margin: 0 auto;
    max-width: 1100px;
}
    @media only screen and (max-width: 855px) {
    /*@media screen and (max-width: 480px) {*/
        #main_center {
            float: none;
            width: 100%;
            clear: both;
            box-sizing: border-box;
        }
    }
#main_widecenter {
    float:left;
    width:730px;
}
#main_right {
    float:right;
    width:180px;
    margin-top: 20px;
    margin-left: 10px;
}

@media only screen and (max-width: 855px) {
    #main_right{ display: hidden; }
}

/*--            footer & sitemap
------------------------------------------*/
#footer {
    /*max-width:840px;*/
    margin:100px auto 0;
    padding: 0;
    background-color:#ddd;
}
#footer > div {
    max-width: 1200px;
    padding: 25px 2% 10px;
    margin: 0 auto;
}
#footer #footer_logo {
    float: left;
    text-align: center;
    width: 30%;
    display: inline-block;
    vertical-align: top;
}
#footer #footer_logo img{
    width: 60px;
    height: auto;
}
#footer #footer_logo .logo-img {
    width: 150px;
    border-radius: 15px;
}
#fcopy_text {
    display: inline-block;
    position: relative;
}
#fcopy_text p {
    color: #444;
    font-size: .9em;
    text-align: left;
    margin:20px 0 10px 0;
    padding: 5px 15px;
    line-height:1.6em;
    border-top: 20px solid #ccc;
    border-bottom: 25px solid #ccc;
}
#fcopy_text .sns {
    /*position: absolute;
    right: 0;
    bottom: 9px;*/
    text-align: right;
    font-size: 1.5em;
}
#fcopy_text .sns i, #fcopy_text .sns img {
    font-size: 1.4em;
    margin-right: 5px;
}
#fcopy_text .sns img {
    width: 27px !important;
    vertical-align: top;
}
.fcopy_img {
    float: right;
    width: auto;
    padding: 15px 0 15px 10px;
    text-align: center;
}

#footer_links {
    margin-top: 14px;
    float: right;
    width: 65%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    overflow: hidden;
}
#footer .title_pickup {
    margin: 0 0 10px;
}
.flink, #footer #fcopy {
    overflow: hidden;
}
.flink {
    display: inline-block;
    vertical-align: top;
    align-items: stretch;
    position: relative;
    width: 30%;
    box-sizing: border-box;
}
#sitemap_links .flink {
    width: 41%;
}
#sitemap_links .flink:nth-child(even) {
    width: 58%;
}
.flink ul {
    list-style: none;
    margin: 5px 0 20px;
    padding-left: 18px;
}
.flink ul li {
    position: relative;
    font-size: .95em;
    line-height: 1.75em;
}
#sitemap_links .flink ul li {
    line-height: 3em;
}
.flink ul li:hover {
    color: #38bfb9;/*#56a4e6*/
}
.flink.blue ul li:hover {
    color: #006dce;
}
.flink.orange ul li:hover {
    color: #e29d61;
}
.flink label {
    display: block;
}
.flink label:hover {
    color: #38bfb9;/*#56a4e6*/
}
#sitemap_links .flink h4 {
    color:#38beb9;
}
#sitemap_links .flink.blue h4 {
    color: #006dce;
}
#sitemap_links .flink.orange h4 {
    color: #e29d61;
}
.flink label:before, #sitemap_links .flink h4:before {
    font-size: 1.2em;
    font-family: "Font Awesome 5 Free";
    content: "\f0fe";
    font-weight: 900;
    padding-right: 5px;
    color: #38beb9;
}
.flink.blue label:before, #sitemap_links .flink.blue h4:before {
    color: #006dce;
}
.flink.orange label:before, #sitemap_links .flink.orange h4:before {
    color: #e29d61;
}
#sitemap_links .flink h4:before {
    content: "\f0c8";
}
.flink ul a {
    padding: 0 10px ;
    font-size: .95em;
    /*width:415px;*/
    /*float:left;*/
    text-align:center;
    /*color:#00F;*/
    /*text-decoration:underline;*/

    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-indent:-999px;
    z-index: 2; /* リンク要素の重なりのベース順序指定 */
}
#footer input[type="checkbox"].on-off{
    display: none;
}
#footer input[type="checkbox"].on-off ~ div div ul{
    visibility: hidden;
    height: 0;
    margin: 5px 0 10px;
    overflow: hidden;
    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -ms-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
    animation: item_fadein .5s ease infinite;
    /*animation: show 1s linear 0s;*/
}
#footer input[type="checkbox"].on-off:checked ~ div div ul{
    /*display: block;*/
    visibility: visible;
    height: auto;/*200px*/
    animation: show 1s linear 0s;
    margin-bottom: 20px;
}
#footer input[type="checkbox"].on-off:checked ~ div div label {
    color: #38beb9;
}
#footer input[type="checkbox"].on-off:checked ~ div div label:before {
    content: "\f0c8";
    /*color: #9a9a9a;*/
    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -ms-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
    animation: item_fadein .5s ease infinite;
    /*animation: show 1s linear 0s;*/
}
#sitemap_links .flink li.child1 {
    margin-left: 20px;
}
#sitemap_links .flink li:before {
    font-size: 1.2em;
    font-family: "Font Awesome 5 Free";
    content: "\f105";/*f105 f0da*/
    font-weight: 900;
    padding-right: 5px;
    color: #38beb9;
}
#sitemap_links .flink.blue li:before {
    color: #006dce;
}
#sitemap_links .flink.orange li:before {
    color: #e29d61;
}

    @media(max-width:900px) {
        #footer #footer_logo {
            float: none;
            width: 100%;
        }
        #footer #footer_links {
            display: none;
        }
        /*#footer a{
            float:none;
            width:auto;
            margin:0 1em;
        }*/

        #sitemap_links .flink {
            width: 100%;
        }
        #sitemap_links .flink:nth-child(even) {
            width: 100%;
        }
    }
#fnav {
    clear: both;
    text-align: center;
}
#fnav ul {
    list-style: none;
    padding: 0;
    display: -webkit-box;     /* old Android */
    display: -webkit-flex;    /* Safari etc. */
    display: -ms-flexbox;     /* IE10        */
    display: flex;
    align-items: center;
    -webkit-flex-wrap: wrap;        /* Safari etc. */
    -ms-flex-wrap: wrap;        /* IE10        */
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
}
#fnav li {
    display: flex;
    flex-basis: 12%;
    padding: 2px 2px 0 0;
    box-sizing: border-box;
}
#fnav li:hover a {
    color: #444;
    background: #fff;
    border: 1px solid #444;
}
#fnav a {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: .85em;
    line-height: 1.2;
    width: 100%;
    padding: 10px 1px;
    background-color: #444;
    border: 1px solid #444;
    box-sizing: border-box;
    text-decoration: none;
}
#copyright {
    color:#666;
    font-size:0.8em;
    text-align: center;
}

    @media (max-width: 480px){
        #fnav ul {
            justify-content: space-between;
            margin: 0;
        }
        #fnav li {
            flex-basis: 25%;
        }
        #fnav li:nth-child(4n) {
            padding-right: 0;
        }
        /*#fnav a {
            min-height: 40px;
        }*/
    }

/*--            left menu
------------------------------------------*/
/*ul.leftmenu_list {
    list-style:none;
    text-align:right;
    margin:10px 8px 20px 0;
    padding:0;
}
ul.leftmenu_list li {
    margin:5px 0;
    font-size:1.1em;
    font-weight:600;
}
ul.leftmenu_list li a:link {
    color:#006;
}
ul.leftmenu_list li a:hover {
    text-decoration:underline;
}*/

/*--            right menu
------------------------------------------*/
/*.rightmenu_block {
    margin:0 0 40px 0;
    text-align:center;
    border:1px #999 solid;
    padding:20px 0;
}
.rightmenu_block a:hover {
    text-decoration:underline;
}
.rightmenu_block h3 {
    margin:0 0 10px 0;
    font-size:1.1em;
    color:#f00;
}
.rightmenu_block p {
    margin:5px 0;
    font-size:0.9em;
    color:#666;
}
.rightmenu_block p.rightmenu_block_sub {
    font-size:1em;
    color:#00F;
}*/


/* クリックで開くメニュー */
@keyframes show{ /* アニメーション設定 */
    from{
        opacity: .3;
    }
    to{
        opacity: 1;
    }
}
.panel_menu {
    /*height: 500px;*/
    width: 100%;
    margin: 10px auto;
    padding: 0;
    background: #fff;
}
.panel_menu label {
    background: #333;
    color: #fff;
    padding: 10px;
    display: block;
    margin: 0;
    position: relative;
    border-bottom: 1px solid #8a8a8a;
}
.panel_menu label:after {
    font-family: "Font Awesome 5 Free";
    content: "\f107";
    font-weight: 900;
    position: absolute;
        top: 50%;
        right: 10px;
        margin-top: -8px;
}
.panel_menu label:hover {
    background: #555;
}
.panel_menu input[type="checkbox"].on-off{
    display: none;
}
.panel_menu  ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.panel_menu li {
    color: #333;
    padding: 5px 10px;
    background-color: #f3f3f3;
    position: relative;
}
.panel_menu li:hover {
    background-color: #e0e0e0;
}
.panel_menu li:hover:after{
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: 900;
    position: absolute;
        top: 50%;
        right: 10px;
        margin-top: -8px;
}
.panel_menu input[type="checkbox"].on-off ~ ul{
    /*height: 0;*/
    /*display: none;*/
    visibility: hidden;
    height: 0;
    overflow: hidden;
    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -ms-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
    animation: item_fadein .5s ease infinite;
    /*animation: show 1s linear 0s;*/
}
.panel_menu input[type="checkbox"].on-off:checked ~ ul{
    /*display: block;*/
    visibility: visible;
    height: auto;/*200px*/
    animation: show 1s linear 0s;
}

.panel_menu input[type="checkbox"].on-off:checked + label:after {
    content: "\f106";
    color: #9a9a9a;
    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -ms-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
    animation: item_fadein .5s ease infinite;
    /*animation: show 1s linear 0s;*/
}
.panel_menu ul li a{
    color: #006;
    text-decoration: none;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-indent: -999px;
}



/* 繧ｹ繝槭�縺�縺代↓驕ｩ逕ｨ縺吶ｋCSS */

.pcNone, .pcNone1 {
    display: none;
}
/*@media only screen and (max-width: 900px) {*/
@media only screen and (max-width: 855px) {
    .spNone1 {
        display:none;
    }
    .pcNone1 {
        display: block;
    }
}

@media screen and (max-width: 750px){
    .spNone {
        display: none;
    }
    .pcNone {
        display: block;
    }
}

/*-------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
                                        pages
---------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------*/

/*--            index トップページ
------------------------------------------*/
.top_title {
    color: #fff;
    font-size: 1.2em;
    background-color: #333;
    padding: 10px 20px;
    margin: 0;
    text-align: left;
}
.top_title img {
    margin-right:6px;
}
/* html内に移動
.index_topbox {
    width:100%;
    margin:0 0 10px 0;
    padding: 0;
    text-align:center;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    background-image: url(/_common/images/test02_1.jpg);
    background-size: cover;
    background-position-x: center;

    background: url(/_common/images/test06.jpg) no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-attachment: fixed;
    position: relative;
}*/
.index_topbox:after {
    content: "今日のタオ島ライブ写真";
    color: #fff;
    font-size: .9em;
    background: #333;
    padding: 5px;
    position: absolute;
    bottom: 0;
    right: 0;
}
.index_topbox h3 {
    font-size:1.2em;
    font-weight:bold;
    margin:5px 0;
    padding:0;
}
#toppage .txt_base {
    margin: 20px 10px;
}

#balloon_box {
    display: flex;
    align-items: center;
    padding: 20px;
    /*background: url(/_common/images/header_mask.png);
    background-size: auto 100%;*/
    /* background: linear-gradient(135deg, rgb(255, 255, 255, .9), rgba(255, 255, 255, 0)); */
}
.balloon_text_wrap {
    margin-bottom: .5em;
    position: relative;
}
.balloon_text_wrap:before, .balloon_text_wrap:after {
    clear: both;
    content: "";
    display: block;
}
#balloon_right {
    text-align: left;
    flex-basis: 68%;
}
#balloon_image_left .balloon_img, #balloon_image_right .balloon_img {
    width: 95px;/*75*/
    height: 95px;
    background-image: url(/_common/images/comment_face.png);
    background-size: cover;
}
#balloon_image_left {
    /*float: left;*/
    text-align: center;
    margin-right: 20px;
    font-size: 1em;
    padding: 10px;
    text-shadow: .1px .1px 0 #ccc, 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF, 0-1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;
}
#balloon_image_right {
    /*float: right;*/
    margin-left: 20px;
}
.balloon_img {
    width: 100%;
    height: 100%;
    border: 1px solid #b3b3b3;
    border-radius: 50%;
    margin: 0 auto;
    background-color: rgb(177 237 255 / 70%);
}
.balloon_image_description {
    padding: 5px 0 0;
    font-size: 10px;
    text-align: center;
}
.balloon_text, .balloon_text_left {
    position: relative;
    padding: 10px;
    border: 1px solid #aaa;
    border-radius: 10px;
    max-width: -webkit-calc(100% - 50px);
    max-width: calc(100% - 50px);
    background: rgba(255, 255, 255, .9);
    display: inline-block;
}
/*.balloon_text {
    float: left;
}
.balloon_text_left {
    float: right;
}*/
.balloon_text_wrap p {
    margin: 0 0 20px;
}
.balloon_text_wrap p:last-child {
    margin-bottom: 0;
}
/* 三角部分 */
.balloon_text:before {
    position: absolute;
    content: '';
    /*border: 10px solid transparent;
    border-right: 10px solid rgba(255, 255, 255, .4);
    top: 15px;
    left: -20px;*/
    border: 8px solid transparent;
    border-right: 8px solid rgba(255, 255, 255, .4);
    top: 9px;
    left: -17px;
}
.balloon_text:after {
    position: absolute;
    content: '';
    /*border: 10px solid transparent;
    border-right: 10px solid #f2f2f2;
    top: 15px;
    left: -19px;*/
    border: 8px solid rgba(255, 255, 255, 0);
    border-right: 8px solid rgba(255, 255, 255, .9);
    top: 9px;
    left: -16px;
}
.balloon_text_left:before {
    position: absolute;
    content: '';
    border: 10px solid transparent;
    border-left: 10px solid #aaa;
    top: 15px;
    right: -20px;
}
.balloon_text_left:after {
    position: absolute;
    content: '';
    border: 10px solid transparent;
    border-left: 10px solid #f2f2f2;
    top: 15px;
    right: -19px;
}
/*div,p {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}*/
    @media screen and (max-width: 800px) {
        /*.index_topbox {
            background-attachment: scroll;
            background: none;
        }*/
        #balloon_box {
            padding: 50px 20px;
        }
        /*.index_topbox::before {
            content: "";
            display: block;
            min-width: 100vw;
            min-height: 100vh;
            background-image: url("/_common/images/test06.jpg");
            background-position: center center;
            background-size: cover;
            background-repeat: no-repeat;
            position: fixed;
            top: 0;
            left: 0;
            z-index: -1
        }*/

        .balloon_text, .balloon_text_left {
            max-width: none;
        }
        .balloon_text:after {
            border-right: 8px solid rgba(255, 255, 255, .3);
        }
    }

.swag {
    position: relative;
    z-index: 0;
}
.swag:hover .swag_title, .swag:hover .arrow-btn {
    /*color: #fff;*/
    /*text-shadow: 0.1px 0.1px 0 #fff;*/
    /*font-weight: normal;*/
    background: rgba(61, 201, 179, 0.85);
    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -ms-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
    animation: item_fadein .5s ease infinite;
}
/*
.swag:hover .arrow-btn {
    background: #56a4e6;
}*/


.swag.swag00 {
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-attachment: fixed;
}
.swag.swag01 {
    background: url(/_common/images/taophoto1_1.jpg) no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-attachment: fixed;
}
.swag.swag02 {
    background: url(/_common/images/top_swag_02.jpg) no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-attachment: fixed;
}
.swag.swag03 {
    background: url(/_common/images/top_swag_03.jpg) no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-attachment: fixed;
}
.swag.swag04 {
    background: url(/_common/images/top-online-tour.jpg) no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-attachment: fixed;
}
.swag:before, .subscribe:before {
    position: absolute;
    background-color: rgba(0, 63, 70, 0.2);/*rgba(255, 165, 0, 0.2)*/
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    content: ' ';
}
.swag .swag_title {
    color: #04484c;/*#04314c*/
    display: inline-block;
    position: relative;
    padding: 20px;
    background-color: rgba(255, 255, 255, .7);
    border-radius: 10px;
    z-index: 1;
}
.swag a {
    cursor: pointer;
}
.arrow-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    -o-border-radius: 50%;
    background: rgba(61, 201, 179, 0.8);/*rgba(11, 74, 111, 0.7)*/
    display: inline-block;
    margin: 10px auto 0;
    color: #fff;
    font-size: 16px;
    line-height: 40px;
    text-align: center;
}
.arrow-btn i {
    line-height: 40px;
    padding-left: 3px;
}
    @media (max-width: 480px){
        .swag.swag00, .swag.swag01, .swag.swag02, .swag.swag03, .swag.swag04 {
            background-attachment: inherit;
        }
    }

    @media screen and (max-width: 800px) {
        .swag .swag_title {
            font-weight: 400;
            color: #fff;
            background-color: rgba(61, 201, 179, 0.85);
        }
    }

    /*スマホ横向きのみ*/
    @media screen and (max-width: 896px) and (orientation: landscape) {
        .swag.swag00, .swag.swag01, .swag.swag02, .swag.swag03, .swag.swag04 {
            background-attachment: inherit;
        }
    }



/*-- 最新BOX --*/
#topnew_box_wrap {
    text-align:center;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    overflow:hidden;
}
#topnew_box_wrap .topnew_box {
    margin-bottom: 4.5px;
    border: 1px solid #ccc;
    align-items: stretch;
    position: relative;
    width: 24.7%;
    box-sizing: border-box;
}
#topnew_box_wrap .topnew_box .text {
    width: 80%;
    text-align: left;
    padding: 8px;
    position: absolute;
    bottom: 15px;
    background: rgba(255,255,255,0.8);
    border-radius: 0 15px 15px 0;
    transition: background-color .5s;
    -webkit-transition: background-color .5s;
}
#topnew_box_wrap .topnew_box:hover > .text {
    -webkit-animation: ease-in 0 1;
    background-color: #0d3869;
}
#topnew_box_wrap .topnew_box:hover > .text h3, #topnew_box_wrap .topnew_box:hover > .text time {
    color: #fff;
}
#topnew_box_wrap .topnew_box .text h3 {
    color: #0d3869;
    font-size: 1em;
    font-weight: normal;
    line-height: 1.4em;
    border: 0;
    text-align: left;
    letter-spacing: 0;
    margin: 0;
    padding: 0;
    background: 0;
}
#topnew_box_wrap a {
    text-decoration: none;
}
#topnew_box_wrap time {
    font-size: .8em;
    font-weight: normal;
    color: #116ca0;
    display: block;
}
#topnew_box_wrap figure {
    margin: 0;
}
#topnew_box_wrap figure img {
    max-width: 100%;
    vertical-align: bottom;
}
    @media screen and (max-width: 700px) {
        #topnew_box_wrap .topnew_box {
            width: 49%;
        }
    }

.index_quatrobox {
    margin-top:40px;
}
.index_quatrobox td {
    width:240px;
    padding:5px 2px;
    text-align:left;
    vertical-align:top;
}
#inde_btmtext {
    width:500px;
    padding:20px;
    margin:20px 8px;
    color:#666;
    background-color:#c8ffff;
    -moz-border-radius: 20px;
    -webkit-border-radius: 20px;
}
@media screen and (max-width: 480px){
.spNone {       display:none;}
}



/*-- トップページ左右交互のBOX --*/

.each_box {
    display:flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 20px;
    padding-bottom: 0;
    border: 1px solid #ccc;
}
.each_box:hover {
    background-color: #efefef;
    border-radius: 10px;
}
.each_box:hover .each_box_title {
    border-top-right-radius: 0;
    border-top-left-radius: 10px;
}
.each_box:hover img {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    border-top-left-radius: 0;
}
.each_text {
    width: 45%;
    order: 1;
}
.each_box .each_box_title {
    text-align: center;
    font-size: 1.5em;
    margin: 0;
    padding: 8px;
    background-color: #ccc;
    color: #005096;
}
.each_box .each_box_subtitle {
    text-align: center;
    color: #005096;
    font-size: 13.5px;
    margin: 1.3em 0;
}
.each_pict {
    width: 55%;/*45%*/
    /*margin-left: 3%;*/
    order: 3;
}

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

.each_wrap:nth-child(even) .each_box {
    flex-direction: row-reverse;
}
/*.each_wrap:nth-child(even) .each_text {
    text-align: right;
}*/
.each_wrap:nth-child(even) .each_pict {
    margin-left: 0;
    /*margin-right: 3%;*/
}
.each_wrap:nth-child(even) :hover .each_box_title {
    border-top-right-radius: 10px;
    border-top-left-radius: 0;
}
.each_wrap:nth-child(even) :hover img {
    border-top-right-radius: 0;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 0;
}
.each_box .button_wrap {
    /*margin-right: 10px;*/
    margin-bottom: 7px;
    text-align: center;
    order: 2;
}

    @media (max-width:768px) {
        .each_box {
            flex-direction: column;
            background-color: #efefef;
            border-radius: 10px;
        }
        .each_wrap:nth-child(even) .each_box {
            flex-direction: column;
        }
        .each_box .each_box_title, .each_wrap:nth-child(even):hover .each_box_title {
            border-top-right-radius: 10px;
            border-top-left-radius: 10px;
        }
        .each_text {
            text-align: center;
            width: 100%;
        }
        .each_wrap:nth-child(even) .each_text {
            text-align: center;
        }
        .each_pict {
            width:100%;
            margin-left: 0;
            text-align: center;
            order: 2;
        }
        .each_wrap:nth-child(even) .each_pict {
            margin-left: 0;
            margin-right: 0%;
        }
        .each_pict img {
            width: 85%;
            height: auto;
        }
        .each_box ul {
            display: inline-block;
            text-align: left;
            margin-top: 0;
        }
        .each_box .button_wrap {
            order: 3;
            margin-top: 10px;
            margin-right: 0;
        }
    }




.coursetable td {
    border:1px #CCC solid;
    padding:5px;
}
h3.pagetitle {
    text-align:center;
    margin:0;
    padding:0;
}
.alphatext p {
    margin:0 0 10px 0;
    padding:0;
    font-size:0.95em;
}
.divesite {
    width:380px;
    margin:0 0 0 40px;
    background-color:#00008c;
}
.divesitetext {
    color:#fff;
    padding:10px;
}
.accesstext {
    text-align:left;
    color:#F00;
}
.taoaccesstable {
    border:1px #333 solid;
}
.taoaccesstable td {
    border:1px #CCC solid;
}
.komodo_titlea {
    color:#F60;
    font-weight:800;
    font-size:1.4em;
    padding:0;
    margin:0 0 20px 0;
}
.komodo_titleb {
    color:#0C0;
    font-weight:800;
    font-size:1.1em;
    padding:0;
    margin:0 0 15px 0;
}
.komodotable {
    border:1px #333 solid;
}
.komodotable td {
    border:1px #CCC solid;
    padding:6px;
}





#a {
    float:left;
}


#b {
    float:right;

}

#c {
    clear:both;
}



#box {
overflow: auto;
width: 300px;
height: 80px;
}
#box iframe {
width: 300px; /*PC迚医�蟷�ｼ�5px縺上ｉ縺�*/
height: 80px;
}縲�

/* --- 繝懊ャ繧ｯ繧ｹ --- */
div.bx {
width: 300px; /* 繝懊ャ繧ｯ繧ｹ縺ｮ蟷� */
background-color:#FFF; /* 繝懊ャ繧ｯ繧ｹ縺ｮ閭梧勹濶ｲ */
border: 1px #c0c0c0 solid; /* 繝懊ャ繧ｯ繧ｹ縺ｮ蠅�阜邱� */
font-size: 85%; /* 繝懊ャ繧ｯ繧ｹ縺ｮ譁�ｭ励し繧､繧ｺ */
}

/* --- 隕句�縺� --- */
div.bx h3 {
margin: 0; /* 隕句�縺励�繝槭�繧ｸ繝ｳ */
padding: 1px 10px; /* 隕句�縺励�繝代ョ繧｣繝ｳ繧ｰ�井ｸ贋ｸ九∝ｷｦ蜿ｳ�� */
background-color:#DEFEFA; /* 隕句�縺励�閭梧勹濶ｲ */
border-bottom: 1px #c0c0c0 dotted; /* 隕句�縺励�荳句｢�阜邱� */
font-size: 100%; /* 隕句�縺励�譁�ｭ励し繧､繧ｺ */
}

/* --- 譛ｬ譁��伜沺 --- */
div.bx div.inbx {
height: 80px; /* 譛ｬ譁��伜沺縺ｮ鬮倥＆ */
overflow: auto;
}

/* --- 譛ｬ譁��伜沺蜀��谿ｵ關ｽ --- */
div.bx div.inbx p {
margin: 0.1em 1px; /* 谿ｵ關ｽ縺ｮ繝槭�繧ｸ繝ｳ�井ｸ贋ｸ九∝ｷｦ蜿ｳ�� */
}



/*--            ギャラリー Masonry
------------------------------------------*/
.filter-controls {
    margin: 10px 0;
    overflow: auto;
}
.filter-controls:before, .filter-controls:after {
    content: " ";
    display: table;
}
.control {
    position: relative;
    float: left;
    width: 25%;
    padding: 0px 1px;
    margin-bottom: 3px;
    /*z-index: 999;*//* fixedメニューの上にきてしまう（gallery） */
    box-sizing: border-box;
}
.control:first-child {
    width: 50%;
    float: none;
}
    @media (max-width: 650px){
        .control, .control:first-child {
            float: none;
            width: auto;
            margin: 0 0 15px 0;
        }
    }
.form-control {
    font-size: .9em;
    display: block;
    width: 100%;
    height: 40px;
    /*padding: 5px 15px;*/
    line-height: 26px;
    color: #318c73;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    -webkit-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    appearance: none;
    box-sizing: border-box;
}
.control-field {
    position: relative;
    padding-left: 40px;
    z-index: 0;
}
select.form-control {
    padding-right: 40px;
    cursor: pointer;
    line-height: 1em;
    white-space: pre-wrap;
}
select.control-field option{
    padding:5px 0;
 }
.control-icon, .select-arrow {
    position: absolute;
    color: #318c73;
    top: 0px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    z-index: 2;
    pointer-events: none;
}
.control-icon {
    left: 10px;
}
.select-arrow {
    right: 10px;
}

/* グリッドレイアウトのコンテナ */
.grid {
  position: relative;
  width: 100%;
  max-width:100%;
  margin:0 auto;
}

/* アイテム */
.item {
    display: block; /* 必須 */
    position: absolute; /* 必須 */
    /*width: 293px;*/ /* アイテムの幅 */
    height: auto; /* アイテムの高さ */
    width: calc(33.33% - 5px);
    /*height: calc(20vw - 11px);*/
    margin: 2px; /* アイテム間のマージン(この2倍になる) */
    z-index: 1;
}
.item-content {
    position: relative;
    overflow: hidden;
}
.item img {
    width: 100%;
    position: relative;
}
.item span {
    display: none;
}
.item span small {
    display: block;
    margin-top: 5px;
    line-height: 15px;
    color: #bbb;
}
.item span small time:before, .pswp__caption small time:before {
    content: "\f017";
    font-family: "Font Awesome 5 Free";
    font-weight: 400;
    margin-right: 3px;
}
.swipe:after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 200%;
    height: 100%;
    border-top: 1px solid rgba(255, 255, 255, .7);
    background: rgba(255, 255, 255, 0.4);
    opacity: 0;
    z-index: 3;
    -webkit-transition: all .15s ease-in;
    transition: all .15s ease-in;
    -webkit-transform: translate(0,150%);
    transform: translate(0,150%);
}/*translate(0,20%) rotate(90deg)*/
.item:hover .swipe:after {
    -webkit-transform: translate(45%,90%) rotate(-45deg);
    transform: translate(45%,90%) rotate(-45deg);/*translate(45%,70%) rotate(-40deg)*/
    opacity: 1;
}
.item:hover .swipe:before {
    position: absolute;
    background: rgba(0, 0, 0, .7);
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    content: ' ';
    z-index: 99;
}
@keyframes show{
    from{
        opacity: 0;
    }
    to{
        opacity: 1;
    }
}
.item:hover span {
    display: inline-block;
    position: absolute;
    bottom: 5%;
    /* left: 15%; */
    right: 5%;
    padding: 5px;
    font-size: .9em;
    line-height: 1.4em;
    color: #eaeaea;
    z-index: 999;
    /* text-shadow: 0.1px 0.1px 0 #fff;
    /* background: rgba(255, 255, 255, 0.5); */
    /* border-radius: 10px; */
    animation: show .4s linear 0s;
}
/*ドラッグ中のアイテム*/
.item.muuri-item-dragging {
  z-index: 3;
}
    /* 925px幅以下かつ855px幅以上になったら2カラム化 */
    @media screen and (max-width: 925px) and (min-width: 855px) {
        .item{
            width: calc(50% - 5px);
            /*height: calc(50vw - 5px);*/
            height: auto;
        }
    }
    /* 650px幅以下になったら2カラム化 */
    @media screen and (max-width: 650px) {
        .item{
            width: calc(50% - 5px);
            /*height: calc(50vw - 5px);*/
            height: auto;
        }
    }

    /* 450ピクセル幅以下になったら1カラム化 */
    @media ( max-width : 450px ){
        .item{
            width: 100%;
            height: auto;
            margin: 2px 0;
        }
    }

/*--            shop
------------------------------------------*/



/*--            idc
------------------------------------------*/
/* クリックで開くメニュー */
    /* アニメーション設定 */
    /*@keyframes show{
        from{
            opacity: .3;
        }
        to{
            opacity: 1;
        }
    }*/
.panel_block {
    position: relative;
}
.panel_block label {
    display: block;
    position: relative;
    padding: 15px;
    color: #fff;
    background: #555;
}
.panel_block label:after {
    font-family: "Font Awesome 5 Free";
    content: "\f067";
    font-weight: 900;
    position: absolute;
        top: 50%;
        right: 10px;
        margin-top: -8px;
}
.panel_block label:hover {
    color: #fff;
    background: #555;
}
.panel_block input[type="checkbox"].on-off{
    display: none;
}
.panel_block input[type="checkbox"].on-off ~ table, .panel_block input[type="checkbox"].on-off ~ div{
    /*height: 0;*/
    display: none;
    visibility: hidden;
    height: 0;
    overflow: hidden;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    -ms-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    animation: item_fadein .3s ease infinite;
    /*animation: show 1s linear 0s;*/
}
.panel_block input[type="checkbox"].on-off:checked ~ table, .panel_block input[type="checkbox"].on-off:checked ~ div{
    display: block;
    visibility: visible;
    height: auto;/*200px*/
    animation: show 1s linear 0s;
}

.panel_block input[type="checkbox"].on-off:checked + label:after {
    content: "\f068";
    color: #9a9a9a;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    -ms-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    animation: item_fadein .3s ease infinite;
    /*animation: show 1s linear 0s;*/
}

