@charset "utf-8";
/********************************/
/*レイアウト用ＣＳＳ（基本設定）   */
/********************************/

/*背景、文字色、フォントなど   */
body, html{
    font-family: 'Yu Gothic','Hiragino Kaku Gothic ProN', sans-serif;
    height: 100%;
    margin: 0 auto;
    background-color:#f5f1e5;
    color:#000;
}


/**********************************/
/*トップバナー 					   */
/**********************************/

/*Flexbox-top（両端にする）*/
.flexbox-top{
    display:flex;
    justify-content:space-around;
    background-color:#fff;
}

/*バナー部分   */
.top01{
    height:60px;
    width:100vw;
    padding:10px 0 0 2rem;
}
.top02{ /*アイコンを並べる   */
    display:flex;
    justify-content: space-evenly;
    align-items:center;
}

/**********************************/
/*トップ画像   					   */
/**********************************/

/*Flexbox-top（両端にする）*/
.flexbox-top-img{
    display:flex;
    justify-content:center;
}

/*Flexbox-btn（並べる）*/
.flexbox-top-btn{
    display:flex;
    justify-content: space-evenly;
    align-items:center;
}

/*index左半分（白）   */
.index-left{
    background-color:#fff;
    height:60vh;
    width:50vw;
    padding:5rem 1rem;
    text-align:center;
}
/*index左半分（白・文字入れ）   */
.index-left-text{
    background-color:#fff;
    height:80vh;
    width:45vw;
    padding:1rem 1rem;
    text-align:center;
}
/*index右半分（画像）   */
.index-right{
    height:60vh;
    width:50vw;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url(../img/img.jpg);
}

@media screen and (max-width: 550px) { /*スマホ向け*/
    .index-left{
        height:60vh;
        width:95vw;
    }

    .index-right{
        height:20vh;
        width:95vw;
    }
}

/**********************************/
/*検索時   					   */
/**********************************/
/*Flexbox-select（中央にする）*/
.flexbox-select{
    display:flex;
    justify-content:center;
    height:80vh;
    width:100vw;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url(../img/001_top_right.jpg);
}

/*flexbox-select-white（白地高さ80vh・検索用）*/
.flexbox-select-white{
    width:80vw;
    height:80vh;
    background-color:#fff;

}

@media screen and (max-width: 770px) { /*【ＰＣ用】ウィンドウ幅が最大770pxの場合に適用。ipad向け*/
    .flexbox-select{
        height:70vh;
        width:100vw;
    }

    .flexbox-select-white {
        width:90vw;
        height:70vh;
    }
}

/**********************************/
/*選択時   					   */
/**********************************/

/*select-top-flexbox（並べる）*/
.select-top-flexbox{
    display:flex;
    justify-content: space-evenly;
    align-items:end;
    border-top:1px solid #000;
    border-bottom:1px solid #000;
    background-color:#fff;
    padding:0.5rem 0rem 0.2rem 0rem;
}

/* セレクト画面上部固定 */
.select-top-fixed{
    position: fixed;
    position: -webkit-fixed;
    top: 0;
    width:100%;
    z-index: 9;
}

/* セレクト全体表示 */
.select-all{
    max-width:770px;
    margin:0 auto;
    width:100%;
}

/* セレクト通常表示 */
.select-box{
    padding:0rem 1rem;
    width:100%;
}

/* セレクトflex（背景色なし） */
.select-flex{
    display:flex;
    justify-content: center;
    width:100%;
}

/* セレクトflex（均等表示・背景色なし） */
.select-flex-img{
    display:flex;
    justify-content: space-evenly;
    width:100%;
    flex-wrap: wrap;
}

/* セレクトflex（背景色：白） */
.select-flex-w{
    display:flex;
    justify-content: center;
    background-color:#fff;
    width:95%;
    margin:1rem;
}

/* セレクトflex内部（60％・左） */
.select-flex-cl60{
    width:60%;
    padding:1rem 1rem 1rem 0.5rem;
    margin:0 auto;
}

/* セレクトflex内部（40％・右） */
.select-flex-cr40{
    width:40%;
    padding:1rem 0.5rem 1rem 1rem;
    margin:0 auto;
    text-align:center;
}

/* セレクトflex内部（50％・右） */
.select-flex-cr50{
    width:50%;
    padding:1rem 0.5rem 1rem 1rem;
    margin:0 auto;
}

