@charset "UTF-8";

/*======================================================
サイト共通の設定
======================================================*/
.grecaptcha-badge { visibility: hidden; }
/*-----------------------------
フォントの設定
-----------------------------*/


html {
    font-size: 62.5%;
    /* 16px x 0.625 = 10px(=1rem) */
}

body {
    font-size: 1.6rem;
    /* 16px */
    font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    -webkit-text-size-adjust: 100%;
    font-feature-settings: "palt"; /*文字詰めの設定*/  
}

/* 特殊文字の設定（英語のゴシック体） */
:root{
    --engo: "Oswald", sans-serif;
}
.engo{
    font-family:var(--engo);
    font-optical-sizing: auto;
    font-style: normal;
    }


/* スマホの時は13pxで */
@media(max-width:480px) {
    body {
        font-size: 1.3rem;
    }
}

/*　文字詰めの設定 */
@media screen and (-webkit-min-device-pixel-ratio:0) {

    ::i-block-chrome,
    body {
        font-feature-settings: "pkna";
    }
}


/*------------------------------------------------
WordPress画像の配置
------------------------------------------------*/

/* 画像配置 左 */
img.alignleft {
    text-align: left;
}

/* 画像配置 中央 */
img.aligncenter {
    display: block;
    margin: 1px auto;
}

/* 画像配置 右 */
img.alignright {
    display: block;
    margin: 1px 1px 1px auto;
}


/*-----------------------------
共通の設定
-----------------------------*/

body {
    line-height: 1.75;
    color: #222;
}

li,
p {
    color: #222;
}

figcaption {
    font-size: 1.1rem;
}

.att {
    font-size: 1.2rem;
    line-height: 1.0em;
}

/*clearfix*/

.cf:after {
    content: "";
    display: block;
    clear: both;
}

dl dt,
dl dd {
    padding: 0;
    margin: 0;
}

img {
    max-width: 100%;
    height: auto;
    width
    /***/
    : auto;
    vertical-align: top;
}

.resize img {
    max-width: 100vw;
}

.tel-link a:link,
.tel-link a:hover,
.tel-link a:active {
    text-decoration: none;
}

section,
article {
    margin-bottom: 60px;
}

@media(max-width:767px){
    section,
    article {
        margin-bottom: 30px;
    }
}

.sentence {
    text-indent: 1em;
}

.ta th,
.ta td {
    border: 1px solid #999;
    padding: 8px;
}

table th {
    text-align: left;
    font-weight: normal;
}

address {
    font-style: normal;
}

.block{
    display: block;
}

.inline-block{
    display: inline-block;
}

/*-----　　禁則処理　　-----*/

p {
    line-break: normal;
}

p {
    line-break: strict;
}

.cont-gray {
    background: #888c98;
    padding: 20px 0 40px;
}

.cont-gray p,
.cont-gray li,
.cont-gray a:link,
.cont-gray a:visited,
.cont-gray dt,
.cont-gray dd {
    color: #fff;
}

.w800{
    max-width: 800px !important;
    margin: 0 auto;
}

.w1200 {
    max-width: 1200px !important;
    margin: 0 auto 60px;
}


@media(max-width:1023px) {
    .w1200{
        padding: 20px 2%;
    }
    .w800{
        padding:20px 2%;
    }
}


/*-----------------------------
表示に関するcss
-----------------------------*/


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

    /*スマホのときだけ表示しない設定*/
    .s-none {
        display: none !important;
    }

    /* スマホのときだけ左寄せ */
    .s-left {
        text-align: left;
    }

}

@media (min-width:769px) {

    /* パソコン以上で表示しない */
    .pc-none {
        display: none !important;
    }
}


/*-----------------------------
リンク
-----------------------------*/

a:hover img {
    opacity: 0.8;
    filter: alpha(opacity=50);
    -webkit-transition: 0.4s;
    transition: 0.4s;
}

a:link,
a:visited {
    color: #555;
}

a:hover {
    color: #999;
    text-decoration: underline dotted;
}

.no-deco{
    text-decoration:none !important;
}

.post {
    text-indent: 1em;
    margin-bottom: 0.5em;
}


/*　この辺りにマージンだけとかフロートだけとか　*/

.mb0 {
    margin-bottom: 0 !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}

.mb60 {
    margin-bottom: 60px !important;
}

.mb70 {
    margin-bottom: 70px !important;
}

.mb80 {
    margin-bottom: 80px !important;
}

.mt0 {
    margin-top: 0px !important;
}

.mt10 {
    margin-top: 10px !important;
}

.mr0 {
    margin-right: 0px !important;
}

.mr10 {
    margin-right: 10px !important;
}

.mr20 {
    margin-right: 20px !important;
}

.mr30 {
    margin-right: 30px !important;
}

.ml0 {
    margin-left: 0px !important;
}

.ml10 {
    margin-left: 10px !important;
}

.ml20 {
    margin-left: 20px !important;
}

.ml30 {
    margin-left: 30px !important;
}

.p0 {
    padding: 0 !important;
}
.p10{
    padding:10px !important;
}
.p20{
    padding: 20px !important;
}
.p30{
    padding: 30px !important;
}
.p40{
    padding: 40px !important;
}
.p50{
    padding: 50px !important;
}

