@charset "utf-8";
/* 
---------------------------------------------------------- */
html {
    overflow-y: scroll
    }
body * {
    box-sizing: border-box
    }
/* body	 -------------------------------------------------------------- */
body {
    font-family: "ãã©ã®ãè§ã´ Pro W3", "Hiragino Kaku Gothic Pro", "ã¡ã¤ãªãª", Meiryo, Osaka, "ï¼­ï¼³ ï¼°ã´ã·ãã¯", "MS PGothic", sans-serif;
    width: 100%;
    -webkit-text-size-adjust: 100%;
    font-size: 14px;
    line-height: 1.5;
    color: #333
    }
/* fonts -------------------------------------------------------------- */
a {
    color: #333;
    text-decoration: underline;
    transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear
    }
a:hover, a:active {
    text-decoration: none
    }
.txtC {
    text-align: center !important
    }
.txtR {
    text-align: right !important
    }
.txtL {
    text-align: left !important
    }
.bold {
    font-weight: bold !important
    }
.normal {
    font-weight: normal !important
    }
.f11 {
    font-size: 72%
    }
/* base 14px -> 10px */
.f12 {
    font-size: 86%
    }
/* base 14px -> 12px */
.f13 {
    font-size: 93%
    }
/* base 14px -> 13px */
.f16 {
    font-size: 115%
    }
/* base 14px -> 16px */
.f18 {
    font-size: 129%
    }
/* base 14px -> 18px */
.f20 {
    font-size: 143%
    }
/* base 14px -> 20px */
.f22 {
    font-size: 157%
    }
/* base 14px -> 22px */
.f24 {
    font-size: 171%
    }
/* base 14px -> 24px */
.f26 {
    font-size: 185%
    }
/* base 14px -> 26px */
.f28 {
    font-size: 200%
    }
/* base 14px -> 28px */
sup {
    font-size: 78%;
    vertical-align: top
    }
sub {
    font-size: 78%;
    vertical-align: baseline
    }
/*-- color -- */
.ylw {
    color: #F5BE00
    }
.red {
    color: #DF6747
    }
/*-- other -- */
p {
    letter-spacing: 0.03em
    }
.pcNone {
    display: none
    }
.leftWrap {
    float: left
    }
.rightWrap {
    float: right
    }
@media screen and (max-width: 767px) {
    .leftWrap, .rightWrap {
        float: none
        }
    .spNone {
        display: none
        }
    .pcNone {
        display: inline-block
        }
    .spTxtC {
        text-align: center
        }
    }
/* inline align ------------------------------------------------------------ */
.taL {
    text-align: left !important
    }
.taC {
    text-align: center !important
    }
.taR {
    text-align: right !important
    }
.vaT {
    vertical-align: top !important
    }
.vaM {
    vertical-align: middle !important
    }
.vaB {
    vertical-align: bottom !important
    }
/* float ------------------------------------------------------------------ */
.flL {
    display: inline;
    float: left
    }
.flR {
    display: inline;
    float: right
    }
.flImgL {
    display: inline;
    float: left;
    margin-right: 20px
    }
.flImgR {
    display: inline;
    float: right;
    margin-left: 20px
    }
/* Tools ------------------------------------------------------------------- */
.clear {
    clear: both
    }
.block {
    display: block
    }
.hide {
    display: none
    }
.bgN {
    background: none !important
    }
.tdU {
    text-decoration: underline
    }
.tdN {
    text-decoration: none
    }
/* Img ------------------------------------------------------------------- */
img {
    max-width: 100%;
    height: auto;
    border: 0
    }
.img-rp {
    display: block;
    width: 100%;
    height: auto
    }
/* img hover */
a:hover img {
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
    transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear
    }
/* wrapper
---------------------------------------------------------- */
/* header
---------------------------------------------------------- */
#header {
    background: #FFF
    }
#header .innerBasic {
    padding: 25px 0 0 0
    }
#siteId {
    float: left
    }
#header_right {
    float: right;
    width: 640px
    }
#logo_right {
    float: right
    }
#header_right .btnType01 {
    float: right;
    margin-right: 20px
    }
