
.hover:hover {
    opacity: 0.8;
}

.textOutline {
    text-shadow:0 0 3px #edece6,0 0 3px #edece6,0 0 3px #edece6,0 0 3px #edece6,0 0 3px #edece6,0 0 3px #edece6,0 0 3px #edece6,0 0 3px #edece6,0 0 3px #edece6,0 0 3px #edece6,0 0 3px #edece6,0 0 3px #edece6,0 0 3px #edece6,0 0 3px #edece6,0 0 3px #edece6,0 0 3px #edece6;
}

/* title02
------------------------------------*/

.title02 {
    position: relative;
    padding: 0 65px;
    text-align: center;
}

.title02 .title02_inner {
    position: relative;
    padding: 0 32px;
    font-size: 24px;
}

.title02 .title02_inner:before,
.title02 .title02_inner:after {
    position: absolute;
    top: calc(50% - 1px);
    width: 150px;
    height: 1px;
    content: '';
    background: #222;
}

.title02 .title02_inner:before {
    left: -144px;
}

.title02 .title02_inner:after {
    right: -144px;
}

@media screen and (max-width: 767px) {
    .title02 {
        padding: 0 24px;
        overflow: hidden;
    }

    .title02 .title02_inner {
        position: relative;
        font-size: 20px;
    }

    .title02 .title02_inner:before,
    .title02 .title02_inner:after {
        width: 64px;
    }

    .title02 .title02_inner:before {
        left: -48px;
    }

    .title02 .title02_inner:after {
        right: -48px;
    }

}

/* title03
------------------------------------*/

.title03 {
    border-left: 4px solid #222222;
    padding: 0 0 0 16px;
    font-size: 20px;
}

@media screen and (max-width: 767px) {
    .title03 {
        border-left: 3px solid #222222;
        padding: 0 0 0 12px;
        font-size: 18px;
    }
}


/* title04
------------------------------------*/

.title04 {
    border-top: 1px solid #acacac;
    border-bottom: 1px solid #acacac;
    padding: 16px 0;
}

.title04 span {
    border-left: 4px solid #222222;
    padding: 0 0 0 16px;
    font-size: 20px;
}

@media screen and (max-width: 767px) {
    .title04 span {
        border-left: 3px solid #222222;
        padding: 0 0 0 12px;
        font-size: 18px;
    }
}


/* button
------------------------------------*/

.button {
    display: block;
    width: auto;
    box-sizing: border-box;
    border: 1px solid #acacac;
    text-align: center;
    padding: 8px 16px;
    border-radius: 4px;
    color: #222;
    text-decoration: none;
    position: relative;
    background-color: #fff;
    max-width: 100%!important;
    box-sizing: border-box;
}

