@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');

/*==================================================================================================

       リセット

===================================================================================================*/

html, body, div, span, applet, object, iframe, strong,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, legend, caption, 
tbody, tfoot, thead, table, label, tr, th, td{
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-style: inherit;
	font-family: inherit;
	vertical-align: baseline;
	list-style:none;
	}
ul { 
	letter-spacing: -1em;
	word-spacing: -1em;
	}
:root ul {
	letter-spacing: -1px;
	word-spacing: -1px;
	}
li { 
	letter-spacing: normal;
	word-spacing: normal;
	*display: inline;
	*zoom: 1;
	}
figure { margin:0;}
figure video { max-width: 100%;}
img,iframe	{ vertical-align:bottom;}

/*==================================================================================================

       メイン設定

===================================================================================================*/

html,body { width:100%; min-width: 320px; *width:320px; font-size:15px; }
body {
	background:#FFF;
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	letter-spacing:0.05em;
	color: #222;
    font-weight: 500;
	text-align:left;
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	line-height:180%;
    font-feature-settings: "palt" 1;
  	}

    .wrapper    { /*overflow:hidden;*/}
    article		{ position:relative; width:100%; z-index: 0;}
    section		{ position:relative; }

    .section-l	{ padding-top:12rem; padding-bottom:12rem; }
    .section	{ padding-top:8rem; padding-bottom:8rem; }
    .section-m	{ padding-top:6rem; padding-bottom:6rem; }
    .section-s	{ padding-top:4rem; padding-bottom:4rem; }
    .section-ss	{ padding-top:40px; padding-bottom:40px; }
    .second  	{ padding-top:0 !important; }
    .outer		{ padding-left:2.78vw; padding-right:2.78vw; box-sizing:border-box; }
    .outer-thin	{ padding-left:30px; padding-right:30px; box-sizing:border-box; }

    .inner-wrap-l { padding:50px; box-sizing:border-box; }
    .inner-wrap { padding:25px 50px; box-sizing:border-box; }
    .inner-wrap-side { padding:0 50px; box-sizing:border-box; }
    .inner-wrap-side-s { padding:0 35px; box-sizing:border-box; }

    .row			{ margin-left:auto; margin-right:auto; position: relative;}
    .row .row		{ min-width: 0px; }
    .row:before,
    .row:after      { content:""; display:table; }
    .row:after      { clear: both; }
    .row            { zoom: 1; }

    .margin-auto { margin-left:auto; margin-right:auto; }

    .bottom-none    { padding-bottom:0 !important;}

    h1,h2,h3,h4,h5 { font-weight:500; letter-spacing: 0; line-height: 150%; font-family: "Noto Serif JP", serif; font-optical-sizing: auto; }
    .en h1,.en h2,.en h3,.en h4,.en h5 { font-weight:400; font-family: Georgia, "Times New Roman", Times, "serif";}
    .utsukushi { font-family: "Noto Serif JP", serif; font-optical-sizing: auto; }

    small { font-size:.75rem; }
    .bold { font-weight:600;}
    .text-r-c	{ text-align: right;}
    .text-lcc	{ text-align: left;}
    .text-rrl	{ text-align: right;}

    .txt_newl   { display: block; }
    .d-shadow   { filter: drop-shadow(0 0 .4em #ffffff) drop-shadow(0 0 .2em #ffffff); }

    html,body, .wrapper	{ font-size: 17px; letter-spacing: .12em; }


/*==================================================================================================

       Width ( wrap + wrap-1200 )

===================================================================================================*/

    .wrap       { margin:0; margin-inline: auto; position: relative; z-index: 10; }
    .wrap-950   { width: 950px; }
    .wrap-800   { width: 800px; }
    .wrap-700   { width: 700px; }
    .wrap-650   { width: 650px; }
    .wrap-600   { width: 600px; }

    .w6em { width:6em; }
    .w5em { width:5em; }

/*==================================================================================================

       text

===================================================================================================*/
	.center		 { text-align:center;}
	.text-l		 { text-align:left;}
    .text-r		 { text-align:right;}

/*==================================================================================================

       Link

===================================================================================================*/

a {
	text-decoration:none;
	color:#334893;
    font-weight:500;
	cursor:pointer;
    opacity: 1;
    -webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	}
	a:hover {
	opacity: .6;
	}
	a img {
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	}
	a:hover img {
	opacity:0.6;
	}

    a:visited:hover, a:link:hover {
      color: #FFFFFF;
    }
    a:visited:hover, a:link:hover {
      color: #FFFFFF;
    }


/*==================================================================================================

       Other

===================================================================================================*/

    img,.img-auto img {
        max-width: 100%;
        height: auto;
        width /***/:auto;
        vertical-align:bottom;
        }
    .radius,
    .radius video,
    .radius img {
        border-radius:         8px;
        moz-border-radius:     8px;
        -webkit-border-radius: 8px;
        -o-border-radius:      8px;
        -ms-border-radius:     8px;
        }
    .shadow	{
        box-shadow:	        0px 5px 5px rgba(0,0,0,.3);
        -moz-box-shadow:	0px 5px 5px rgba(0,0,0,.3);
        -webkit-box-shadow: 0px 5px 5px rgba(0,0,0,.3);
        -o-box-shadow:		0px 5px 5px rgba(0,0,0,.3);
        -ms-box-shadow:		0px 5px 5px rgba(0,0,0,.3);
        }

    .relative { position: relative;}

/*==================================================================================================

      　hover_zoom

===================================================================================================*/

.hover-zoom__image {
    overflow: hidden;
    position: relative;
    width:100%;
    -webkit-transition  : all .3s ease;
        -moz-transition : all .3s ease;
        -ms-transition  : all .3s ease;
            transition  : all .3s ease;
    }    
    .hover-zoom__image figure {
    -webkit-transition  : all .3s ease;
        -moz-transition : all .3s ease;
        -ms-transition  : all .3s ease;
            transition  : all .3s ease;
    }
    .hover-zoom__image:hover figure,
    a:hover .hover-zoom__image figure {
    opacity: 1;
    -moz-transform:    scale(1.1);
    -webkit-transform: scale(1.1);
    -ms-transform:     scale(1.1);
    transform:         scale(1.1);
    }
    .hover-zoom__image a:hover img,
    a:hover .hover-zoom__image img {
	opacity:1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
	}


/*==================================================================================================

       Flex

===================================================================================================*/

.flex-wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content:center;
    align-items: center;
    align-content:stretch;
    display: -webkit-flex;
    -webkit-flex-direction: row;
    -webkit-flex-wrap: nowrap;
    }
    .col_gap-3px {
    column-gap: 3px;
    }
    .col_gap-3px img {
    width: calc((100% - 6px) / 3); 
    }
    .flex-wrap.is-align-stretch { /* 上端揃え */
    align-items: stretch;
    }
    .flex-wrap.is-align-end { /* 下端揃え */
    align-items: flex-end;
    }
        .is-align-end { /* 親に設定 */
        align-items: flex-end;
        }
    .flex-side-center { /* 子要素の左右の中央揃え IE一部バグあり */
    display: flex;
    justify-content: center;
    }
    .flex-wrap.is-between { /* 子要素の等間隔 + 両端揃え */
    justify-content: space-between;
    }
    .flex-wrap.is-wrap { /* 子要素折り返し */
    flex-wrap: wrap;
    }
    
    /* **** 子要素 **** */
    
    .flex {
    flex: none;
    display: block;
    flex-basis: auto;
    flex-grow: 1;
    flex-shrink: 1;
    width: 100%;
    min-width:0;
    box-sizing: border-box;
    }

.column .inner { width:100%;}
.vertical-center { /* columnに付与 直下にinner設置 */
    display: flex;
    align-items: center;
    }
.reverse-row-order {
    flex-direction: row-reverse;
    }
.columns.is-align-end { /* 下端揃え */
    align-items: flex-end;
    }


/*==================================================================================================

       ボタン

===================================================================================================*/

.more {
        position:relative;
        font-weight:500;
        font-size:1rem;
        width:100%;
        max-width:270px;
        }
        .more a {
        width:100%;
        padding:17px 0;
        line-height: 1;
        text-align: center;
        box-sizing:border-box;
        background:#A19273;
        color:#FFF;
        font-weight:normal;
        white-space: nowrap;
        text-decoration:none !important;
        position: relative;
        z-index: 1;
        letter-spacing: 0.05em;
        display: inline-block;
        -webkit-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        }
        .more a:after {
        position: absolute;
        content: "";
        width: 0;
        height: 100%;
        top: 0;
        right: 0;
        z-index: -1;
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        background:rgba(255,255,255,.3);
        }
        .more a:hover {
        }
        .more a:hover:after {
        left: 0;
        width: 100%;
        }
        
        .more.w100p { max-width:100%; }
        .more.en { letter-spacing: 0; }
        

/*==================================================================================================

        テキスト

===================================================================================================*/

.small { font-size: .825rem;}

.tategaki {
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        }
        .tategaki-nomber { /* 数字のみ横 */
        -webkit-text-combine: horizontal;
        -ms-text-combine-horizontal: all;
        text-combine-upright: all;
        }
        
        .tategaki-center {
            display: flex;
            justify-content: space-between;
            }
            .tategaki-center .inner {
            text-align: center;
            flex: 1;
            }
            .tategaki-center span {
            text-align: left;
            -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
            display: inline-block;
            box-sizing: border-box;
            }

.ls-01 { letter-spacing: .1rem;}
.ls-02 { letter-spacing: .2rem;}
.ls--2 { letter-spacing: -.2rem;}

.f10 {font-size:10px;}
.f12 {font-size:12px;}
.f14 {font-size:14px;}
.f15 {font-size:15px;}
.f16 {font-size:16px;}
.f17 {font-size:17px;}
.f18 {font-size:18px;}
.f21 {font-size:21px;}
.f24 {font-size:24px;}
.f27 {font-size:27px;}
.f30 {font-size:30px;}
.f33 {font-size:33px;}
.f36 {font-size:36px;}
.f39 {font-size:39px;}
.f45 {font-size:45px;}
.f60 {font-size:60px;}
.f72 {font-size:72px;}
.f75 {font-size:75px;}
.f90 {font-size:90px;}

.lh100 { line-height:100%; }
.lh125 { line-height:125%; }
.lh150 { line-height:150%; }
.lh175 { line-height:175%; }
.lh180 { line-height:180%; }
.lh200 { line-height:200%; }
.lh220 { line-height:220%; }
.lh250 { line-height:250%; }



/*================================================
      　list
================================================*/

    .disk-list {
            }
            .disk-list li {
            font-size: 16px;
            letter-spacing: .09em;
            line-height: 135%;
            position: relative;
            padding: 0 0 .5em 1.25rem ;
            }
            .disk-list li:last-child { padding-bottom:0; }
            .disk-list li:before {
                content: "●";
                display:block;
                position: absolute;
                color:#E5A8A8;
                top: 0;
                left: 0;
                font-size:1rem;
                vertical-align: middle;
                }
            .disk-list.height li { padding: .5em 0 .5em 1.25rem ; }
            .disk-list.height li:before { top:.5em; }

    .kome-list {
            }
            .kome-list li {
            padding: 0;
            position: relative;
            padding-left:1em;
            font-size: 16px;
            letter-spacing: .09em;
            line-height: 135%;
            }
            .kome-list li:before {
                content: "※";
                display:block;
                position: absolute;
                top: 0;
                left: 0;
                font-size:10px;
                vertical-align: middle;
                }
    .menu-list {
            }
            .menu-list li {
            padding: 0;
            position: relative;
            padding-left:1em;
            font-size: 16px;
            letter-spacing: .09em;
            line-height: 135%;
            }
            .menu-list li:before {
                content: "・";
                display:block;
                position: absolute;
                top: 0;
                left: 0;
                font-size:10px;
                vertical-align: middle;
                }

    .boxList {
            display: inline-table;
            }
            .boxList div {
                display: flex;
                column-gap: 1em;
                align-items: center;
                }


/*================================================
      　table
================================================*/

.table-a {
            width:100%;
            border-collapse:collapse;
            border-spacing:0;
            text-align:left;
            letter-spacing:0;
            box-sizing: border-box;
            line-height: 150%;
            font-weight:400;
            border-top: 1px solid rgba(161,146,115,.5);
            }
            .table-a tr { border-bottom: 1px solid rgba(161,146,115,.5); }
            .table-a th {
                padding:.5rem  .75rem;
                vertical-align: top;
                font-weight:normal;
                text-align:left;
                }
            .table-a td {
                padding:.5rem .75rem .5rem 0;
                text-align:left;
                }
            .table-a.td-right td { text-align: right;}
            .table-a.center td,.table-a.center th { text-align: center;}
            .table-a.th-center th { text-align: center;}

.table-b {
            width:100%;
            border-collapse:collapse;
            border-spacing:0;
            text-align:left;
            letter-spacing:0;
            box-sizing: border-box;
            line-height: 150%;
            font-weight:400;
            }
            .table-b tr { border-bottom:1px solid rgba(0,0,0,.3); }
            .table-b tr:last-child { border-bottom:none; }
            .table-b th {
                padding:1.25rem 1rem 1.25rem 0;
                vertical-align: top;
                font-weight:normal;
                text-align:left;
                }
            .table-b td {
                padding:1.25rem 0;
                text-align:left;
                }
            .table-b.td-right td { text-align: right; }
            .table-b.center td,.table-b.center th { text-align: center; }
            .table-b.th-center th { text-align: center; vertical-align: middle; }
.table-c {
            width:100%;
            border-collapse:collapse;
            border-spacing:0;
            text-align:left;
            letter-spacing:0;
            box-sizing: border-box;
            line-height: 150%;
            font-weight:400;
            border-top: 1px solid rgba(161,146,115,.5);
            }
            .table-c tr { border-bottom: 1px solid rgba(161,146,115,.5); }
            .table-c th {
                padding:1rem;
                vertical-align: middle;
                font-weight:normal;
                text-align:left;
                }
            .table-c td {
                padding:1rem 0;
                text-align:left;
                }
            .table-c.td-right td { text-align: right;}
            .table-c.center td,.table-c.center th { text-align: center;}
            .table-c.th-center th { text-align: center;}


/*================================================
      　link
================================================*/

    .link-btn {
        display: inline-block;
        padding: .5rem 1rem;
        line-height: 125%;
        margin: 4px;
        background: url(../../rakuten2/img/footer-bg.jpg) center center repeat;
        font-size: 1rem;
        color: #FFF;
        border-radius:         4px;
        moz-border-radius:     4px;
        -webkit-border-radius: 4px;
        -o-border-radius:      4px;
        -ms-border-radius:     4px;
        }
    .link { padding-bottom:.25rem ; border-bottom:1px solid #505db1; color:#505db1;}
        .link:hover { border-bottom:1px solid #666; color:#222;}


/*==================================================================================================

       padding margin 設定

===================================================================================================*/

    .pb-3px     { padding-bottom:3px; }

	.pt-1em		{ padding-top:1rem;}
	.pt-2em		{ padding-top:2rem;}
	.pt-3em		{ padding-top:3rem;}
	.pt-4em		{ padding-top:4rem;}
	.pt-5em		{ padding-top:5rem;}

    .pb-05em	{ padding-bottom:.5rem;}
    .pb-1em		{ padding-bottom:1rem;}
    .pb-1hem	{ padding-bottom:1.5rem;}
	.pb-2em		{ padding-bottom:2rem;}
	.pb-3em		{ padding-bottom:3rem;}
	.pb-4em		{ padding-bottom:4rem;}
	.pb-5em		{ padding-bottom:5rem;}
    .pb-6em		{ padding-bottom:6rem;}

    .mt-1em		{ margin-top:1rem;}
	.mt-2em		{ margin-top:2rem;}
	.mt-3em		{ margin-top:3rem;}
	.mt-4em		{ margin-top:4rem;}
	.mt-5em		{ margin-top:5rem;}

	.mb-05em	{ margin-bottom:.5rem;}
    .mb-1em		{ margin-bottom:1rem;}
    .mb-1hem	{ margin-bottom:1.5rem;}
	.mb-2em		{ margin-bottom:2rem;}
	.mb-3em		{ margin-bottom:3rem;}
	.mb-4em		{ margin-bottom:4rem;}
	.mb-5em		{ margin-bottom:5rem;}
    .mb-6em		{ margin-bottom:6rem;}
    .mb-7em		{ margin-bottom:7rem;}
    .mb-8em		{ margin-bottom:8rem;}

    .mt-530		{ margin-top:5rem;}
    
    .mb-10px		{ margin-bottom:10px;}

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

    .pl-1em     { padding-left:1rem;}
    
    .mt10p      { margin-top:10%; }
    .mr10p      { margin-right:10%;}
    .mr20p      { margin-right:20%;}
    .mr30p      { margin-right:30%;}
    .mr40p      { margin-right:40%;}
    
    .ml10p      { margin-left:10%;}
    .ml20p      { margin-left:20%;}
    .ml30p      { margin-left:30%;}
    .ml40p      { margin-left:40%;}
    
    .pb-1px     { padding-bottom:1px;}
    .pb-10px    { padding-bottom:10px;}