#header_right .btnType01 a {
    width: 230px;
    height: 60px;
    border-radius: 6px;
    padding: 18px
    }
#header_right .btnType01 a:before {
    display: none
    }
#changeList {
    float: right;
    margin-right: 20px
    }
@media screen and (max-width: 767px) {
    #header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 67px;
        z-index: 99
        }
    #header .innerBasic {
        padding: 0 10px;
        margin: 10px 0
        }
    #siteId {
        width: 200px
        }
    #header_right {
        display: none
        }
    }
/* gNav
---------------------------------------------------------- */
#gNav {
    width: 100%;
    margin: 15px 0 15px 0
    }
#gNav ul {
    display: table;
    table-layout: fixed;
    text-align: center;
    width: 100%
    }
#gNav li {
    display: table-cell
    }
#gNav li span, #close #spNavBtn, #gNav #memberMenu {
    display: none
    }
#gNav li.menuAddSp {
    display: none
    }
@media screen and (max-width: 767px) {
    #gNav {
        position: fixed;
        top: 63px;
        right: -100%;
        z-index: 99;
        padding: 0;
        width: 100%;
        margin-top: 0;
        border-top: 0;
        background: rgba(0, 0, 0, 0.7);
        opacity: 0;
        transition: all 0.1s linear;
        -webkit-transition: all 0.1s linear
        }
    #gNav.active {
        right: 0;
        opacity: 1;
        height: 100%
        }
    #gNav ul {
        text-align: left;
        margin-top: 0
        }
    #gNav li {
        display: block;
        border-bottom: solid 1px #ccc
        }
    #gNav li.menuAddSp {
        display: block
        }
    #gNav li a {
        display: block;
        position: relative;
        padding: 10px;
        color: #333;
        text-decoration: none;
        background: #FFF
        }
    #gNav li a:after {
        display: block;
        position: absolute;
        top: 50%;
        right: 20px;
        margin-top: -12px;
        color: #6ab996;
        font-family: FontAwesome;
        font-weight: 700;
        font-size: 14px;
        content: " "
        }
    #gNav #normalMenu li a {
        background: #f0f8f4
        }
    #gNav #normalMenu li.kaiin a {
        background: #f5be00;
        color: #FFF
        }
    #gNav #normalMenu li.top a {
        background: #6ab996;
        color: #FFF
        }
    #gNav li.kaiin a:after, #gNav li.top a:after {
        color: #fff
        }
    #gNav #memberMenu#memberMenu {
        display: block
        }
    #gNav li {
        border-bottom: 1px solid #d6d5ce
        }
    #gNav li.kaiin, #gNav li.top, #gNav li:last-child {
        border-bottom: 0
        }
    #gNav #memberMenu li a {
        background: #fefcf2
        }
    #gNav #memberMenu li:first-child a {
        background: #f5be00;
        color: #FFF
        }
    #gNav #memberMenu li a:after {
        color: #f5be00
        }
    #gNav #memberMenu li:first-child a:after {
        display: none
        }
    #gNav li img {
        display: none
        }
    #gNav li span {
        display: block
        }
    #spNavBtn {
        position: absolute;
        top: 6px;
        right: 10px;
        width: 40px;
        height: 40px;
        background-color: #6ab996;
        display: inline-block;
        cursor: pointer
        }
    #spNavBtn p {
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 22px;
        height: 19px;
        margin: auto
        }
    #spNavBtn span {
        display: block;
        width: 100%;
        height: 3px;
        margin-bottom: 5px;
        background: #FFF;
        transition: all 0.4s
        }
    #spNavBtn span:nth-of-type(3) {
        margin: 0
        }
    #spNavBtn span:nth-of-type(2)::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 3px;
        background-color: #fff;
        transition: all 0.4s
        }
    #spNavBtn.active span:nth-of-type(1) {
        -webkit-transform: translatey(20px) scale(0);
        transform: translatey(20px) scale(0)
        }
    #spNavBtn.active span:nth-of-type(2) {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg)
        }
    #spNavBtn.active span:nth-of-type(2)::after {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg)
        }
    #spNavBtn.active span:nth-of-type(3) {
        -webkit-transform: translatey(-20px) scale(0);
        transform: translatey(-20px) scale(0)
        }
    }