.button.button_style01 {
    border: none;
    color: #fff;
    background: #918777;
    background: -moz-linear-gradient( #d1b39b 0%, #918777 100%);
    background: -webkit-gradient(linear, left top, left bottom, from(#d1b39b), to(#918777));
    background: -webkit-linear-gradient( #d1b39b 0%, #918777 100%);
    background: -o-linear-gradient( #d1b39b 0%, #918777 100%);
    background: linear-gradient( #d1b39b 0%, #918777 100%);
}

.button:hover {
    opacity: 0.9;
}

.button:after {
    margin-left: 2px;
}



.button:not([target="_blank"]):after {
    content: "";
    position: absolute;
    right: 16px;
    top: 46%;
    transform: rotate(45deg) translate(-50%, 0);
    width: 6px;
    height: 6px;
    border-top: 3px solid #acacac;
    border-right: 3px solid #acacac;
}

.button[target="_blank"]:after {
    position: absolute;
    right: 16px;
    top: 20%;
    font-family: "Font Awesome 5 Free";
    content: '\f35d';
    font-weight: 900;
    color: #acacac;
}

.button[target="_blank"].button_style01:after {
    color: #fff;
}

/* tag01
------------------------------------*/

.tag01 {
    border: 1px solid #acacac;
    border-radius: 24px;
    font-size: 14px;
    padding: 2px 12px;
}

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

- List Style

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

.table01 {
    table-layout: fixed;
    width: 100%;
    border-top: 1px solid #acacac;
}

.table01 tr {
}

.table01 tr th,
.table01 tr td {
    padding: 20px;
    text-align: left;
    border-bottom: 1px solid #acacac;
    box-sizing: border-box;
}

.table01 tr th {
    font-weight: 700;
    background: rgb(186 206 171 / 40%);
    vertical-align: middle;
}


@media screen and (max-width: 767px) {
    .table01 {
        display: block;
    }
    .table01 tbody {
        display: block;
    }
    .table01 tr {
        display: block;
    }

    .table01 tr th,
    .table01 tr td {
        display: block;
        padding: 16px;
        border-bottom: 1px solid #acacac;
        width: 100%;
    }
}



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

- Form Style
(input要素の幅は適宜調整する)

---------------------------------------- */
input.txt,
textarea.txt,
select.txt {
    font-size: 18px;
    padding: 8px 12px;
    border: 1px solid #acacac;
    border-radius: 3px;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
}
input.txt:focus,
textarea.txt:focus {
    border: 1px solid #f19900;
    background: #fff5d6;
}
input.check {
    position: relative;
    top: 2px;
    margin-right: 3px;
}

input[type="submit"], input[type="button"] { 
    -webkit-appearance: none;
    font-family: inherit!important;
    font-size: inherit!important;
}


/* error */
input.err,
textarea.err,
select.err {
    border-color: #ff6060;
    background: #fff0f0;
}
input.err:focus,
textarea.err:focus {
    border-color: #ee5959;
}
.errorTxt {
    margin-top: 10px;
    color: #ff0000;
    line-height:1.1;
}

/*  option and required  */
td.required,
td.option {
    font-weight: 400;
    color: #fff;
    vertical-align: middle;
}
td.required p,
td.option p {
    width: 3.5em;
    margin: 0 auto;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    border-radius: 12px;
    text-align: center;
}
td.option			{ background: #f5f5f5;}
td.option p		{ background: #a6a6a6;}
td.required		{ background: #fff0f0;}
td.required p	{ background: #ff6060;}
/* ----------------------------------------

- List Style

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


/* list
------------------------------- */
.list01 {
    padding-left: 20px;
}

.list01 li {
    list-style-type: disc;
}

.list01 li:not(:first-child) {
    margin-top: 12px;
}

.list01.list01-num li {
    list-style-type: decimal;
}


/* list
------------------------------- */

.list02 > li {
    padding-left: 18px;
}

.list02 > li:not(:first-child) {
    margin-top: 8px;
}

.list02 > li > a {
    position: relative;
    color: inherit;
}

.list02 > li > a:before {
    position: absolute;
    top: 1px;
    left: -14px;
    margin-right: 2px;
    font-family: FontAwesome;
    line-height: 1;
    content: "\f105";
}


/* defList
------------------------------- */
.defList {
    margin-bottom: 15px;
    padding-left: 30px;
}

ul.defList > li {
    list-style-type: disc;
}

ol.defList > li {
    list-style-type: decimal;
}


.dispBlock {
    display: block;
}

/* module
------------------------------------*/

@media screen and (min-width: 767px) {
    .pcNone {
        display: none !important;
    }
}

@media screen and (max-width: 767px) {
    .spWAuto {
        width: auto !important;
    }


    .spNone {
        display: none !important;
    }
}

.tac {
    text-align: center;
}


.fs12 {
    font-size: 12px;
}

.fs14 {
    font-size: 14px;
}

.fs16 {
    font-size: 16px;
}

.fs18 {
    font-size: 18px;
}

.fs20 {
    font-size: 20px;
}

.fs22 {
    font-size: 22px;
}

.fs32 {
    font-size: 32px;
}

.fw700 {
    font-weight: 700;
}

@media screen and (max-width: 767px) {
    .tac-sp {
        text-align: center;
    }
}

.positionR {
    position: relative;
}

.clrRed {
    color: #d20000 !important;
}

.lh17 {
    line-height: 1.7 !important;
}

.mx {
    margin-left: auto !important;
    margin-right: auto !important;
}

@media screen and (max-width: 767px) {
    .mx-sp {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


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

.mt4 {
    margin-top: 4px !important;
}

.mt8 {
    margin-top: 8px !important;
}

.mt12 {
    margin-top: 12px !important;
}

.mt16 {
    margin-top: 16px !important;
}

.mt20 {
    margin-top: 20px !important;
}

.mt24 {
    margin-top: 24px !important;
}

.mt28 {
    margin-top: 28px !important;
}

.mt32 {
    margin-top: 32px !important;
}

.mt36 {
    margin-top: 36px !important;
}

.mt40 {
    margin-top: 40px !important;
}

.mt44 {
    margin-top: 44px !important;
}

.mt48 {
    margin-top: 48px !important;
}

.mt52 {
    margin-top: 52px !important;
}

.mt56 {
    margin-top: 56px !important;
}

.mt60 {
    margin-top: 60px !important;
}

.mt64 {
    margin-top: 64px !important;
}

.mt68 {
    margin-top: 68px !important;
}

.mt72 {
    margin-top: 72px !important;
}

.mt76 {
    margin-top: 76px !important;
}

.mt80 {
    margin-top: 80px !important;
}


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

.mb4 {
    margin-bottom: 4px !important;
}

.mb8 {
    margin-bottom: 8px !important;
}

.mb12 {
    margin-bottom: 12px !important;
}

.mb16 {
    margin-bottom: 16px !important;
}

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

.mb24 {
    margin-bottom: 24px !important;
}

.mb28 {
    margin-bottom: 28px !important;
}

.mb32 {
    margin-bottom: 32px !important;
}

.mb36 {
    margin-bottom: 36px !important;
}

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

.mb44 {
    margin-bottom: 44px !important;
}

.mb48 {
    margin-bottom: 48px !important;
}

.mb52 {
    margin-bottom: 52px !important;
}

.mb56 {
    margin-bottom: 56px !important;
}

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

.mb64 {
    margin-bottom: 64px !important;
}

.mb68 {
    margin-bottom: 68px !important;
}

.mb72 {
    margin-bottom: 72px !important;
}

.mb76 {
    margin-bottom: 76px !important;
}

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


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

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

    .mt4-sp {
        margin-top: 4px !important;
    }

    .mt8-sp {
        margin-top: 8px !important;
    }

    .mt12-sp {
        margin-top: 12px !important;
    }

    .mt16-sp {
        margin-top: 16px !important;
    }

    .mt20-sp {
        margin-top: 20px !important;
    }

    .mt24-sp {
        margin-top: 24px !important;
    }

    .mt28-sp {
        margin-top: 28px !important;
    }

    .mt32-sp {
        margin-top: 32px !important;
    }

    .mt36-sp {
        margin-top: 36px !important;
    }

    .mt40-sp {
        margin-top: 40px !important;
    }

    .mt44-sp {
        margin-top: 44px !important;
    }

    .mt48-sp {
        margin-top: 48px !important;
    }

    .mt52-sp {
        margin-top: 52px !important;
    }

    .mt56-sp {
        margin-top: 56px !important;
    }

    .mt60-sp {
        margin-top: 60px !important;
    }

    .mt64-sp {
        margin-top: 64px !important;
    }

    .mt68-sp {
        margin-top: 68px !important;
    }

    .mt72-sp {
        margin-top: 72px !important;
    }

    .mt76-sp {
        margin-top: 76px !important;
    }

    .mt80-sp {
        margin-top: 80px !important;
    }


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

    .mb4-sp {
        margin-bottom: 4px !important;
    }

    .mb8-sp {
        margin-bottom: 8px !important;
    }

    .mb12-sp {
        margin-bottom: 12px !important;
    }

    .mb16-sp {
        margin-bottom: 16px !important;
    }

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

    .mb24-sp {
        margin-bottom: 24px !important;
    }

    .mb28-sp {
        margin-bottom: 28px !important;
    }

    .mb32-sp {
        margin-bottom: 32px !important;
    }

    .mb36-sp {
        margin-bottom: 36px !important;
    }

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

    .mb44-sp {
        margin-bottom: 44px !important;
    }

    .mb48-sp {
        margin-bottom: 48px !important;
    }

    .mb52-sp {
        margin-bottom: 52px !important;
    }

    .mb56-sp {
        margin-bottom: 56px !important;
    }

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

    .mb64-sp {
        margin-bottom: 64px !important;
    }

    .mb68-sp {
        margin-bottom: 68px !important;
    }

    .mb72-sp {
        margin-bottom: 72px !important;
    }

    .mb76-sp {
        margin-bottom: 76px !important;
    }

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

}

.wauto {
    width: auto !important;
}

.w8 {
    width: 8px !important;
}

.w16 {
    width: 16px !important;
}

.w24 {
    width: 24px !important;
}

.w32 {
    width: 32px !important;
}

.w40 {
    width: 40px !important;
}

.w48 {
    width: 48px !important;
}

.w56 {
    width: 56px !important;
}

.w64 {
    width: 64px !important;
}

.w72 {
    width: 72px !important;
}

.w80 {
    width: 80px !important;
}

.w88 {
    width: 88px !important;
}

.w96 {
    width: 96px !important;
}

.w104 {
    width: 104px !important;
}

.w112 {
    width: 112px !important;
}

.w120 {
    width: 120px !important;
}

.w128 {
    width: 128px !important;
}

.w136 {
    width: 136px !important;
}

.w144 {
    width: 144px !important;
}

.w152 {
    width: 152px !important;
}

.w160 {
    width: 160px !important;
}

.w168 {
    width: 168px !important;
}

.w176 {
    width: 176px !important;
}

.w184 {
    width: 184px !important;
}

.w192 {
    width: 192px !important;
}

.w200 {
    width: 200px !important;
}

.w208 {
    width: 208px !important;
}

.w216 {
    width: 216px !important;
}

.w224 {
    width: 224px !important;
}

.w232 {
    width: 232px !important;
}

.w240 {
    width: 240px !important;
}

.w248 {
    width: 248px !important;
}

.w256 {
    width: 256px !important;
}

.w264 {
    width: 264px !important;
}

.w272 {
    width: 272px !important;
}

.w280 {
    width: 280px !important;
}

.w288 {
    width: 288px !important;
}

.w296 {
    width: 296px !important;
}

.w304 {
    width: 304px !important;
}

.w312 {
    width: 312px !important;
}

.w320 {
    width: 320px !important;
}

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

    .wauto-sp {
        width: auto !important;
    }

    .w8-sp {
        width: 8px !important;
    }

    .w16-sp {
        width: 16px !important;
    }

    .w24-sp {
        width: 24px !important;
    }

    .w32-sp {
        width: 32px !important;
    }

    .w40-sp {
        width: 40px !important;
    }

    .w48-sp {
        width: 48px !important;
    }

    .w56-sp {
        width: 56px !important;
    }

    .w64-sp {
        width: 64px !important;
    }

    .w72-sp {
        width: 72px !important;
    }

    .w80-sp {
        width: 80px !important;
    }

    .w88-sp {
        width: 88px !important;
    }

    .w96-sp {
        width: 96px !important;
    }

    .w104-sp {
        width: 104px !important;
    }

    .w112-sp {
        width: 112px !important;
    }

    .w120-sp {
        width: 120px !important;
    }

    .w128-sp {
        width: 128px !important;
    }

    .w136-sp {
        width: 136px !important;
    }

    .w144-sp {
        width: 144px !important;
    }

    .w152-sp {
        width: 152px !important;
    }

    .w160-sp {
        width: 160px !important;
    }

    .w168-sp {
        width: 168px !important;
    }

    .w176-sp {
        width: 176px !important;
    }

    .w184-sp {
        width: 184px !important;
    }

    .w192-sp {
        width: 192px !important;
    }

    .w200-sp {
        width: 200px !important;
    }

    .w208-sp {
        width: 208px !important;
    }

    .w216-sp {
        width: 216px !important;
    }

    .w224-sp {
        width: 224px !important;
    }

    .w232-sp {
        width: 232px !important;
    }

    .w240-sp {
        width: 240px !important;
    }

    .w248-sp {
        width: 248px !important;
    }

    .w256-sp {
        width: 256px !important;
    }

    .w264-sp {
        width: 264px !important;
    }

    .w272-sp {
        width: 272px !important;
    }

    .w280-sp {
        width: 280px !important;
    }

    .w288-sp {
        width: 288px !important;
    }

    .w296-sp {
        width: 296px !important;
    }

    .w304-sp {
        width: 304px !important;
    }

    .w312-sp {
        width: 312px !important;
    }

    .w320-sp {
        width: 320px !important;
    }

}