/* セレクトflex内部（50％・左） */
.select-flex-cl50{
    width:50%;
    padding:1rem 1rem 1rem 0.5rem;
    margin:0 auto;
}

/* セレクトimg（白枠イメージ） */
.select-img-w{
    width:100%;
    max-width:200px;
    background-color:#fff;
    padding:0.5rem;
    margin:0 auto 0.5rem auto;
}

/* セレクトimg */
.select-img{
    width:100%;
    margin:0 auto;
}

/* セレクトimg33% */
.select-img-33{
    width:33%;
    height:100%;
    margin:0 auto;
}

/* セレクトtext（白枠イメージ下部のテキスト） */
.select-text{
    width:100%;
    max-width:200px;
    padding:0.5rem;
    margin:0 auto 0.5rem auto;
}

/**********************************/
/*文字         					   */
/**********************************/

/*index文字（小）   */
.h1-s{
    font-size:1rem;
    font-weight:normal;
}
/*index文字（極小）   */
.h1-ss{
    font-size:0.9rem;
    font-weight:normal;
}
/*index文字（極小２）   */
.h1-sss{
    font-size:0.8rem;
    font-weight:normal;
}
/*index文字（h1指定）   */
h1 {
    font-size:1.8rem;
    font-weight:normal;
}
/*index文字（大）   */
.h1-b{
    font-size:1.8rem;
    font-weight:normal;
}
/*index文字（赤）   */
.h1-red {
    font-weight:normal;
    color:#dd2932;
}

/*index文字（緑）   */
.h1-green {
    font-weight:normal;
    color:#32CC57;
}

/*選択時の文字（h4指定）   */
h3.h3-select {
    margin-bottom:0rem;
}

/*セレクトタイトル用（h3指定）   */
h3.h3-title {
    border-bottom: 1px solid #000;
    text-align:center;

}

/**********************************/
/*フッター   					   */
/**********************************/

footer{
    margin:2rem;
    text-align:center;
}

/**********************************/
/*ボタン     					   */
/**********************************/

/*ボタン緑*/
.btn-green {
    min-width:160px;
    max-width:160px;
    padding: 0.5em;
    font-size:1.2rem;
    text-decoration: none;
    color: #fff;
    background-color:#32CC57;
    border: none;
    border-radius: 5px;
    margin:1rem auto;
    text-align:center;
}

.btn-green:hover {
border: solid 1px #32CC57;
background-color:#fff;
border-radius: 5px;
color: #32CC57;
}

/*ボタン緑　アウトライン*/
.btn-green-out {
    min-width:200px;
    max-width:200px;
    padding: 0.5em;
    font-size:1.2rem;
    text-decoration: none;
    border: solid 1px #32CC57;
    background-color:#fff;
    border-radius: 5px;
    color: #32CC57;
    margin:1rem auto;
    text-align:center;
}

.btn-green-out:hover {
    color: #fff;
    background-color:#32CC57;
    border: none;
    border-radius: 5px;
}

/*ボタン緑（小）*/
.btn-green-s {
    min-width:50px;
    max-width:50px;
    padding: 0.5em;
    font-size:1rem;
    text-decoration: none;
    color: #fff;
    background-color:#32CC57;
    border: none;
    border-radius: 5px;
    margin:1rem auto;
    text-align:center;
}

.btn-green-s:hover {
border: solid 1px #32CC57;
background-color:#fff;
border-radius: 5px;
color: #32CC57;
}

/*ボタングレー（ログアウト用）*/
.btn-logout {
    min-width:100px;
    max-width:100px;
    padding: 0.5em;
    font-size:1rem;
    text-decoration: none;
    color: #fff;
    background-color:#e0dcd0;
    border: none;
    border-radius: 5px;
    margin:1rem auto;
    text-align:center;
}

.btn-logout:hover {
border: solid 1px #e0dcd0;
background-color:#fff;
border-radius: 5px;
color: #b3aea2;
}

/*ボタン緑（小・検索用）*/
.btn-green-s-search {
    min-width:50px;
    max-width:50px;
    padding: 0.5em;
    font-size:1rem;
    text-decoration: none;
    color: #fff;
    background-color:#32CC57;
    border: none;
    border-radius: 5px;
    margin:0 0.5rem;
    text-align:center;
}