@media screen and (min-width: 767px) {
    #gNav {
        display: block !important
        }
    }
/* colorChange
---------------------------------------------------------- */
.colorChangeWrap {
    border-bottom: 1px dotted #d2d2d2;
    padding-bottom: 5px;
    margin-bottom: 5px
    }
.colorChangeWrap dt {
    float: left;
    margin-right: 20px
    }
.colorChangeWrap dd {
    float: right
    }
.colorChangeWrap #colorChange {
    display: table;
    overflow: hidden;
    border-radius: 3px
    }
.colorChangeWrap #colorChange li {
    display: table-cell;
    vertical-align: middle;
    padding: 0 2px
    }
#colorChange li span {
    display: block;
    display: table-cell;
    width: 40px;
    height: 24px;
    vertical-align: middle;
    overflow: hidden;
    color: #333;
    font-size: 13px;
    text-align: center;
    cursor: pointer;
    border-radius: 4px
    }
#colorChange #tmp_color_default span {
    background: #6ab996;
    color: #FFF
    }
#colorChange #tmp_darkblue span {
    color: #ffea00;
    background: #577bf4
    }
#colorChange #tmp_yellow span {
    color: #515352;
    background: #ffea00
    }
#colorChange #tmp_black span {
    color: #ffea00;
    background: #515352
    }
/* fontSizeChange
---------------------------------------------------------- */
.fontSizeChangeWrap dt {
    float: left;
    margin-right: 20px
    }
.fontSizeChangeWrap dd {
    float: right
    }
.fontSizeChangeWrap #fontSizeChange {
    display: table;
    overflow: hidden;
    border-radius: 3px
    }
.fontSizeChangeWrap #fontSizeChange li {
    display: table-cell;
    vertical-align: middle;
    padding: 0 2px
    }
#fontSizeChange li span {
    display: block;
    display: table-cell;
    width: 40px;
    height: 24px;
    vertical-align: middle;
    overflow: hidden;
    color: #333;
    font-size: 13px;
    text-align: center;
    cursor: pointer;
    border: 1px solid #ddd;
    border-radius: 4px
    }
#fontSizeChange li span.active {
    color: #fff;
    background-color: #515352;
    border: none
    }
/* topicPath
---------------------------------------------------------- */
#topicPathWrap {
    background: #fcf9ee;
    padding: 10px 0;
    margin-bottom: 40px;
    min-width: 1080px
    }
#topicPath {
    width: 1080px;
    margin: auto
    }
#topicPath li {
    display: inline;
    padding: 0 0 0 4px;
    font-size: 12px
    }
#topicPath li:after {
    margin-left: 6px;
    color: #a6a198;
    content: ">"
    }
#topicPath li#topPage {
    padding-left: 0
    }
#topicPath li:last-child:after {
    content: none
    }
@media screen and (max-width: 767px) {
    #topicPathWrap {
        margin-bottom: 20px;
        min-width: initial
        }
    #topicPath {
        width: 100%
        }
    }
/* contents
---------------------------------------------------------- */
@media screen and (max-width: 767px) {
    #contents {
        padding-top: 67px
        }
    }
/* layout
---------------------------------------------------------- */
.innerBasic {
    position: relative;
    margin: auto;
    width: 1080px
    }
.sec {
    margin-bottom: 60px
    }
@media screen and (max-width: 767px) {
    .innerBasic {
        width: 100%;
        padding: 0 10px
        }
    .sec {
        margin-bottom: 40px
        }
    }
/* ttl
---------------------------------------------------------- */
h1, h2, h3, h4 {
    letter-spacing: 0.03em
    }
.ttlType01 {
    font-size: 143%;
    border-left: 4px solid #6ab996;
    padding-left: 10px;
    margin-bottom: 15px
    }
.ttlType02 {
    font-size: 129%;
    margin-bottom: 15px
    }
.ttlType02:before {
    content: " ";
    font-family: FontAwesome;
    font-size: 100%;
    font-weight: bold;
    padding-right: 7px;
    color: #6ab996
    }
