@charset "utf-8";

/*ノトサンズ日本語：400＆700*/
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap&subset=japanese');

/*ラート*/
@import url('https://fonts.googleapis.com/css?family=Roboto&display=swap');

/*
リセットCSS
----------------------------------------------------------------------*/
html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    font-weight: normal;
    font-size: 100%;
    vertical-align:baseline;
    /*ボックスサイズをボーダーボックスに*/
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/*ディスプレイをブロックに*/
article, header, footer, aside, figure, figcaption, nav, section { 
    display:block;
}

/*スマホ横向きのスタイルリセット*/
body {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

/*aタグのスタイルリセット*/
a {
    text-decoration: none;
    color: #333;
}

/*リストのスタイルリセット*/
ol, ul {
    list-style: none;
    list-style-type: none;
}

/*画像の下の余白をなくす*/
img {
    display: block;
}

/*
フォントファミリー
----------------------------------------------------------------------*/
/*本文用：欧文がロボット*/
body {
	font-family:'Roboto','Noto Sans JP', "游ゴシック体", "YuGothic","游ゴシック", "Yu Gothic","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3","ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN","メイリオ", "Meiryo",sans-serif;
}

/*電話番号用：欧文がクイックサンド*/
.font-tel {
    font-family: "Quicksand", "游ゴシック", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
}

/*ボタンや日付用：欧文がラート*/
.font-oubun {
    font-family: "Lato", "游ゴシック", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
}

/*
フォントのスタイル
----------------------------------------------------------------------*/
/*フォントのレンダリング*/
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/*字詰め・字間*/
body {
    -moz-font-feature-settings: "pkna";
    -webkit-font-feature-settings: "pkna";
    font-feature-settings: "pkna";
    letter-spacing: 0.02em;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
	::i-block-chrome, body {
		font-feature-settings: "pkna";
}
}

/*10px＝1remに*/
html{
    font-size: 62.5%;
}

/*デフォルトフォントを16pxに*/
body{
    font-size:1.6rem;
}

/*デフォルトフォントの装飾*/
body{
    line-height: 2;
    font-weight: 500;
    color: #333;
}

/*デフォルト見出しの装飾*/
h1,.h1,h2,.h2,h3,.h3,h4,.h4{
    line-height: 1.4;
}

/*デフォルト段落の装飾*/
p,.p{
    margin-bottom: 1.5em;
    text-align: justify;
    text-justify: inter-ideograph;
}

@media print,screen and (max-width: 375px)  {
    p,.p{
        font-size: 1.4rem;
    }
}


/*---------------------------------------------------------
フォントの装飾
---------------------------------------------------------*/
/*マーカー　<span class="marker">テキスト</span>*/
.marker{
    background: linear-gradient(transparent 50%, rgba(255, 108, 0, 0.17) 50%);
}

.marker2{
    background: linear-gradient(transparent 70%, rgba(255, 108, 0, 0.17) 50%);
}

/*---------------------------------------------------------
フォントサイズ
---------------------------------------------------------*/

/*1024pxで最大の固定値
---------------------------------------------------------*/
.f34,h1 {
    font-size: 3.4rem;
}

.f32 {
    font-size: 3.2rem;
}

.f28,h2 {
    font-size: 2.8rem;
}

.f24,h3 {
    font-size: 2.4rem;
}

.f20 {
    font-size: 2.0rem;
}

.f18 {
    font-size: 1.8rem;
}

/*415〜
---------------------------------------------------------*/
@media print, screen and (min-width: 415px) and (max-width: 1024px)  {
    .f34,h1 {
        font-size: calc(2.4rem + ((1vw - 0.415rem) * 1.642));
    }

    .f32 {
        font-size: calc(2.3rem + ((1vw - 0.415rem) * 1.477));
    }

    .f28,h2 {
        font-size: calc(2.2rem + ((1vw - 0.415rem) * 0.985));
    }

    .f24,h3 {
        font-size: calc(2.0rem + ((1vw - 0.415rem) * 0.656));
    }

    .f20 {
        font-size: calc(1.8rem + ((1vw - 0.415rem) * 0.328));
    }

    .f18 {
        font-size: calc(1.7rem + ((1vw - 0.415rem) * 0.144));
    }
}

/*414px
---------------------------------------------------------*/
@media print,screen and (max-width: 414px)  {
    .f34,h1 {
        font-size: 2.4rem;
    }

    .f32 {
        font-size: 2.3rem;
    }

    .f28,h2 {
        font-size: 2.2rem;
    }

    .f24,h3 {
        font-size: 2.0rem;
    }

    .f20 {
        font-size: 1.8rem;
    }

    .f18 {
        font-size: 1.7rem;
    }
}

/*321〜413px
---------------------------------------------------------*/
@media print, screen and (min-width: 321px) and (max-width: 413px)  {
    .f34,h1 {
        font-size: calc(2.2rem + ((1vw - 0.321rem) * 2.151));
    }

    .f32 {
        font-size: calc(2.1rem + ((1vw - 0.321rem) * 2.151));
    }

    .f28,h2 {
        font-size: calc(2.0rem + ((1vw - 0.321rem) * 2.151));
    }

    .f24,h3 {
        font-size: calc(1.9rem + ((1vw - 0.321rem) * 1.075));
    }
}

/*320pxで最小の固定値
---------------------------------------------------------*/
@media print,screen and (max-width: 320px)  {
    .f34,h1 {
        font-size: 2.2rem;
    }

    .f32 {
        font-size: 2.1rem;
    }

    .f28,h2 {
        font-size: 2.0rem;
    }

    .f24,h3 {
        font-size: 1.9rem;
    }

    .f20 {
        font-size: 1.8rem;
    }

    .f18 {
        font-size: 1.7rem;
    }
}


/*END フォントサイズ
---------------------------------------------------------*/

/*
ベースレイアウト
----------------------------------------------------------------------*/
body{
    min-width: 320px;
}

/*　Chromで読み込みんだ時のチラツキなくす　*/
.preload * {
	-webkit-transition: none !important;
	-moz-transition: none !important;
	-ms-transition: none !important;
	-o-transition: none !important;
	transition: none !important;
}

/*---------------------------------------------------------*/
/*---------------------------------------------------------*/
/*---------------------------------------------------------*/
/*---------------------------------------------------------*/
/*---------------------------------------------------------*/

/*フォント
---------------------------------------------------------*/
/*<span class="bold">テキスト</span>*/
.bold {
    font-weight: bold;
}

.center {
    text-align: center;
}

.left {
    text-align: left;
}

.right {
    text-align: right;
}

/*ディスプレイ
---------------------------------------------------------*/
.in-bloc{
    display: inline-block
}

/*ラインハイト
---------------------------------------------------------*/
.line-hei{
    line-height: 1
}

.line-hei2{
    line-height: 2
}

/*フォントカラー
---------------------------------------------------------*/
.c-fff{
    color: #fff;
}

.c-000{
    color: #000
}

/*背景色
---------------------------------------------------------*/
.bg-fff{
    color: #fff;
}

.bg-eee{
    color: #eee;
}

/*
パディングトップ
----------------------------------------------------------------------*/
.pt-0{
    padding-top: 0rem;
}
.pt-10{
    padding-top: 1rem;
}

.pt-20{
    padding-top: 2rem;
}

.pt-30{
    padding-top: 3rem;
}

.pt-40{
    padding-top: 4rem;
}

.pt-50{
    padding-top: 5rem;
}

.pt-60{
    padding-top: 6rem;
}

.pt-70{
    padding-top: 7rem;
}

.pt-80{
    padding-top: 8rem;
}

.pt-90{
    padding-top: 9rem;
}

.pt-100{
    padding-top: 10rem;
}

/*
パディングボトム
----------------------------------------------------------------------*/
.pb-10{
    padding-bottom: 1rem;
}

.pb-20{
    padding-bottom: 2rem;
}

.pb-30{
    padding-bottom: 3rem;
}

.pb-40{
    padding-bottom: 4rem;
}

.pb-50{
    padding-bottom: 5rem;
}

.pb-60{
    padding-bottom: 6rem;
}

.pb-70{
    padding-bottom: 7rem;
}

.pb-80{
    padding-bottom: 8rem;
}

.pb-90{
    padding-bottom: 9rem;
}

.pb-100{
    padding-bottom: 10rem;
}

/*
マージン左右
----------------------------------------------------------------------*/
.mlr-auto{
    margin-left: auto;
    margin-right: auto;
}
.mr-10{
    margin-right: 1rem;
}
.mr-20{
    margin-right: 2rem;
}
.mr-30{
    margin-right: 3rem;
}

/*
マージントップ
----------------------------------------------------------------------*/
.mt-0{
    margin-top: 0rem;
}
.mt-10{
    margin-top: 1rem;
}
.mt-20{
    margin-top: 2rem;
}
.mt-30{
    margin-top: 3rem;
}
.mt-40{
    margin-top: 4rem;
}
.mt-50{
    margin-top:5rem;
}
.mt-60{
    margin-top: 6rem;
}
.mt-70{
    margin-top:7rem;
}
.mt-80{
    margin-top: 8rem;
}
.mt-90{
    margin-top: 9rem;
}
.mt-100{
    margin-top: 10rem;
}


/*
マージンボトム
----------------------------------------------------------------------*/
.mb-0{
    margin-bottom: 0rem;
}
.mb-10{
    margin-bottom: 1rem;
}
.mb-20{
    margin-bottom: 2rem;
}
.mb-30{
    margin-bottom: 3rem;
}
.mb-40{
    margin-bottom: 4rem;
}
.mb-50{
    margin-bottom: 5rem;
}
.mb-60{
    margin-bottom: 6rem;
}
.mb-70{
    margin-bottom: 7rem;
}
.mb-80{
    margin-bottom: 8rem;
}
.mb-90{
    margin-bottom: 9rem;
}
.mb-100{
    margin-bottom: 10rem;
}

/*背景パターン*/
.bcg-pattern1 {
    background-image:
        linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%,transparent 75%, rgba(255, 255, 255, 0.2) 75%, rgba(255, 255, 255, 0.2)),
        linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%,transparent 75%, rgba(255, 255, 255, 0.2) 75%, rgba(255, 255, 255, 0.2));
    background-size: 20px 20px;
    background-position: 0 0, 10px 10px;
}