.pt10{
    padding-top:10px !important;
}
.pt20{
    padding-top:20px !important;
}
.pt30{
    padding-top:30px !important;
}
.pt40{
    padding-top:40px !important;
}
.pt50{
    padding-top:50px !important;
}
.pb10{
    padding-bottom:10px !important;
}
.pb20{
    padding-bottom:20px !important;
}
.pb30{
    padding-bottom:30px !important;
}
.pb40{
    padding-bottom:40px !important;
}
.pb50{
    padding-bottom:50px !important;
}
.pr10{
    padding-right:10px !important;
}
.pr20{
    padding-right:20px !important;
}
.pr30{
    padding-right:30px !important;
}
.pr40{
    padding-right:40px !important;
}
.pr50{
    padding-right:50px !important;
}
.pl10{
    padding-left:10px !important;
}
.pl20{
    padding-left:20px !important;
}
.pl30{
    padding-left:30px !important;
}
.pl40{
    padding-left:40px !important;
}
.pl50{
    padding-left:50px !important;
}


.indent-1 {
    text-indent: 1em;
}

.indent-2 {
    text-indent: 2em;
}

.indent-3 {
    text-indent: 3em;
}


.lh12 {
    line-height: 1.2;
}

.lh15 {
    line-height: 1.5;
}

.alignleft {
    margin-right: 80px;
    margin-bottom: 20px;
    float: left;
}

.alignright {
    margin-left: 80px;
    margin-bottom: 20px;
    float: right;
}

.left {
    text-align: left !important;
}

.right {
    text-align: right !important;
}

.center {
    text-align: center !important;
}

@media(min-width:768px){
    .pc-center{
        text-align:center !important;
    }
}

/*　flexbox設定　*/


.flex-c {
    display: flex;
    justify-content: center;
}

.flex-bw {
    display: flex;
    justify-content: space-between;
}

.flex-ar {
    display: flex;
    justify-content: space-around;
}

.flex-st {
    display: flex;
    justify-content: flex-start;
}

.flex-en {
    display: flex;
    justify-content: flex-end;
}

.fo-1 {
    order: 1;
}

.fo-2 {
    order: 2;
}

.fo-3 {
    order: 3;
}

.fo-4 {
    order: 4;
}

.fo-5 {
    order: 5;
}

.fo-6 {
    order: 6;
}


/*　font　*/

.font10 {
    font-size: 10px;
    font-size: 1.0rem !important;
}

.font11 {
    font-size: 11px;
    font-size: 1.1rem !important;
}

.font12 {
    font-size: 12px;
    font-size: 1.2rem !important;
}

.font13 {
    font-size: 13px;
    font-size: 1.3rem !important;
}

.font14 {
    font-size: 14px;
    font-size: 1.4rem !important;
}

.font15 {
    font-size: 15px;
    font-size: 1.5rem !important;
}

.font16 {
    font-size: 16px;
    font-size: 1.6rem !important;
}

.font17 {
    font-size: 17px;
    font-size: 1.7rem !important;
}

.font18 {
    font-size: 18px;
    font-size: 1.8rem;
    font-size: clamp(1.6rem, 2.2vw, 1.8rem);
}

.font19 {
    font-size: 19px;
    font-size: 1.9rem;
    font-size: clamp(1.6rem, 2.0vw, 1.9rem);
}

.font20 {
    font-size: 20px;
    font-size: 2.0rem;
    font-size: clamp(1.6rem, 2.2vw, 2.0rem);
}

.font21 {
    font-size: 21px;
    font-size: 2.1rem;
    font-size: clamp(1.6rem, 2.4vw, 2.1rem);
}

.font22 {
    font-size: 22px;
    font-size: 2.2rem;
    font-size: clamp(1.7rem, 2.6vw, 2.2rem);
}

.font23 {
    font-size: 23px;
    font-size: 2.3rem;
    font-size: clamp(1.7rem, 2.8vw, 2.3rem);
}

.font24 {
    font-size: 24px;
    font-size: 2.4rem;
    font-size: clamp(1.8rem, 3vw, 2.4rem);
}

.font25 {
    font-size: 25px;
    font-size: 2.5rem !important;
    font-size: clamp(1.8rem, 3.2vw, 2.5rem);
}

.font26 {
    font-size: 26px;
    font-size: 2.6rem !important;
    font-size: clamp(1.8rem, 3.5vw, 2.6rem);
}

.font27 {
    font-size: 27px;
    font-size: 2.7rem !important;
    font-size: clamp(1.8rem, 3.6vw, 2.7rem);
}

.font28 {
    font-size: 28px;
    font-size: 2.8rem !important;
    font-size: clamp(1.8rem, 3.7vw, 2.8rem);
}

.font29 {
    font-size: 29px;
    font-size: 2.9rem;
    font-size: clamp(1.8rem, 3.8vw, 2.9rem);
}

.font30 {
    font-size: 30px;
    font-size: 3.0rem;
    font-size: clamp(1.8rem, 4vw, 3.0rem);
}


/*　よく使う色　*/

.white {
    color: #fff !important;
}

.gray {
    color: #888C97 !important;
}

.yellow {
    color: #f59700 !important;
}

.pink {
    color: #F672DA !important;
}

.opange {
    color: #FFB082 !important;
}

.green {
    color: #00a73c !important;
}

.redb {
    color: #ea0404;
    font-weight: bold;
}

.red {
    color: #df0043;
}

.blue {
    color: #3485f2;
}

.black{
    color:#222 !important;
}

.dark-blue{
    color:#003353 !important;
}