.ttlType03 {
    positon: relative;
    font-size: 171%;
    padding-bottom: 25px;
    margin-bottom: 50px;
    border-bottom: 4px solid #d2eadf
    }
.ttlType03:before {
    content: "";
    position: absolute;
    top: -3px;
    left: 0;
    right: auto;
    bottom: auto;
    background: url(../img/common/ico_pagettl.png) no-repeat;
    width: 32px;
    height: 38px;
    margin: auto
    }
.ttlType03 span {
    position: relative;
    display: inline-block;
    padding-left: 50px
    }
.ttlType03 span:after {
    content: "";
    position: absolute;
    top: auto;
    left: 0;
    right: auto;
    bottom: -29px;
    height: 4px;
    background: #6ab996;
    width: 105%
    }
.ttlType04 {
    font-size: 143%;
    border-bottom: 1px solid #6ab996;
    padding-bottom: 10px;
    margin-bottom: 15px
    }
@media screen and (max-width: 767px) {
    .ttlType01 {
        font-size: 121%
        }
    .ttlType02 {
        font-size: 114%;
        margin-bottom: 10px
        }
    .ttlType03 {
        font-size: 143%;
        padding-bottom: 10px;
        margin: 0 0 30px 0
        }
    .ttlType03:before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 10px;
        margin: auto;
        width: 24px;
        height: 29px;
        background-size: 100%
        }
    .ttlType03 span {
        padding-left: 34px
        }
    .ttlType03 span:after {
        content: "";
        position: absolute;
        top: auto;
        left: 0;
        right: auto;
        bottom: -14px;
        width: 105%
        }
    .ttlType04 {
        font-size: 121%;
        border-bottom: 1px solid #6ab996;
        padding-bottom: 5px;
        margin-bottom: 10px
        }
    }
/* btn
---------------------------------------------------------- */
.btnType01 a {
    display: inline-block;
    text-align: center;
    font-size: 108%;
    padding: 14px;
    text-decoration: none
    }
.btnType01 a:before {
    content: " ";
    font-family: FontAwesome;
    padding-right: 7px;
    font-size: 100%;
    font-weight: normal
    }
/*type01*/
.btnType01 a {
    background: #f5be00;
    color: #FFF
    }
.btnType01 a:before {
    color: #FFF
    }
.btnType01 a:hover {
    text-decoration: none;
    opacity: 0.7
    }
.btnType01 a:hover:before {
    opacity: 0.7
    }
@media screen and (max-width: 767px) {
    .btnType01 a {
        width: 100%
        }
    }
/* btnWrap01 */
.btnWrap01 {
    margin-top: 30px
    }
.btn03 a {
    display: block;
    text-align: center;
    font-size: 108%;
    padding: 14px;
    text-decoration: none;
    border-radius: 10px;
    background: #6ab2b9;
    color: #fff;
    width: 10em
    }
.btn03 a:hover {
    opacity: 0.7
    }
/* pageTop
---------------------------------------------------------- */
#pagetop {
    position: fixed;
    right: 10%;
    bottom: 10%;
    width: 50px;
    height: 50px;
    left: 50%;
    margin-left: 550px;
    z-index: 99
    }
@media screen and (max-width: 767px) {
    #pagetop {
        right: 3%;
        bottom: 3%;
        width: 40px;
        height: 40px;
        left: auto;
        margin-left: 0;
        z-index: 99
        }
    }
/* footer
---------------------------------------------------------- */
#footer {
    width: 100%;
    min-width: 1080px;
    background: #f6f6f6;
    color: #626262;
    padding: 45px 0;
    margin-top: 30px
    }
.footNav {
    margin-bottom: 20px
    }
.footNav ul li {
    float: left
    }
.footNav ul li a {
    color: #626262
    }
.footNav ul li:after {
    content: "|";
    margin: 0 18px
    }
ul.contact li {
    float: left;
    margin-right: 30px
    }
ul.contact li a {
    color: #626262
    }