.btn-green-s-search:hover {
border: solid 1px #32CC57;
background-color:#fff;
border-radius: 5px;
color: #32CC57;
}

/*ボタン緑（中・検索用）*/
.btn-green-m-search {
    min-width:50px;
    max-width:100px;
    padding: 0.5em;
    font-size:1rem;
    text-decoration: none;
    color: #fff;
    background-color:#32CC57;
    border: none;
    border-radius: 5px;
    margin:0 0.5rem;
    text-align:center;
}

.btn-green-m-search:hover {
border: solid 1px #32CC57;
background-color:#fff;
border-radius: 5px;
color: #32CC57;
}

/*ボタン緑（中・アイコン用）*/
.btn-green-m-icon {
    min-width:50px;
    max-width:100px;
    font-size:1rem;
    text-decoration: none;
    color: #fff;
    background-color:#32CC57;
    border: none;
    border-radius: 5px;
    margin:0 0.5rem;
    text-align:center;
}

.btn-green-m-icon:hover {
border: solid 1px #32CC57;
background-color:#fff;
border-radius: 5px;
color: #32CC57;
}

/*ボタン緑（中・アウトライン）*/
.btn-green-m-out {
    min-width:50px;
    max-width:100px;
    padding: 0.5em;
    font-size:1rem;
    border: solid 1px #32CC57;
    background-color:#fff;
    color: #32CC57;
    border-radius: 5px;
    margin:0 0.5rem;
    text-align:center;
}

.btn-green-m-out:hover {
text-decoration: none;
color: #fff;
background-color:#32CC57;
border: none;
}

/*ボタン赤（中・アウトライン）*/
.btn-red-m-out {
    min-width:50px;
    max-width:100px;
    padding: 0.5em;
    font-size:1rem;
    border: solid 1px #dd2932;
    background-color:#fff;
    color: #dd2932;
    border-radius: 5px;
    margin:0 0.5rem;
    text-align:center;
}

.btn-red-m-out:hover {
text-decoration: none;
color: #fff;
background-color:#dd2932;
border: none;
}

/*ボタングレー（選択用）*/
.btn-select {
    width:100%;
    padding: 0.5em;
    font-size:1.5rem;
    text-decoration: none;
    color: #000;
    background-color:#fff;
    border: solid 1px #000;
    margin:0.5rem auto;
    text-align:center;
}

.btn-select:hover {
    background-color:#e0dcd0;
}

/*ボタングレー反転版（選択用）*/
.btn-select-g {
    width:100%;
    padding: 0.5em;
    font-size:1.5rem;
    text-decoration: none;
    color: #000;
    background-color:#e0dcd0;
    border: solid 1px #000;
    margin:0.5rem auto;
    text-align:center;
}

.btn-select-g:hover {
    background-color:#fff;
}

/*ボタンオレンジ（別サイトへ移動用）*/
.btn-orange {
    width:100%;
    padding: 0.5em;
    font-size:1.5rem;
    text-decoration: none;
    color: #fff;
    background-color:#FF6600;
    border: none;
    margin:0.5rem auto;
    text-align:center;
}

.btn-orange:hover {
    background-color:#fff;
    border: solid 1px #FF6600;
    color: #FF6600;
}

/* チェックボックス02 */
input[type=checkbox] {
    display: none;
}
.checkbox02 {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    position: relative;

    width:100%;
    padding: 0.5em;
    font-size:1.5rem;
    text-decoration: none;
    color: #000;
    background-color:#e0dcd0;
    border: solid 1px #000;
    margin:0.5rem auto;
    text-align:center;
}
.checkbox02::before {
    background: #fff;
    border: 1px solid #222;
    content: '';
    display: block;
    height: 2rem;
    width: 2rem;
    right: 15px;
    margin-top: -15px;
    position: absolute;
    top: 50%;

}
.checkbox02::after {
    border-right: 8px solid #32CC57;
    border-bottom: 4px solid #32CC57;
    content: '';
    display: block;
    height: 2rem;
    width: 1rem;
    right: 1.5rem;
    margin-top: -20px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
}
input[type=checkbox]:checked + .checkbox02::before {
    border-color: #666;
}
input[type=checkbox]:checked + .checkbox02::after {
    opacity: 1;
}