.bcg-pattern2 {
    background-color: #ffedda;
    background-image:
        radial-gradient(#ffc98e 25%, transparent 0),
        radial-gradient(#ffc98e 25%, transparent 0);
    background-size: 4px 4px;
    background-position: 0 0, 2px 2px;
}

.bcg-pattern2-1 {
/*    background-color: #ffe5c9;*/
    background-image:
        radial-gradient(rgba(255, 255, 255, 0.3) 25%, transparent 0),
        radial-gradient(rgba(255, 255, 255, 0.3) 25%, transparent 0);
    background-size: 8px 8px;
    background-position: 0 0, 4px 4px;
}

.bcg-color {
    background-color:#ffdebb;
    background:linear-gradient(#ffecd8,#ffdebb);
}

.bcg-pattern3 {
/*    background-color: #ffe5c9;*/
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.2) 75%),
        linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.2) 75%);
    background-size: 20px 20px;
    background-position: 0 0, 10px 10px;
}

.bcg-pattern4 {
/*    background-color: #ffae4f;*/
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 3px, rgba(255,255,255,.2) 3px, rgba(255,255,255,.2) 6px);
}

.bcg-pattern5 {
/*    background-color: #fff0e0;*/
    background-image: linear-gradient(#fffbf8 2px, transparent 0),
        linear-gradient(90deg, #fffbf8 2px, transparent 0),
        linear-gradient(#fffbf8 1px, transparent 0),
        linear-gradient(90deg, #fffbf8 1px, transparent 0);
    background-size: 20px 20px, 20px 20px, 10px 10px, 10px 10px;
}
.bcg-pattern6 {
/*    background-color: #fff0e0;*/
    background-image: linear-gradient(rgba(255, 255, 255, .4) 2px, transparent 2px),
        linear-gradient(90deg, rgba(255, 255, 255, .4) 2px, transparent 2px),
        linear-gradient(rgba(255, 255, 255, .4) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .4) 1px, transparent 1px);
    background-size: 100px 100px, 100px 100px, 20px 20px, 20px 20px;
    background-position: -2px -2px, -2px -2px, -1px -1px, -1px -1px;
}
.bcg-pattern7 {
    background-image: linear-gradient(#fffbf8 2px, transparent 0),
        linear-gradient(90deg, #fffbf8 2px, transparent 0),
        linear-gradient(#fffbf8 1px, transparent 0),
        linear-gradient(90deg, #fffbf8 1px, transparent 0);
    background-size: 20px 20px, 20px 20px, 10px 10px, 10px 10px;
}
.bcg-pattern8 {
/*    background-color: #ffe1bd;*/
    background-image: linear-gradient(rgba(255,255,255,.07) 50%, transparent 50%),
        linear-gradient(rgba(255,255,255,.13) 50%, transparent 50%),
        linear-gradient(transparent 50%, rgba(255,255,255,.17) 50%),
        linear-gradient(transparent 50%, rgba(255,255,255,.19) 50%);
    background-size: 13px 13px, 29px 29px, 37px 37px, 53px 53px;
}

.bcg-pattern9 {
/*    background-color:#ffdfbd;*/
    background-size: 20px 20px;
    background-image:
        linear-gradient(rgba(255,255,255,.25) 3%, rgba(255,255,255,.25) 3%, transparent 3%,
            transparent 97%, rgba(255,255,255,.25) 97%, rgba(255,255,255,.25) 100%),
        linear-gradient(90deg, rgba(255,255,255,.25) 3%, rgba(255,255,255,.25) 3%, transparent 3%,
            transparent 97%, rgba(255,255,255,.25) 97%, rgba(255,255,255,.25) 100%);
}

.bcg-pattern10 {
    background-color: #fff0e0;
    background-image:
        radial-gradient(#ffca91 1px, transparent 1px);
    background-size: 20px 20px;
}

.bcg-pattern11 {
    background-color:#fff6ed;
    background-image: linear-gradient(90deg, #fff0e0 50%, transparent 50%),
        linear-gradient(#fff0e0 50%, transparent 50%);
    background-size:10px 10px;
}

.bcg-pattern12 {
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.47) 0%, transparent 100%, transparent 100%, rgb(0, 0, 0) 100%);
    background-size: 10px 10px;
}

.bcg-pattern13 {
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.47) 0%, transparent 50%, transparent 100%, rgb(0, 0, 0) 100%);
    background-size: 40px 40px;
}

.bcg-pattern14 {
    background-image:
        radial-gradient(rgba(255, 255, 255, 0.2) 40%, transparent 40%),
        radial-gradient(rgba(255, 255, 255, 0.2) 40%, transparent 40%);
    background-position: 0 0, 40px 40px;
    background-size: 160px 160px;
}

.bcg-pattern15 {
    background-image:
        radial-gradient(rgba(255, 255, 255, 0.2) 40%, transparent 40%),
        radial-gradient(rgba(255, 255, 255, 0.2) 20%, transparent 20%);
    background-position: 0 0, 40px 40px;
    background-size: 80px 80px;
}

.bcg-pattern16 {
    background-image:url(../images/pattern1.png);
    background-size: 400px;
}