#copyright {
    color: #FFF;
    text-align: center;
    padding: 15px;
    background: #6ab996;
    width: 100%;
    min-width: 1080px
    }
@media screen and (max-width: 767px) {
    #footer {
        padding: 30px 0;
        min-width: initial
        }
    .footNav {
        display: none
        }
    ul.contact li {
        float: none;
        margin-right: 0
        }
    #copyright {
        min-width: initial
        }
    }
/* table
---------------------------------------------------------- */
.type01 {
    width: 100%;
    border-collapse: separate
    }
.type01 th, .type01 td {
    border-bottom: 1px dotted #d2d2d2;
    padding: 15px
    }
.type01 th {
    color: #6ab996;
    font-size: 114%;
    width: 25%;
    text-align: left;
    vertical-align: top
    }
.type01 td {
    width: 75%
    }
@media screen and (max-width: 767px) {
    .type01 th, .type01 td {
        padding: 10px
        }
    .table_basic01 {
        width: 100%
        }
    .table_basic01, .table_basic01 thead, .table_basic01 tbody, .table_basic01 tr, .table_basic01 th, .table_basic01 td {
        width: 100%;
        display: block
        }
    .table_basic01 th, .table_basic01 td {
        border-top: none;
        border-left: none
        }
    }
/* ãã©ã¼ã é¨å
---------------------------------------------------------- */
.check_layout input {
    display: none
    }
.check_layout label {
    display: inline-block;
    position: relative;
    padding-left: 25px
    }
.check_layout label:before, .check_layout label:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 15px;
    height: 15px
    }
.check_layout label:before {
    background: #fafafa;
    border: 1px solid #666
    }
.check_layout input:checked + label:after {
    left: 1px;
    top: -1px;
    content: "";
    color: #004ea2;
    height: 15px;
    margin: auto;
    font-size: 108%;
    font-family: FontAwesome
    }
.error-message {
    color: #f00;
    margin-top: 5px
    }
/* width ------------------------------------------------------------------- */
.w700 {
    width: 700px
    }
@media screen and (max-width: 767px) {
    .w700 {
        width: 100%
        }
    }
/* clearfix ------------------------------------------------------------------- */
.cf:after {
    content: ".";
    display: block;
    height: 0;
    font-size: 0;
    clear: both;
    visibility: hidden
    }
.cf {
    display: inline-block
    }
/* Hides from IE Mac */
* html .cf {
    height: 1%
    }
.cf {
    display: block
    }
/* margin ------------------------------------------------------------------ */
.mAuto {
    margin: auto !important
    }
.mt00 {
    margin-top: 0 !important
    }
.mt05 {
    margin-top: 5px !important
    }
.mt10 {
    margin-top: 10px !important
    }
.mt12 {
    margin-top: 12px !important
    }
.mt15 {
    margin-top: 15px !important
    }
.mt20 {
    margin-top: 20px !important
    }
.mt25 {
    margin-top: 25px !important
    }
.mt30 {
    margin-top: 30px !important
    }
.mt35 {
    margin-top: 35px !important
    }
.mt40 {
    margin-top: 40px !important
    }
.mt45 {
    margin-top: 45px !important
    }
.mt50 {
    margin-top: 50px !important
    }
.mr00 {
    margin-right: 0 !important
    }
.mr05 {
    margin-right: 5px !important
    }
.mr10 {
    margin-right: 10px !important
    }
.mr12 {
    margin-right: 12px !important
    }
.mr15 {
    margin-right: 15px !important
    }
.mr20 {
    margin-right: 20px !important
    }
.mr25 {
    margin-right: 25px !important
    }
.mr30 {
    margin-right: 30px !important
    }
.mr35 {
    margin-right: 35px !important
    }
.mr40 {
    margin-right: 40px !important
    }
.mr45 {
    margin-right: 45px !important
    }
.mr50 {
    margin-right: 50px !important
    }
.mb00 {
    margin-bottom: 0 !important
    }
.mb05 {
    margin-bottom: 5px !important
    }
.mb10 {
    margin-bottom: 10px !important
    }
.mb12 {
    margin-bottom: 12px !important
    }
.mb15 {
    margin-bottom: 15px !important
    }
.mb20 {
    margin-bottom: 20px !important
    }
.mb25 {
    margin-bottom: 25px !important
    }
.mb30 {
    margin-bottom: 30px !important
    }
.mb35 {
    margin-bottom: 35px !important
    }
.mb40 {
    margin-bottom: 40px !important
    }
.mb45 {
    margin-bottom: 45px !important
    }
.mb50 {
    margin-bottom: 50px !important
    }
.ml00 {
    margin-left: 0 !important
    }
.ml05 {
    margin-left: 5px !important
    }
.ml10 {
    margin-left: 10px !important
    }
.ml12 {
    margin-left: 12px !important
    }
.ml15 {
    margin-left: 15px !important
    }
.ml20 {
    margin-left: 20px !important
    }
.ml25 {
    margin-left: 25px !important
    }
.ml30 {
    margin-left: 30px !important
    }
.ml35 {
    margin-left: 35px !important
    }
.ml40 {
    margin-left: 40px !important
    }
.ml45 {
    margin-left: 45px !important
    }
.ml50 {
    margin-left: 50px !important
    }
/* padding  ---------------------------------------------------------------- */
.pt00 {
    padding-top: 0 !important
    }
.pt05 {
    padding-top: 5px !important
    }
.pt10 {
    padding-top: 10px !important
    }
.pt12 {
    padding-top: 12px !important
    }
.pt15 {
    padding-top: 15px !important
    }
.pt20 {
    padding-top: 20px !important
    }
.pt25 {
    padding-top: 25px !important
    }
.pt30 {
    padding-top: 30px !important
    }
.pt35 {
    padding-top: 35px !important
    }
.pt40 {
    padding-top: 40px !important
    }
.pt45 {
    padding-top: 45px !important
    }
.pt50 {
    padding-top: 50px !important
    }
.pt60 {
    padding-top: 60px !important
    }
.pt65 {
    padding-top: 65px !important
    }
.pr00 {
    padding-right: 0 !important
    }
.pr05 {
    padding-right: 5px !important
    }
.pr10 {
    padding-right: 10px !important
    }
.pr12 {
    padding-right: 12px !important
    }
.pr15 {
    padding-right: 15px !important
    }
.pr20 {
    padding-right: 20px !important
    }
.pr25 {
    padding-right: 25px !important
    }
.pr30 {
    padding-right: 30px !important
    }
.pr35 {
    padding-right: 35px !important
    }
.pr40 {
    padding-right: 40px !important
    }
.pr45 {
    padding-right: 45px !important
    }
.pr50 {
    padding-right: 50px !important
    }
.pb00 {
    padding-bottom: 0 !important
    }
.pb05 {
    padding-bottom: 5px !important
    }
.pb10 {
    padding-bottom: 10px !important
    }
.pb12 {
    padding-bottom: 12px !important
    }
.pb15 {
    padding-bottom: 15px !important
    }
.pb20 {
    padding-bottom: 20px !important
    }
.pb25 {
    padding-bottom: 25px !important
    }
.pb30 {
    padding-bottom: 30px !important
    }
.pb35 {
    padding-bottom: 35px !important
    }
.pb40 {
    padding-bottom: 40px !important
    }
.pb45 {
    padding-bottom: 45px !important
    }
.pb50 {
    padding-bottom: 50px !important
    }
.pb60 {
    padding-bottom: 60px !important
    }
.pl00 {
    padding-left: 0 !important
    }
.pl03 {
    padding-left: 3px !important
    }
.pl05 {
    padding-left: 5px !important
    }
.pl10 {
    padding-left: 10px !important
    }
.pl12 {
    padding-left: 12px !important
    }
.pl15 {
    padding-left: 15px !important
    }
.pl20 {
    padding-left: 20px !important
    }
.pl25 {
    padding-left: 25px !important
    }
.pl30 {
    padding-left: 30px !important
    }
.pl35 {
    padding-left: 35px !important
    }
.pl40 {
    padding-left: 40px !important
    }
.pl45 {
    padding-left: 45px !important
    }
.pl50 {
    padding-left: 50px !important
    }