@charset "utf-8";

/*
 * style.css
 *
 *  version --- 1.0
 *  updated --- 2017/11/30
 */

/* !HTML5 elements
---------------------------------------------------------- */
header, 
footer, 
nav, 
section, 
aside, 
article {
    display: block;
}

/* !Reseting
---------------------------------------------------------- */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

fieldset {
  border: none;
}

ul,
ol,
li {
	list-style: none;
}

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

table {
	border-collapse: collapse;
}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

select::-ms-expand {
	display: none;
}

input[type=radio]::-ms-check,
input[type=checkbox]::-ms-check{
	display: none;
}

select,
input[type=radio],
input[type=checkbox],
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=number],
input[type=reset],
input[type=button],
input[type=submit],
textarea {
	appearance: none;
	border-radius: 0;
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    outline: none;
}

input[type=text]::-ms-clear,
input[type=tel]::-ms-clear,
input[type=number]::-ms-clear{
	display: none;
}

input[type=reset],
input[type=button],
input[type=submit]  {
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	cursor: pointer;
}

input::-webkit-input-placeholder, 
textarea::-webkit-input-placeholder { 
    color: #939DAD; 
} 
input:-moz-placeholder, 
textarea:-moz-placeholder { 
    color: #939DAD; 
} 
input::-moz-placeholder, 
textarea::-moz-placeholder { 
    color: #939DAD; 
} 
input:-ms-input-placeholder, 
textarea:-ms-input-placeholder { 
    color: #939DAD; 
} 

*,
*:before,
*::after {
	box-sizing: border-box;
}
/* !Clearfix
---------------------------------------------------------- */
.clearfix {
    display: block;
    min-height: 1%;
}

.clearfix:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}

* html .clearfix {
    height: 1%;
}

/* !Layout
---------------------------------------------------------- */
html {
    overflow-y: scroll;
    font-size: 62.5%;
}

html.no-move,
html.hidden {
    overflow: hidden;
}

body {
    font-family: "Roboto", "Noto Sans JP", メイリオ, Meiryo, “ヒラギノ角ゴ Pro W3”, “Hiragino Kaku Gothic Pro”, Osaka, “MS Pゴシック”, “MS PGothic”, sans-serif;
    font-size: 1.6rem;
    -webkit-text-size-adjust: none;
    line-height: 1.5;
    font-weight: normal;
    color: #2C2A29;
    background: #F5F7FA;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    html.no-move,
    html.hidden {
        overflow: hidden;
    }

    body {
        background: #fff;
    }
}


/* !Base Fonts -------------------------------------------------------------- */
a {
    color: #2C2A29;
    text-decoration: none;
}

/*** hover ***/
@media screen and (min-width: 768px) {
    a {
        transition: all 0.5s;
    }

    a:hover {
        text-decoration: underline;
    }

    .op {
        transition: opacity 0.5s ease-out;
    }

    .op:hover {
        opacity: .7;
        text-decoration: none;
    }

    a[href^="tel:"] {
        cursor: default;
        pointer-events:none;
    }
}

@media screen and (min-width: 768px) {
    .is-sp {
        display: none;
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .is-pc {
        display: none;
    }
}


.is-hide {
    display: none;
}

.anchor-area {
    position: relative;
}

.anchor-area .anchor {
    position: absolute;
    top: -7rem;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .anchor-area .anchor {
        top: -6.213rem;
    }
}

/* !wrapper
---------------------------------------------------------- */
#wrapper {
    width: 100%;
    padding-top: 7rem;
}

/*** スマホ 320px ~ 767px***/
@media (max-width: 767px) {
    #wrapper {
        padding-top: 6.213rem;
    }
}

/* !header
---------------------------------------------------------- */
#header {
    background: #fff;
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 999;
    border-bottom: .1rem solid #EEEEEE;
}

.header-inner {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 7rem;
}

.header-logo {
    font-size: 1px;
    line-height: 1;
    width: 9.7rem;
}

.header-logo img {
    width: 100%;
}

.btn-menu {
    display: none;
}

/*** hover ***/
@media screen and (min-width: 960px) {}

/*** スマホ 320px ~ 767px***/
@media (max-width: 767px) {
    .header-inner {
        height: 6.213rem;
    }

    .btn-menu {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-direction: column;
        cursor: pointer;
        width: 3.9rem;
        height: 4.3rem;
        position: absolute;
        right: 1.6rem;
        top: 1.15rem;
        z-index: 2;
    }

    .btn-menu:before {
        width: 3.2rem;
        height: 3.2rem;
        content: '';
        background: url(../img/common/menu.svg) center center no-repeat;
        background-size: 100% 100%;
    }

    .btn-menu:after {
        font-size: 1rem;
        line-height: 1;
        letter-spacing: -.1rem;
        content: 'メニュー';
        color: #697180;
    }

    .btn-menu.is-active:before {
        background-image: url(../img/common/close.svg);
    }

    .btn-menu.is-active:after {
        content: '閉じる';
    }
}
    

/* !global navigation
---------------------------------------------------------- */
#g-navi {
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

#g-navi ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2.4rem;
}

#g-navi ul li,
#g-navi ul li a {
    font-size: 1.4rem;
    line-height: 1.5;
}

/*** hover ***/
@media screen and (min-width: 960px) {
    #g-navi ul li a:hover {
        text-decoration: underline;
    }
}

@media screen and (max-width: 959px) {
    #g-navi ul {
        gap: 1rem;
    }

    #g-navi ul li,
    #g-navi ul li a {
        font-size: 1.3rem;
    }

}

/*** スマホ 320px ~ 767px***/
@media (max-width: 767px) {
    #g-navi {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background: #fff;
        border-top: .1rem solid #E9ECF2;
        width: 100%;
        position: fixed;
        left: 0;
        top: 6.213rem;
        right: unset;
        z-index: 9;
        height: calc(100dvh - 6.213rem);
        transform: translateY(0);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .3s, visibility .3s;
    }

    #g-navi.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    #g-navi ul {
        display: block;
    }

    #g-navi ul li {
        font-size: 1.6rem;
        line-height: 1.3;
        border-bottom: .1rem solid #C0C5CC;
    }

    #g-navi ul li a {
        font-size: 1.6rem;
        line-height: 1.3;
        display: block;
        padding: 1.6rem 4rem 1.6rem 1.6rem;
        font-weight: bold;
        background: url(../img/common/icon_arrow.svg) right 1.6rem center no-repeat;
        background-size: 1.6rem auto;
    }

    #g-navi p {
        text-align: center;
        padding: 1.2rem 0;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #g-navi p a {
        display: inline-block;
        padding: 0 1.6rem;
        font-size: 1.2rem;
        line-height: 1.6rem;
    }

    #g-navi p a + a {
        border-left: .1rem solid #C0C5CC;
    }
}

/* !breadcrumb
---------------------------------------------------------- */
#breadcrumb {
    width: 100%;
    background: #fff;
    position: relative;
    z-index: 3;
}
#breadcrumb ul {
	overflow-x: auto;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	height: 2.6rem;
	font-size: 0;
}
#breadcrumb li {
	display: flex;
	word-break: keep-all;
	white-space: nowrap;
	font-size: 1.2rem;
}
#breadcrumb li + li:before {
	content: "";
	display: block;
	margin: 0 0.4rem;
	width: 1.6rem;
	height: 1.6rem;
	background: url(../img/common/icon_arrow_gray.svg)no-repeat center;
	background-size: 100%;
}
#breadcrumb li a {
	display: block;
	color: #697180;
}
#breadcrumb li:first-child a {
	padding-left: 1.6rem;
	background: url(../img/common/icon_home_gray.svg)no-repeat left center;
}


/*** hover ***/
@media screen and (min-width: 960px) {}

/*** スマホ 320px ~ 767px***/
@media screen and  (max-width: 767px) {
	#breadcrumb ul {
		-webkit-overflow-scrolling: touch;
	}
}

/* !main Visual
---------------------------------------------------------- */
#main-visual {
    padding: 2.4rem 0;
    background: url(../img/top/bg_mv.jpg) center center no-repeat;
    background-size: cover;
}

#main-visual .mv-news {
    background: #fff;
    border-radius: .8rem;
    padding: 1.6rem 2.4rem;
} 

#main-visual .mv-news .mv-news__ttl {
    font-size: 1.8rem;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: .8rem;
}

#main-visual .mv-news .mv-news__list dl {
    padding: .6rem 0;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

#main-visual .mv-news .mv-news__list dl .toggle-button {
    z-index: 2;
    width: 100%;
    display: block;
    cursor: pointer;
}

#main-visual .mv-news .mv-news__list dl dd .mv-news-list__body {
    display: none;
    width: 100%;
    margin: 1rem 0;
    font-size: 1.4rem;
    line-height: 1.5;
}

#main-visual .mv-news .mv-news__list dl dd .mv-news-list__body.is-show {
    display: block;
}

#main-visual .mv-news .mv-news__list dl dd:has(.mv-news-list__body) {
    width: 100%;
}

#main-visual .mv-news .mv-news__list dl dt {
    width: 12.4rem;
    height: 2.1rem;
    border-radius: .4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    margin-right: 1.6rem;
    font-size: 1.2rem;
    line-height: 1.5;
}

#main-visual .mv-news .mv-news__list dl dt.cat01 {
    background: #EAF6FF;
    color: #0063B0;
}

#main-visual .mv-news .mv-news__list dl dt.cat02 {
    background: #EAFFFA;
    color: #147252;
}

#main-visual .mv-news .mv-news__list dl dt.cat03 {
    background: #FFFCD5;
    color: #CF3700;
}

#main-visual .mv-news .mv-news__list dl dd {
    width: calc(100% - 14rem);
}

#main-visual .mv-news .mv-news__list dl dd a {
    font-size: 1.4rem;
    line-height: 1.5;
    text-decoration: underline;
    overflow : hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

.mv-search {
    margin-top: 1.6rem;
    width: 100%;
    border-radius: .8rem;
    background: #fff;
    padding: 2.4rem;
    display: flex;
    align-items: center;
    gap: .8rem;
}

.mv-search .mv-search__input {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .8rem;
    width: calc(100% - 11.2rem);
}

.mv-search .mv-search__input .mv-search__input--item {
    position: relative;
}

.mv-search .mv-search__input .mv-search__input--item.search-area:before,
.mv-search .mv-search__input .mv-search__input--item.search-category:before {
    position: absolute;
    content: '';
    pointer-events: none;
    left: 3.2rem;
    top: 1.1rem;
    z-index: 2;
    font-size: 1.2rem;
    line-height: 1.4rem;
    color: #333;
    transition: .3s;
}

.mv-search .mv-search__input .mv-search__input--item.search-area:before {
    content: 'エリア';
}

.mv-search .mv-search__input .mv-search__input--item.search-category:before {
    content: 'カテゴリ';
}

.mv-search .mv-search__input input {
    width: 100%;
    height: 5rem;
    border: .1rem solid #939DAD;
    border-radius: .8rem;
    font-size: 1.4rem;
    line-height: 1.5;
    padding: 0 .8rem;
}

.mv-search .mv-search__input .mv-search__input--item.search-area:after,
.mv-search .mv-search__input .mv-search__input--item.search-category:after {
    position: absolute;
    content: '';
    pointer-events: none;
    right: .8rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 1.6rem;
    height: 1.6rem;
    background: url(../img/common/icon_check_circle.svg) center center no-repeat;
    background-size: cover;
    transition: .3s;
}

.mv-search .mv-search__input .mv-search__input--item.search-area input,
.mv-search .mv-search__input .mv-search__input--item.search-category input {
    padding: 1.6rem 3.2rem 0;
    background: url(../img/common/icon_location_gary.svg) .8rem center no-repeat #fff;
    background-size: 1.6rem auto;
    cursor: pointer;
}

.mv-search .mv-search__input .mv-search__input--item.search-keywords input {
    padding: 0 .8rem 0 3.2rem;
    background: url(../img/common/icon_search_gray.svg) .8rem center no-repeat #fff;
    background-size: 1.6rem auto;
}

.mv-search .mv-search__input .mv-search__input--item.search-area input.is-focus,
.mv-search .mv-search__input .mv-search__input--item.search-category input.is-focus,
.mv-search .mv-search__input .mv-search__input--item.search-keywords input.is-focus  {
    background-color: #F0F7FF;
    border-color: #99C4FD;
}

.mv-search .mv-search__input .mv-search__input--item.search-area.is-input:after,
.mv-search .mv-search__input .mv-search__input--item.search-category.is-input:after {
    background-image: url(../img/common/icon_check_circle_on.svg);
}

.mv-search .mv-search__input .mv-search__input--item.search-area.is-input:before, 
.mv-search .mv-search__input .mv-search__input--item.search-category.is-input:before {
    color: #939DAD;
}


.mv-search .mv-search__button {
    width: 10.4rem;
}

.mv-search .mv-search__button input {
    width: 100%;
    height: 4.4rem;
    border-radius: 2.2rem;
    background: url(../img/common/icon_search.svg) 1.2rem center no-repeat #10069F;
    background-size: 1.6rem;
    padding: 0 0 0 3.2rem;
    font-size: 1.4rem;
    line-height: 1.5;
    color: #fff;
    font-weight: bold;
    cursor: pointer;
    border: 0;
    text-align: left;
    transition: .3s;
}

#main-visual .mv-keyworks {
    margin-top: 1.6rem;
}

#main-visual .mv-keyworks .mv-keyworks__list {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: .8rem;
}

#main-visual .mv-keyworks .mv-keyworks__list > li {
    position: relative;
}

#main-visual .mv-keyworks .mv-keyworks__list > li > a {
    display: inline-flex;
    padding: 1.1rem 2.4rem;
    font-size: 1.4rem;
    line-height: 2rem;
    font-weight: bold;
    color: #10069F;
    background: #fff;
    border-radius: 10rem;
    box-shadow: 0 1rem .7rem -.5rem rgba(0, 0, 0, 0.08);
    border: 1px solid #fff;
    position: relative;
}

#main-visual .mv-keyworks .mv-keyworks__list > li > a.is-active {
    z-index: 100000;
    text-decoration: none;
    background: #F0F7FF;
    border-color: #99C4FD;
}

#main-visual .mv-keyworks .mv-keyworks__list .mv-keyworks__submenu {
    position: absolute;
    left: 0;
    top: 100%;
    transform: translateY(1.2rem);
    z-index: 100000;
    width: fit-content;
    padding: 1.6rem;
    border-radius: .8rem;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .3s, visibility .3s;
}

#main-visual .mv-keyworks .mv-keyworks__list > li:nth-child(n+5) .mv-keyworks__submenu {
    left: unset;
    right: 0;
}

#main-visual .mv-keyworks .mv-keyworks__list .mv-keyworks__submenu.is-show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

#main-visual .mv-keyworks .mv-keyworks__list .mv-keyworks__submenu h3,
#main-visual .mv-keyworks .mv-keyworks__list .mv-keyworks__submenu .mv-keyworks__close {
    display: none;
}

#main-visual .mv-keyworks .mv-keyworks__list .mv-keyworks__submenu ul {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: auto auto auto auto auto;
    grid-auto-flow: column;
}

#main-visual .mv-keyworks .mv-keyworks__list .mv-keyworks__submenu a {
    display: block;
    width: 20rem;
    padding: 1.2rem .8rem;
    font-size: 1.4rem;
    line-height: 1.214;
    color: #000;
    border-radius: .2rem;
}

#main-visual .mv-keyworks .mv-keyworks__list .mv-keyworks__submenu a span {
    color: #697180;
}

#main-visual .mv-keyworks .mv-keyworks__overlay {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    background: rgba(44, 42, 41, 0.45);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .3s, visibility .3s;
}

#main-visual .mv-keyworks .mv-keyworks__overlay.is-show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.search-popup {
    position: absolute;
    z-index: 2;
    width: 100%;
    max-width: 73.6rem;
    max-height: calc(100vh - 6rem);
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    background: #fff;
    border-radius: .8rem;
    padding: 8.2rem 0 7.6rem;
    overflow: hidden;
}

.search-popup .search-popup__close {
    position: absolute;
    cursor: pointer;
    width: 2.4rem;
    height: 2.4rem;
    background: url(../img/common/close.svg) center center no-repeat;
    background-size: cover;
    right: 0;
    top: 0;
    z-index: 4;
}

.search-popup .search-popup__head {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3;
    width: 100%;
    height: 8.2rem;
    font-size: 2.6rem;
    text-align: center;
    line-height: 1.3;
    padding: 3.2rem 2rem 1.6rem;
    font-weight: normal;
}

.search-popup .search-popup__body {
    width: 100%;
    max-height: calc(100vh - 21.8rem);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.search-popup .search-popup__body::-webkit-scrollbar {
    width: .3rem;
}
.search-popup .search-popup__body::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 1.5rem;
}
.search-popup .search-popup__body::-webkit-scrollbar-thumb {
    border-radius: 1.5rem;
    background: rgba(0, 0, 0, .3);
}

.search-popup .search-popup__body .js-toggle-target {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

.search-popup .search-popup__body label {
    position: relative;
    cursor: pointer;
    display: block;
}

.search-popup .search-popup__body input[type=radio] {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    opacity: 0;
}

.search-popup .search-popup__body .label-item {
    display: block;
    position: relative;
}

.search-popup .search-popup__body .label-item:before {
    width: 2.4rem;
    height: 2.4rem;
    border: .2rem solid #939DAD;
    content: '';
    border-radius: 100%;
    transition: .3s;
}

.search-popup .search-popup__body .label-item:after {
    width: 2.4rem;
    height: 2.4rem;
    background: #3064D5;
    content: '';
    border-radius: 100%;
    transform: scale(.6667);
    opacity: 0;
    transition: opacity .3s;
}

.search-popup .search-popup__body input[type=radio]:checked +  .label-item:before {
    border-color: #3064D5;
}

.search-popup .search-popup__body input[type=radio]:checked +  .label-item:after {
    opacity: 1;
}

.search-popup .search-popup__body > ul > li {
    border-bottom: .1rem solid #DDDDDD;
}

.search-popup .search-popup__body .count {
    color: #697180;
}

.search-popup .search-popup__body .js-toggle-target .js-toggle-button {
    position: absolute;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
    padding-right: 3.2rem;
    left: 0;
    top: 0;
    z-index: 2;
}

.search-popup .search-popup__body .js-toggle-target:not(.is-all) .js-toggle-button:after {
    width: 2.4rem;
    height: 2.4rem;
    background: url(../img/common/icon_arrow_down.svg) center center no-repeat;
    background-size: cover;
    transition: .3s;
    content: '';
}

.search-popup .search-popup__body .js-toggle-target .js-toggle-button.is-active:after {
    transform: scaleY(-1);
}

.search-popup .search-popup__body .level1 > li > .js-toggle-target > label .label-item {
    padding: 1.6rem 6.4rem;
    font-weight: bold;
}

.search-popup .search-popup__body .level1 > li > .js-toggle-target > label .label-item .count {
    font-weight: normal;
}

.search-popup .search-popup__body .level1 > li > .js-toggle-target > label .label-item:before,
.search-popup .search-popup__body .level1 > li > .js-toggle-target > label .label-item:after {
    position: absolute;
    left: 3.2rem;
    top: 1.6rem;
    z-index: 1;
}

.search-popup .search-popup__body .js-toggle-body {
    display: none;
}

.search-popup .search-popup__body .level2 {
    background: #F5F7FA;
}

.search-popup .search-popup__body .level2 > li > .js-toggle-target >  label {
    display: flex;
    align-items: center;
    gap: .8rem;
}

.search-popup .search-popup__body .level2 > li label .label-item {
    padding: .8rem 0 .8rem 8rem;
    font-size: 1.4rem;
    line-height: 2.4rem;
}

.search-popup .search-popup__body .level2 > li label .label-item:before,
.search-popup .search-popup__body .level2 > li label .label-item:after {
    position: absolute;
    left: 4.8rem;
    top: .8rem;
    z-index: 1;
}


.search-popup .search-popup__body .level2 .js-toggle-target .js-toggle-button {
    justify-content: flex-start;
    padding-left: 18rem;
}


.search-popup .search-popup__body .level3 {
    background: #E9ECF2;
}

.search-popup .search-popup__body .level3 > li > label .label-item {
    padding: .8rem 0 .8rem 9.6rem;
    font-size: 1.4rem;
    line-height: 2.4rem;
}

.search-popup .search-popup__body .level3 > li > label .label-item:before,
.search-popup .search-popup__body .level3 > li > label .label-item:after {
    position: absolute;
    left: 6.4rem;
    top: .8rem;
    z-index: 1;
}

.search-popup .search-popup__body .search-pop-division-disabled {
    opacity: 0.3;
    pointer-events: none;
}

.search-popup .search-popup__foot {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 3;
    width: 100%;
    text-align: center;
    padding: 1.6rem;
}

.search-popup .search-popup__foot button {
    width: 100%;
    max-width: 25.6rem;
    height: 4.4rem;
    font-size: 1.6rem;
    line-height: 1.5;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 10rem;
    background: #10069F;
    border: 0;
    color: #fff;
    font-weight: bold;
    cursor: pointer;
}

.search-popup .search-popup__body .js-checkbox-target {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

.search-popup .search-popup__body input[type=checkbox] {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    opacity: 0;
}

.search-popup .search-popup__body .js-checkbox .label-item:before {
    width: 2.4rem;
    height: 2.4rem;
    border: .2rem solid #939DAD;
    content: '';
    border-radius: .4rem;
    transition: .3s;
}

.search-popup .search-popup__body .js-checkbox .label-item:after {
    width: 2.4rem;
    height: 2.4rem;
    background: url(../img/common/icon_checkbox_checked.svg) center center no-repeat;
    background-size: cover;
    content: '';
    border-radius: .4rem;
    opacity: 0;
    transition: opacity .3s;
    transform: scale(1);
}


.search-popup .search-popup__body input[type=checkbox]:checked +  .label-item:after {
    opacity: 1;
}

.search-popup .search-popup__body .js-checkbox-target .js-checkbox-button {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 3.2rem;
    flex-grow: 55;
}

.search-popup .search-popup__body .js-checkbox-target:not(.is-all) .js-checkbox-button:after {
    width: 2.4rem;
    height: 2.4rem;
    background: url(../img/common/icon_arrow_down.svg) center center no-repeat;
    background-size: cover;
    transition: .3s;
    content: '';
}

.search-popup .search-popup__body .js-checkbox-target .js-checkbox-button.is-active:after {
    transform: scaleY(-1);
}

.search-popup .search-popup__body .level1 > li > .js-checkbox-target > label .label-item {
    padding: 1.6rem 0 1.6rem 6.4rem;
    font-weight: bold;
}

.search-popup .search-popup__body .level1 > li > .js-checkbox-target > label .label-item .count {
    font-weight: normal;
}

.search-popup .search-popup__body .level1 > li > .js-checkbox-target > label .label-item:before,
.search-popup .search-popup__body .level1 > li > .js-checkbox-target > label .label-item:after {
    position: absolute;
    left: 3.2rem;
    top: 1.6rem;
    z-index: 1;
}

.search-popup .search-popup__body .level1 > li > .js-checkbox-target > label .label-item .number {
    display: inline-block;
    margin-left: 1rem;
}

.search-popup .search-popup__body .level1 > li > .js-checkbox-target > label .label-item .number span {
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 100%;
    background: #3064D5;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 1.4rem;
    line-height: 1.5;
    color: #fff;
}

.search-popup .search-popup__body .js-checkbox-body {
    display: none;
}

/*** hover ***/
@media screen and (min-width: 960px) {
    #main-visual .mv-news .mv-news__list dl dd a:hover {
        text-decoration: none;
    }

    .mv-search .mv-search__button input:hover {
        background-color: #140D77;
    }

    #main-visual .mv-keyworks .mv-keyworks__list > li > a:hover {
        text-decoration: none;
        background: #F0F7FF;
        border-color: #99C4FD;
    }

    #main-visual .mv-keyworks .mv-keyworks__list ul a:hover {
        background: #E0EDFF;
        text-decoration: none;
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and  (max-width: 767px) {
    #main-visual {
        background: url(../img/top/bg_mv_sp.jpg) center center no-repeat;
        background-size: cover;
        padding: 1.6rem 0 2.4rem;
    }

    #main-visual .mv-news {
        padding: 1.6rem;
    }

    #main-visual .mv-news .mv-news__list dl {
        padding: 0;
        display: block;
    }

    #main-visual .mv-news .mv-news__list dl + dl {
        margin-top: 1.6rem;
    }

    #main-visual .mv-news .mv-news__list dl dt {
        margin: 0 0 .4rem;
    }

    #main-visual .mv-news .mv-news__list dl dd {
        width: 100%;
    }

    .mv-search {
        padding: 2.4rem 1.6rem;
        display: block;
    }

    .mv-search .mv-search__input {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        margin-bottom: 1.6rem;
    }

    .mv-search .mv-search__input .mv-search__input--item {
        width: calc((100% - .8rem) / 2);
    }

    .mv-search .mv-search__input .mv-search__input--item.search-keywords {
        width: 100%;
    }


    .mv-search .mv-search__button {
        width: 100%;
        text-align: center;
    }

    .mv-search .mv-search__button input {
        max-width: 25.6rem;
        background: url(../img/common/icon_search.svg) 1.6rem center no-repeat #10069F;
        background-size: 1.6rem;
        padding: 0 2.4rem 0 3.2rem;
        font-size: 1.6rem;
        text-align: center;
    }

    #main-visual .mv-keyworks {
        margin-top: 2.4rem;
    }

    #main-visual .mv-keyworks .mv-keyworks__list {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }

    #main-visual .mv-keyworks .mv-keyworks__list > li > a {
        padding: 1.1rem;
        width: 100%;
        justify-content: center;
    }

    #main-visual .mv-keyworks .mv-keyworks__list .mv-keyworks__submenu {
        position: fixed;
        left: 0;
        top: 0;
        transform: translateY(0);
        z-index: 100000;
        width: 100%;
        padding: 4.7rem 0 0;
        height: 100dvh;
        border-radius: 0;
        background: #fff;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .3s, visibility .3s;
    }

    #main-visual .mv-keyworks .mv-keyworks__list > li:nth-child(n+5) .mv-keyworks__submenu {
        left: 0;
    }

    #main-visual .mv-keyworks .mv-keyworks__list .mv-keyworks__submenu.is-show {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    #main-visual .mv-keyworks .mv-keyworks__list .mv-keyworks__submenu h3 {
        display: block;
        box-shadow: 0 .3rem .6rem 0 rgba(0, 0, 0, 0.15);
        width: 100%;
        text-align: center;
        padding: 1.2rem 1.6rem;
        font-size: 1.8rem;
        line-height: 1.3;
        color: #697180;
        font-weight: normal;
        position: absolute;
        left: 0;
        top: 0;
        z-index: 2;

    }
    #main-visual .mv-keyworks .mv-keyworks__list .mv-keyworks__submenu .mv-keyworks__close {
        display: block;
        position: absolute;
        right: 1.6rem;
        top: 1.1rem;
        z-index: 3;
        width: 2.4rem;
        height: 2.4rem;
        background: url(../img/common/close.svg) center center no-repeat;
        background-size: cover;
        cursor: pointer;
    }

    #main-visual .mv-keyworks .mv-keyworks__list .mv-keyworks__submenu ul {
        display: block;
        padding: 2.2rem 0;
        height: calc(100dvh - 4.7rem);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    #main-visual .mv-keyworks .mv-keyworks__list .mv-keyworks__submenu ul li {
        border-bottom: .1rem solid #C0C5CC;
    }

    #main-visual .mv-keyworks .mv-keyworks__list .mv-keyworks__submenu a {
        display: block;
        width: 100%;
        padding: 1.6rem 4rem 1.6rem 1.6rem;
        font-size: 1.6rem;
        line-height: 1.3125;
        color: #2C2A29;
        border-radius: 0;
        background: url(../img/common/icon_arrow.svg) right 1.6rem center no-repeat;
        background-size: 1.6rem auto;
    }



    .search-popup {
        max-height: calc(100dvh - 4.4rem);
        height: 100dvh;
        border-radius: .8rem .8rem 0 0;
        padding: 7.4rem 0 7.6rem;
        top: 4.4rem;
        transform: translate(-50%,0);
    }

    .popup-wrap .popup-body {
        position: fixed !important;
        bottom: 0px;
        top: auto;
        height: auto;
    }

    .search-popup .search-popup__close {
        right: .8rem;
        top: .8rem;
    }

    .search-popup .search-popup__head {
        height: 7.4rem;
        font-size: 2rem;
        line-height: 1.3;
        font-weight: bold;
    }

    .search-popup .search-popup__body {
        max-height: calc(100dvh - 19.4rem);
    }

    .search-popup .search-popup__body .js-toggle-target .js-toggle-button {
        padding-right: 1.6rem;
        padding-left: 16rem;
    }

    .search-popup .search-popup__body .level1 > li > .js-toggle-target > label .label-item {
        padding: 1.2rem 4.8rem;
    }

    .search-popup .search-popup__body .level1 > li > .js-toggle-target > label .label-item:before,
    .search-popup .search-popup__body .level1 > li > .js-toggle-target > label .label-item:after {
        left: 1.6rem;
        top: 1.2rem;
    }

    .search-popup .search-popup__body .level2 > li > .js-toggle-target > label .label-item {
        padding: 1.35rem 0 1.35rem 6.4rem;
        line-height: 1.5;
    }

    .search-popup .search-popup__body .level2 > li > .js-toggle-target > label .label-item:before,
    .search-popup .search-popup__body .level2 > li > .js-toggle-target > label .label-item:after {
        left: 3.2rem;
        top: 1.2rem;
    }

    .search-popup .search-popup__body .level3 > li > label .label-item {
        padding: 1.35rem 0 1.35rem 8rem;
        line-height: 1.5;
    }

    .search-popup .search-popup__body .level3 > li > label .label-item:before,
    .search-popup .search-popup__body .level3 > li > label .label-item:after {
        left: 4.8rem;
        top: 1.2rem;
    }

    .search-popup .search-popup__foot {
        box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.45);
        padding: 1.6rem 2rem;
    }

    .search-popup .search-popup__foot button {
        max-width: 100%;
    }

    .search-popup .search-popup__body .js-checkbox-target .js-checkbox-button {
        padding-right: 1.6rem;
    }

    .search-popup .search-popup__body .level1 > li > .js-checkbox-target > label .label-item {
        padding: 1.2rem 0 1.2rem 4.8rem;
    }

    .search-popup .search-popup__body .level1 > li > .js-checkbox-target > label .label-item:before,
    .search-popup .search-popup__body .level1 > li > .js-checkbox-target > label .label-item:after {
        left: 1.6rem;
        top: 1.2rem;
    }

    .search-popup .search-popup__body .js-checkbox .level2 > li > label .label-item {
        padding: 1.35rem 0 1.35rem 6.4rem;
        line-height: 1.5;
    }

    .search-popup .search-popup__body .js-checkbox .level2 > li > label .label-item:before,
    .search-popup .search-popup__body .js-checkbox .level2 > li > label .label-item:after {
        left: 3.2rem;
        top: 1.2rem;
    }
}

/* !teaser
---------------------------------------------------------- */
#teaser {
	position: relative;
    height: 16.8rem;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}


#teaser .teaser-bg {
	position: absolute;
	z-index: -1;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    line-height: 1;
    font-size: 1px;
}
#teaser .teaser-bg img {
	object-fit: cover;
	width: 100%;
    height: 100%;
}

#teaser .teaser-hd {
	line-height: 1.3;
	font-size: 3.2rem;
	font-weight: bold;
    color: #fff;
    text-align: center;
}

/*** hover ***/
@media screen and (min-width: 960px) {}

/*** スマホ 320px ~ 767px***/
@media screen and  (max-width: 767px) {
	
	#teaser {
        height: 10rem;
    }

    #teaser .teaser-hd {
        font-size: 2.8rem;
    }
}

/* !contents
---------------------------------------------------------- */
#contents {}

#main {}

#side {}

.inner {
    width: 100%;
    max-width: 114.4rem;
    padding: 0 2rem;
    margin: 0 auto;
}

/*** hover ***/
@media screen and (min-width: 960px) {}

/*** スマホ 320px ~ 767px***/
@media screen and  (max-width: 767px) {}

/* !page Top
---------------------------------------------------------- */
.page-top {
    position: absolute;
    right: 2rem;
    top: -5rem;
    transform: translateY(-50%);
    z-index: 2;
}
.page-top a {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #E9ECF2;
    box-shadow: 0 .145rem .582rem .145rem rgba(0, 0, 0, 0.15);
    width: 6.4rem;
    height: 6.4rem;
    border-radius: 100%;
}

.page-top a img {
    width: 3.5rem;
}

/*** hover ***/
@media screen and (min-width: 960px) {
    .page-top a:hover {
        opacity: .7;
    }
}

/*** スマホ 320px ~ 767px***/
@media (max-width: 767px) {
    .page-top {
        right: 2.6rem;
        top: -8.2rem;
    }
}

/* !footer
---------------------------------------------------------- */
#footer {
    width: 100%;
    border-top: .1rem solid #DDDDDD;
    background: #fff;
    padding: 5rem 0;
}

#footer .inner {
    position: relative;
}

.footer-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.footer-logo {
    width: 24.2rem;
    font-size: 1px;
    line-height: 1;
}

.footer-logo img {
    width: 100%;
}

.footer-nav {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: auto auto auto auto;
    grid-auto-flow: column;
    gap: 2.4rem 5rem;
}

.footer-nav li {
    min-width: 23rem;
}

.footer-nav li,
.footer-nav li a {
    font-size: 1.4rem;
    line-height: 1.3;
}

.footer-nav li a{
    text-decoration: underline;
}

#copyright {
    font-size: 1.2rem;
    line-height: 1.3;
    margin-top: -1.6rem;
}

/*** hover ***/
@media screen and (min-width: 960px) {
    .footer-nav li a:hover {
        text-decoration: none;
    }
}

@media screen and (max-width: 959px) {
    .footer-nav {
        gap: 2.4rem 3rem;
    }

    .footer-nav li {
        min-width: 20rem;
    }

}

/*** スマホ 320px ~ 767px***/
@media (max-width: 767px) {
    #footer {
        background: #F5F7FA;
        padding: 8.2rem 0 5.5rem;
    }

    .footer-inner {
        display: block;
    }

    .footer-logo {
        width: 24.2rem;
        font-size: 1px;
        line-height: 1;
        margin: 0 auto 4.6rem;
    }

    .footer-nav {
        grid-template-columns: auto auto;
        gap: 2.4rem 0;
    }

    .footer-nav li {
        min-width: unset;
    }

    #copyright {
        text-align: center;
        margin-top: 4rem;
    }

}

/* !heading
---------------------------------------------------------- */
.heading-large {
    text-align: center;
    font-size: 3.2rem;
    letter-spacing: .008rem;
    line-height: 1.1875;
    font-weight: normal;
    padding-bottom: 2rem;
    position: relative;
    margin-bottom: 3.2rem;
}

.heading-large:after {
    width: 8rem;
    height: .4rem;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    z-index: 2;
    content: '';
    background: linear-gradient(to right, #10069F, #10069F 50%, #F7B52C 50%, #F7B52C);
}

.heading-medium {
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.464285714285714;
    letter-spacing: .008rem;
    padding-left: 2.2rem;
    position: relative;
    margin-bottom: 2.4rem;
}

.heading-medium:before {
    width: .6rem;
    position: absolute;
    left: 0;
    top: .5rem;
    bottom: .5rem;
    background: #10069F;
    content: '';
    z-index: 2;
}

/*** hover ***/
@media screen and (min-width: 960px) {}

/*** スマホ 320px ~ 767px***/
@media screen and  (max-width: 767px) {
	.heading-large {
		margin-bottom: 2.4rem;
		font-size: 2.8rem;
        padding-bottom: 2.2rem;
	}

    .heading-medium {
        font-size: 2.6rem;
        padding-left: 1.4rem;
    }

    .heading-medium:before {
        top: .3rem;
        bottom: .3rem;
    }
	
}

/* !color
---------------------------------------------------------- */
.color-orange {
    color: #E65100;
}

.color-blue {
    color: #3D81DE;
}

.color-green {
    color: #1098A1;
}

/* !Top
---------------------------------------------------------- */
.top-seation {
    padding: 6.4rem 0;
}

.top-seation + .top-seation {
    border-top: .4rem solid #E5E5E5;
}

.area-search .area-search-button {
    text-align: center;
}

.area-search .area-search-button button {
    border: .1rem solid #939DAD;
    background: url(../img/common/add_remove.svg) 1.6rem center no-repeat #fff;
    background-size: 1.6rem auto;
    width: 100%;
    max-width: 25.6rem;
    height: 4.4rem;
    border-radius: 2.2rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 1.4rem;
    line-height: 1.3;
    font-weight: bold;
    color: #2C2A29;
    padding: 0 2.4rem 0 3.6rem;
    transition: .3s;
}

.icon-description .title {
    font-size: 1.2rem;
    line-height: 1.33;
    letter-spacing: .008rem;
    color: #333333;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .8rem;
}

.icon-description .title .icon {
    line-height: 1;
    font-size: 1px;
    width: 1.6rem;
    display: block;
    cursor: pointer;
}

.icon-description .title .icon img {
    width: 100%;
}

.icon-description__body {
    background: #fff;
    border: .1rem solid #C0C5CC;
    border-radius: .8rem;
    padding: 1.6rem;
    position: absolute;
    width: 36.6rem;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    z-index: 2;
}

.icon-description__body {
    font-size: 1.4rem;
    line-height: 1.5;
}

.icon-description__body p + p {
    margin-top: 1.5em;
}

.icon-description__body .icon-description-close__icon {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
    transform: translate(.9rem,-.9rem);
    width: 2.4rem;
    height: 2.4rem;
    background: url(../img/common/popup_cancel.svg) center center no-repeat;
    background-size: cover;
    cursor: pointer;
}

.icon-description__body .icon-description-close__text {
    margin-top: .8rem;
    text-align: center;
}

.icon-description__body .icon-description-close__text a {
    font-size: 1.4rem;
    line-height: 1.3;
    color: #3064D5;
    display: inline-flex;
    align-items: center;
    gap: .8rem;
}

.icon-description__body .icon-description-close__text a:after {
    width: 1.6rem;
    height: 1.6rem;
    content: '';
    background: url(../img/common/popup_close.svg) center center no-repeat;
    background-size: cover;
}

.popup-wrap {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .3s, visibility .3s;
}

.popup-wrap.is-show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.popup-wrap .popup-overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: #000;
    opacity: .5;
}

.popup-wrap .popup-body {
    position: relative;
    z-index: 2;
}

.print-icon {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: .4rem;
    padding: .3rem .7rem;
    border: .1rem solid #DF0D00;
    color: #DF0D00;
    font-size: 1.2rem;
    line-height: 1.5;
    border-radius: 15px;
    background: #fff;
}

.print-icon:before {
    width: 1.6rem;
    height: 1.6rem;
    line-height: 1;
    font-size: 1px;
    background: url(../img/common/icon_print_red.svg) center center no-repeat;
    background-size: 100% 100%;
    content: '';
}

.top-coupon__list {
    position: relative;
    width: 100%;
}

.top-coupon__list .icon-description {
    position: absolute;
    right: 0;
    bottom: 100%;
    z-index: 2;
    transform: translateY(-3.2rem);
    text-align: right;
}

.top-coupon__list .icon-description .print-icon {
    margin-top: .7rem;
}

.coupon-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5.6rem 2.4rem;
}

.coupon-list.is-swiper {
    display: block;
}

.coupon-list .coupon-list__item {
    background: #fff;
    overflow: hidden;
    box-shadow: 0 0 .4rem 0 rgba(0, 0, 0, 0.3);
    border-radius: .8rem;
    position: relative;
}

.coupon-list .coupon-list__item .links {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 3;
}

.coupon-list .coupon-list__item .icons {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    display: block;
    text-align: center;
    font-size: 1.2rem;
    line-height: 1.5;
    padding: .4rem 2rem;
    color: #fff;
    font-weight: bold;
    border-radius: 0 0 .8rem 0;
}

.coupon-list .coupon-list__item .icons.icon-coupon {
    background: #E65100;
}

.coupon-list .coupon-list__item .icons.icon-information {
    background: #3D81DE;
}

.coupon-list .coupon-list__item .icons.icon-blank {
    background: #1098A1;
}

.coupon-list .coupon-list__item .print-icon {
    position: absolute;
    right: .8rem;
    top: .8rem;
    z-index: 2;
    font-size: 1rem;
}

.coupon-list .coupon-list__item .img-wrap {
    position: relative;
    z-index: 1;
    width: 100%;
    padding-top: 63.92%;
}

.coupon-list .coupon-list__item .img-wrap img {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .3s;
}

.coupon-list .coupon-list__item .img-wrap .schedule-outline {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .4rem;
    padding: 1.6rem 1rem 1.2rem;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: bold;
    color: #fff;
    background: linear-gradient(0deg, #000000 0%, rgba(0, 0, 0, 0) 100%);
}

.coupon-list .coupon-list__item .img-wrap .schedule-outline:before {
    width: 1.6rem;
    height: 1.6rem;
    content: '';
    background: url(../img/common/schedule_outline.svg) center center no-repeat;
    background-size: cover;
}


.coupon-list .coupon-list__item .box-wrap {
    padding: 1.6rem;
    width: 100%;
}

.coupon-list .coupon-list__item .category-area {
    position: relative;
    z-index: 4;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.coupon-list .coupon-list__item .category-area .category-area__cate {
    display: inline-flex;
    border: .1rem solid #10069F;
    border-radius: .4rem;
    padding: .1rem .7rem;
    font-size: 1.4rem;
    line-height: 1.5;
    color: #10069F;
}

.coupon-list .coupon-list__item .category-area .category-area__area {
    font-size: 1rem;
    line-height: 1.5;
    color: #939DAD;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.coupon-list .coupon-list__item .category-area .category-area__area .area-marker {
    display: block;
    align-items: center;
    gap: .4rem;
    font-size: 1.4rem;
    line-height: 1.5;
    color: #10069F;
    max-width: 100px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    position: relative;
    padding-left: 1.6rem;
}

.coupon-list .coupon-list__item .category-area .category-area__area .area-marker:before {
    width: 1.6rem;
    height: 1.6rem;
    content: '';
    background: url(../img/common/icon_location_blue.svg) center center no-repeat;
    background-size: cover;
    top: 50%;
    left: 0;
    position: absolute;
    transform: translateY(-50%);
}

.coupon-list .coupon-list__item .title {
    overflow : hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.3;
    margin-top: .8rem;
    transition: .3s;
}

.coupon-list .coupon-list__item .stock-wrap {
    margin-top: 1.2rem;
}

.coupon-list .coupon-list__item .stock-wrap .stock-progress {
    width: 100%;
    height: 1rem;
    background: #E9ECF2;
    border-radius: .5rem;
    overflow: hidden;
    position: relative;
}

.coupon-list .coupon-list__item .stock-wrap .stock-progress .stock-progress-bar {
    position: absolute;
    left: 0;
    top: 0;
    border-radius: .5rem;
    z-index: 2;
    height: 100%;
}

.coupon-list .coupon-list__item .stock-wrap .stock-coupon {
    margin-top: .6rem;
    text-align: right;
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: bold;
}

.coupon-list .coupon-list__item .stock-wrap .stock-coupon .stock-coupon__count:not(.is-full) {
    font-size: 1.8rem;
    line-height: 1.16;
}

.coupon-list .coupon-list__item .stock-wrap.is-full .stock-progress .stock-progress-bar {
    background: #2EA307;
}

.coupon-list .coupon-list__item .stock-wrap.is-half .stock-progress .stock-progress-bar {
    background: #FF9800;
}

.coupon-list .coupon-list__item .stock-wrap.is-empty .stock-progress .stock-progress-bar {
    background: #CF3700;
}

.coupon-list .coupon-list__item .stock-wrap.is-full .stock-coupon .stock-coupon__count {
    color: #2EA307;
}

.coupon-list .coupon-list__item .stock-wrap.is-half .stock-coupon .stock-coupon__count {
    color: #FF7F27;
}

.coupon-list .coupon-list__item .stock-wrap.is-empty .stock-coupon .stock-coupon__count {
    color: #CF3700;
}

.coupon-list .coupon-list__item.stock-cut .stock-wrap .stock-progress .stock-progress-bar,
.coupon-list .coupon-list__item.expiration-cut .stock-wrap .stock-progress .stock-progress-bar {
    background: #D1D1D1 !important;
}

.coupon-list .coupon-list__item.expiration-cut .stock-wrap .stock-coupon,
.coupon-list .coupon-list__item.expiration-cut .stock-wrap .stock-coupon .stock-coupon__count {
    position: relative;
    color: #C0C5CC;
    margin-left: auto;
    width: fit-content;
    /* text-decoration: line-through; */
}
.coupon-list .coupon-list__item.expiration-cut .stock-wrap .stock-coupon::after {
    transform: translateY(-50%);
    top: 50%;
    left: 0;
    background-color: #C0C5CC;
    height: 2px;
    width: 100%;
    position: absolute;
    content: '';
}

.coupon-list .coupon-list__item .expiration {
    text-align: center;
    width: 100%;
    border-top: .1rem solid #DDDDDD;
    padding: 1.1rem;
    font-size: 1.2rem;
    line-height: 1.5;
    color: #A4A4A4;
    font-weight: bold;
}

.coupon-list .coupon-list__item.stock-cut .expiration,
.coupon-list .coupon-list__item.expiration-cut .expiration {
    color: #DF0D00;
}

.coupon-list .coupon-list__item.is-blank {
    padding-bottom: 3.7rem;
}

.coupon-list .coupon-list__item.is-blank .blank {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    width: 100%;
    padding-bottom: 1.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.4rem;
    line-height: 1.5;
    gap: .8rem;
    color: #3064D5;
}

.coupon-list .coupon-list__item.is-blank .blank:after {
    width: 1.6rem;
    height: 1.6rem;
    content: '';
    background: url(../img/common/open_in_new.svg) center center no-repeat;
    background-size: cover;
}

.tag-search .tag-search__list {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
}

.tag-search .tag-search__list a {
    border: .1rem solid #10069F;
    border-radius: 10rem;
    padding: .2rem 1.5rem;
    font-size: 1.4rem;
    line-height: 1.42857;
    display: block;
    color: #10069F;
}

.area-search-body {
    display: none;
}

.area-search__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.area-search__inner .area-search-map {
    width: 44.36%;
    position: relative;
}

.area-search__inner .area-search-map .area-map {
    position: relative;
    z-index: 1;
}

.area-search__inner .area-search-map .area-map img {
    width: 100%;
}

.area-search__inner .area-search-map .area-map .area-map__all {
    position: relative;
    z-index: 2;
}

.area-search__inner .area-search-map .area-map .area-map__single {
    position: absolute;
    z-index: 1;
    width: 100%;
    left: 0;
    top: 0;
    opacity: 0;
    transition: .3s;
}

.area-search__inner .area-search-map .area-map .area-map__single.is-hover {
    opacity: 1;
    z-index: 3;
}

.area-search__inner .area-search-map .map-links {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
}

.area-search__inner .area-search-map .map-links a {
    font-size: 1.2rem;
    line-height: 1.5;
    color: #2C2A29;
    padding: .4rem .8rem;
    background: #fff;
    border-radius: 99.9rem;
    box-shadow: 0 .1rem .4rem .1rem rgba(0, 0, 0, 0.15);
    border: .1rem solid #fff;
}

.area-search__inner .area-search-map .map-links a.is-hover {
    background: rgba(240, 247, 255, 1);
    border-color: #99C4FD;
    text-decoration: none;
    color: #10069F;
}

.area-search__inner .area-links a.is-hover .box-wrap .count {
    color: #2C2A29;
}

.area-links li.area-link-disabled .box-wrap {
    opacity: 0.3;
    pointer-events: none;
}

.area-search__inner .area-search-map .map-links li {
    position: absolute;
    z-index: 2;
}

.area-search__inner .area-search-map .map-links li.area-hokkaido {
    right: 9.631147540983607%;
    top: -1.521739130434783%;
}

.area-search__inner .area-search-map .map-links li.area-tohoku {
    right: 14.579918032786885%;
    bottom: 53.478260869565217%;
}

.area-search__inner .area-search-map .map-links li.area-northern-kanto {
    right: 17.653688524590164%;
    bottom: 40.217391304347826%;
}

.area-search__inner .area-search-map .map-links li.area-greater-tokyo {
    right: 18.473360655737705%;
    bottom: 29.130434782608696%;
}

.area-search__inner .area-search-map .map-links li.area-tokai {
    right: 34.631147540983607%;
    bottom: 22.391304347826087%;
}

.area-search__inner .area-search-map .map-links li.area-koshinetsu {
    left: 38.524590163934426%;
    bottom: 51.956521739130435%;
}

.area-search__inner .area-search-map .map-links li.area-hokuriku {
    left: 30.327868852459016%;
    bottom: 41.08695652173913%;
}

.area-search__inner .area-search-map .map-links li.area-kinki {
    right: 45.081967213114754%;
    bottom: 15.652173913043478%;
}

.area-search__inner .area-search-map .map-links li.area-chugoku {
    left: 12.09016393442623%;
    bottom: 33.260869565217391%;
}

.area-search__inner .area-search-map .map-links li.area-shikoku {
    left: 25.819672131147541%;
    bottom: 11.739130434782609%;
}

.area-search__inner .area-search-map .map-links li.area-kyushu {
    left: 1.229508196721311%;
    bottom: 9.565217391304348%;
}

.area-search__inner .area-search-map .map-links li.area-okinawa {
    left: 22.336065573770492%;
    top: 18.478260869565217%;
}

.map-link-disabled a {
    opacity: 0.3;
    pointer-events: none;
}

.area-search__inner .area-search-links {
    width: 47.27%;
}

.area-search__inner .area-links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .8rem;
}

.area-search__inner .area-links a {
    width: 100%;
    height: 100%;
    background: #fff;
    border-radius: .8rem;
    box-shadow: 0 1rem .7rem -.5rem rgba(0, 0, 0, 0.1);
    padding: 1.2rem;
    display: block;
    text-align: center;
    line-height: 1;
    font-size: 1px;
    border: .1rem solid #fff;
}

.area-search__inner .area-links a .img-wrap {
    width: 100%;
    max-width: 10rem;
    display: inline-block;
    line-height: 1;
    font-size: 1px;
}

.area-search__inner .area-links a .img-wrap img {
    width: 100%;
}

.area-search__inner .area-links a .box-wrap {
    font-size: 1.6rem;
    line-height: 1.5;
    color: #2C2A29;
    display: block;
    transition: .3s;
}

.area-search__inner .area-links a .box-wrap .count {
    font-size: 1.4rem;
    color: #697180;
    margin-left: .25em;
}

.area-search__inner .area-links a.is-hover {
    background: rgba(240, 247, 255, 1);
    border-color: #99C4FD;
    text-decoration: none;
}

.area-search__inner .area-links a.is-hover .box-wrap {
    color: #10069F;
}

/*** hover ***/
@media screen and (min-width: 960px) {
    .area-search .area-search-button button:hover {
        border-color: #99C4FD;
        background-image: url(../img/common/add_remove_hover.svg);
        background-color: #F0F7FF;
        color: #140D77;
    }

    .coupon-list .coupon-list__item:hover img {
        opacity: .7;
    }
    .coupon-list .coupon-list__item:hover .title {
        opacity: .7;
        text-decoration: underline;
    }

    .tag-search .tag-search__list a:hover {
        text-decoration: none;
        color: #fff;
        background: #10069F;
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and  (max-width: 767px) {
    .top-seation {
        padding: 4.8rem 0;
    }

    .top-seation + .top-seation {
        border-top: 0;
    }

    .area-search {
        background: #F5F7FA;
    }

    .icon-description-area {
        margin-bottom: 2.4rem;
    }

    .top-coupon__list .icon-description {
        position: relative;
        bottom: 0;
        transform: translateY(0);
    }

    .coupon-list {
        display: block;
    }

    .coupon-list .coupon-list__item + .coupon-list__item {
        margin-top: 2.4rem;
    }

    .coupon-list .coupon-list__item:nth-child(n+11){
        display: none;
    }

    .tag-search {
        border-top: .1rem solid #E5E5E5 !important;
    }

    .tag-search .inner {
        padding: 0 1.6rem;
    }

    .tag-search .tag-search__list a {
        padding: .1rem 1.5rem;
        font-size: 1.6rem;
        line-height: 1.5;
    }

    .area-search__inner {
        display: block;
    }

    .area-search__inner .area-search-map {
        display: none;
    }

    .area-search__inner .area-search-links {
        width: 100%;
    }

    .area-search__inner .area-links a .box-wrap {
        font-size: 1.4rem;
    }

    .area-search__inner .area-links a.is-hover {
        background: #fff;
        border-color: #fff;
    }

    .area-search__inner .area-links a.is-hover .box-wrap {
        color: #2C2A29;
    }
}

/* !ご利用方法
---------------------------------------------------------- */
.use-wrap {
	padding: 3.2rem 0 9.6rem;
	background: #F5F7FA;
}
.use-wrap .bg {
	padding: 6.4rem 8.2rem 7.6rem;
	background: #fff;
	border-radius: 1.6rem;
}
.use-flow-introds li {
	padding-bottom: 5rem;
}
.use-flow-introds li + li {
	padding-top: 4.7rem;
	border-top: 1px solid #C0C5CC;
}
.use-flow-introds li:last-child {
	padding-bottom: 0;
} 
.use-flow-introds .step {
	position: relative;
	padding-left: 4rem;
	margin-bottom: 1.8rem;
	line-height: 1.3;
	font-size: 2rem;
	font-weight: 700;
}
.use-flow-introds .step .num {
	position: absolute;
	left: 0.2rem;
	top: -0.1rem;
	width: 2.6rem;
}
.use-flow-introds .display {
	display: flex;
	justify-content: space-between;
}
.use-flow-introds .display .img {
	width: calc(45% - 2.3rem);
}
.use-flow-introds .display .info {
	width: calc(50% + 3rem);
	font-size: 1.4rem;
}
.use-flow-introds .display .note {
	margin-top: 2.4rem;
	color: #CF3700;
	font-weight: 700;
	font-size: 1.2rem;
}
.use-wrap .print-notes {
	margin-top: 1.6rem;
	padding: 2.4rem;
	background: #FFF7F7;
	color: #DF0D00;
	font-size: 1.4rem;
}
.print-notes .print {
	padding: 0.2rem 0 0.2rem 3.2rem;
	margin-bottom: 0.8rem;
	background: url(../img/common/icon_print_red.svg)no-repeat left center;
	font-weight: 700;
}

.use-flow-introds.policy_wrap p,
.use-flow-introds.policy_wrap ul li,
.use-flow-introds.policy_wrap ul li div {
    font-size: 1.4rem;
}
.use-flow-introds.policy_wrap p.step {
    font-size: 1.6rem;
    color: #10069F;
    font-weight: bold;
    padding-left: 0px;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid #DDD;
}
.policy_mainread {
    margin-bottom: 4rem;
}
.use-flow-introds.policy_wrap ul li{
    margin-bottom: 4rem;
    padding-bottom: 0;
}
.use-flow-introds.policy_wrap ul li ul li{
    margin-bottom: 0rem;
}
.use-flow-introds.policy_wrap li + li {
    border-top: none;
    padding-top: 0px;
}
.use-flow-introds.policy_wrap .policy_ol{
    padding-left: 1em;
}
.use-flow-introds.policy_wrap .policy_ol li{
    margin-bottom: 0;
    list-style: decimal;
    padding-left: 0.5em;
    margin-bottom: 0.8rem;
}
.use-flow-introds.policy_wrap .policy_ol li ol {
    margin-top: 0.8rem;
    padding-left: 2.3em;
}
.use-flow-introds.policy_wrap .policy_ol li ol li{
    list-style: lower-alpha;
}
.policy_blue_content {
    background: #F0F7FF;
    padding: 1.6rem;
    margin-bottom: 1.6rem;
    margin-top: 1.6rem;
}
li > .policy_blue_content:last-child {
    margin-bottom: 0;
}
.policy_blue_content a {
    color: #3064D5;
    text-decoration: underline;
}
.policy_blue_content a:hover {
    text-decoration: none;
}


/*** スマホ 320px ~ 767px***/
@media screen and  (max-width: 767px) {
    .use-wrap {
        padding: 0;
    }
    .use-wrap .bg {
        padding: 4rem 1.6rem 13.8rem;
        margin: 0 -2rem;
        border-radius: 0;
    }
    .use-flow-introds li {
        padding: 0 1.6rem 6.4rem;
        margin: 0 -1.6rem;
    }
    .use-flow-introds li + li {
        padding-top: 6.4rem;
        border-top: 0.8rem solid #E9ECF2;
    }
    .use-flow-introds .step {
        padding-left: 3.6rem;
        margin-bottom: 2.6rem;
        font-size: 1.8rem;
    }
    .use-flow-introds .step .num {
        left: 0;
        top: -0.3rem;
        width: 2.8rem;
    }
    .use-flow-introds .display {
        display: block;
    }
    .use-flow-introds .display .img {
        margin-bottom: 2.4rem;
        width: auto;
    }
    .use-flow-introds .display .info {
        width: auto;
        line-height: 1.71;
    }
    .use-flow-introds .display .note {
        margin-top: 1.6rem;
    }
    .use-wrap .print-notes {
        padding: 1.6rem;
    }

    .use-flow-introds.policy_wrap li{
        margin: 0;
        padding: 0;
    }
    .use-flow-introds.policy_wrap p.step{
        margin-bottom: 1.6rem;
    }
    .use-flow-introds.policy_wrap .policy_ol li ol {
        padding-left: 1.3em;
    }
}



/* !特集
---------------------------------------------------------- */

.feature-wrap {
	padding: 0 0 5.6rem;
	background: #F5F7FA;
}
.feature-list-part {
	padding: 4rem 0;
}
.feature-list-part + .feature-list-part {
	border-top: 1px solid #DDDDDD;
}
.feature-list-part .head {
	margin-bottom: 3.2rem;
	line-height: 1;
	font-weight: 700;
	font-size: 2.8rem;
}
.feature-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2.4rem;
}
.feature-list li a {
	display: block;
}
.feature-list li a:hover {
	text-decoration: none;
}
.feature-list li .img {
	overflow: hidden;
    display: block;
    width: 100%;
    padding-top: 66.667%;
	margin-bottom: 0.8rem;
    position: relative;
}
.feature-list li .img img {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.feature-list li .tit {
	line-height: 1.4;
	font-weight: 700;
    overflow : hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.feature-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
}

.feature-list .feature-tags {
    margin-top: .8rem;
}

.feature-tags span,
.feature-tags a {
	padding: 0.3rem 0.8rem 0.2rem;
	background: #E9ECF2;
	border-radius: 0.4rem;
	line-height: 1;
	color: #697180;
	font-size: 1.2rem;
}

.feature#teaser {
    height: 22rem;
    font-size: 1.6rem;
    line-height: 1.7;
    color: #fff;
    text-align: center;
}

.feature#teaser .teaser-hd {
    margin-bottom: 1.6rem;
}

.feature-mainimg {
    width: 100%;
    position: relative;
    height: 45rem;
    display: flex;
    align-items: center;
}

.feature-mainimg .feature-mainimg__bg {
    /* position: absolute;
    left: 0;
    top: 0; */
    width: 100%;
    height: 100%;
    z-index: 1;
}

.feature-mainimg .feature-mainimg__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.feature-mainimg__bg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.25); /* ここで暗さを調整 */
}

.feature-mainimg .feature-mainimg__info {
    width: 100%;
    /* position: relative; */
    position: absolute;
    z-index: 2;
    color: #fff;
    font-size: 1.8rem;
    line-height: 1.7;
}

.feature-mainimg .feature-mainimg__info .feature-head {
    font-size: 3.4rem;
    line-height: 1.4;
    font-weight: bold;
    margin-bottom: 2.4rem;
}

.feature-mainimg .feature-mainimg__info time {
    display: block;
    /* margin-top: 2.4rem; */
    line-height: 1.4;
}

.feature-mainimg .feature-mainimg__info .feature-tags {
    margin-top: 2.4rem;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .feature-mainimg .feature-mainimg__bg img {
        object-fit: contain;
    }

    .feature-mainimg .feature-mainimg__bg {
        height: auto;
    }
}

.detail-content {
	display: flex;
	justify-content: space-between;
	padding: 6.4rem 0 7.2rem;
}
.detail-content .main {
	width: calc(75% - 2.8rem);
}
.detail-content .side {
	width: calc(25% - 3.6rem);
}
.detail-content .detail-part + .detail-part {
	margin-top: 8rem;
}
.detail-content .detail-part h2 {
	padding-left: 2.2rem;
	margin-bottom: 3.2rem;
	border-left: 0.6rem solid #10069F;
	letter-spacing: 0.8px;
	line-height: 1;
	color: #333;
	font-size: 2.8rem;
	font-weight: 700;
}
.detail-content .detail-part h3 {
	margin-bottom: 1.6rem;
	line-height: 1.7;
	font-weight: 700;
}
.detail-content .detail-part h3:after {
	content: "";
	display: block;
	margin-top: 1rem;
	width: 5rem;
	border-bottom: 1px solid;
}
.detail-content .detail-part p {
	margin-bottom: 3.2rem;
	line-height: 1.7;
}

.color-gre {
	color: #2EA307;
}
.color-red {
	color: #DF0D00;
}
.color-ora {
	color: #FF9800;
}

.detail-coupon {
	margin-top: 6rem;
}
.detail-coupon .detail-coupon__hd {
	display: flex;
	align-items: center;
	gap: 0 0.6rem;
	margin-bottom: 2.4rem;
	color: #10069F;
	font-weight: 700;
}
.detail-coupon .detail-coupon__hd:before {
	content: "";
	width: 2rem;
	height: 2rem;
	background: url(../img/feature/detail/icon_coupon.svg)no-repeat center;
	background-size: 100%;
}


.detail-sns {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 1.6rem;
	margin-top: 6.4rem;
	padding: 1.6rem;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}
.detail-sns .tit {
	margin-right: 0.5rem;
	font-size: 1.2rem;
}

.btn-link {
	margin-top: 6.4rem;
	text-align: center;
}
.btn-link a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 25.6rem;
	height: 4.4rem;
	border-radius: 5rem;
	border: 1px solid #939DAD;
}
.btn-link .golist {
	padding: 0 1rem 0 2.2rem;
	background: url(../img/feature/icon_arrow_left.svg)no-repeat 1.6rem center;
	background-size: 1.6rem;
}

.detail-content .side .part {
	padding: 3.2rem 0;
} 
.detail-content .side .part:first-child {
	padding-top: 0;
}
.detail-content .side .part + .part {
	border-top: 1px solid #ddd;
}
.detail-content .side .head {
	margin-bottom: 1.6rem;
	font-size: 1.8rem;
	font-weight: 700;
}

.detail-content .side-links {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
}

.detail-content .side-links a {
	display: block;
}

.detail-content .side-links .img {
    display: block;
    width: 100%;
    position: relative;
    padding-top: 66.667%;
}

.detail-content .side-links .img img {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.detail-content .side-links .title {
    display: block;
    margin-top: .4rem;
    font-size: 1.4rem;
    line-height: 1.4;
    overflow : hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* ===== feature dates (published / updated) ===== */
.feature-mainimg .feature-mainimg__info .feature-dates{
  display:flex;
  align-items:center;
  gap:1.6rem;
  margin-top:2.4rem;       /* 旧 <time> と同等の余白 */
  line-height:1.4;
}

.feature-dates .date-item{
  display:inline-flex;
  align-items:center;
  gap:.2rem;
  font-size:1.4rem;
}

/* アイコン（SVGはプロジェクトの common 配下に配置してください） */
.feature-dates .date-item i{
  width:1.6rem;
  height:1.6rem;
  display:inline-block;
  background-size:100% 100%;
  background-repeat:no-repeat;
}

/* 公開日：時計アイコン */
.feature-dates .date-item.is-published i{
  background-image:url(../img/common/icon_time_white.svg);
}

/* 更新日：リフレッシュ（更新）アイコン */
.feature-dates .date-item.is-updated i{
  background-image:url(../img/common/icon_refresh_white.svg);
}

/* SP 微調整 */
@media (max-width:767px){
  .feature-mainimg .feature-mainimg__info .feature-dates{
    gap:1.6rem;
    margin-top:1.6rem;
  }
}

.js-toggle-box {
	display: none;
}

@media (min-width: 1024px) {
  .js-toggle-target.js-level1-radio:hover {
    background-color: #F5F7FA;
    color:#3064D5;
  }

    .js-checkbox-target:hover {
    background-color: #F5F7FA;
  }

    /* level1, level2, level3 共通の hover スタイル */
  .js-toggle-target.js-level1-radio:hover,
  .js-toggle-target.js-level2-radio:hover,
  .js-toggle-target.js-level3-radio:hover,
  .label-item:hover {
    color: #3064D5;            /* 文字色 */
  }
}

/*** hover ***/
@media screen and (min-width: 960px) {
    
    .feature-list li a:hover {
        opacity: .7;
        text-decoration: none;
    }
    .feature-list li a:hover .tit {
        text-decoration: underline;
    }
    
    .side-links a:hover{
        opacity: .7;
        text-decoration: underline;
    }
}

@media screen and  (min-width: 768px) {
    .detail-coupon .coupon-list {
        grid-template-columns: repeat(1, 1fr);
        gap: 2.4rem;
    }

    .detail-coupon .coupon-list .coupon-list__item {
        display: flex;
        align-items: flex-start;
    }

    .detail-coupon .coupon-list .coupon-list__item .img-wrap {
        width: 25rem;
        padding-top: 0;
        height: 20rem;
    }

    .detail-coupon .coupon-list .coupon-list__item .img-wrap .schedule-outline {
        font-size: 1.4rem;
    }

    .detail-coupon .coupon-list .coupon-list__item .item-wrap {
        padding: 2.5rem 3.2rem;
        min-width: 65%;
    }

    .detail-coupon .coupon-list .coupon-list__item .box-wrap {
        padding: 0;
    }

    .detail-coupon .coupon-list .coupon-list__item .print-icon.is-sp {
        display: none;
    }

    .detail-coupon .coupon-list .coupon-list__item .category-area .print-icon {
        position: relative;
        right: 0;
        top: 0;
    }

    .detail-coupon .coupon-list .coupon-list__item .category-area {
        flex-wrap: wrap;
    }

    .detail-coupon .coupon-list .coupon-list__item .category-area .category-area__right {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: 1.6rem;
    }

    .detail-coupon .coupon-list .coupon-list__item .category-area .category-area__right .category-area__area {
        flex-direction: row-reverse;
        align-items: center;
        gap: .8rem;
    }

    .detail-coupon .coupon-list .coupon-list__item .title {
        margin-top: 1.6rem;
    }

    .detail-coupon .coupon-list .coupon-list__item .stock-wrap {
        margin-top: 2.4rem;
    }

    .detail-coupon .coupon-list .coupon-list__item .expiration {
        margin: 0;
        padding: 0;
        border: 0;
        text-align: left;
    }
}


/*** スマホ 320px ~ 767px***/
@media screen and  (max-width: 767px) {
    .feature#teaser {
        height: 20.4rem;
        font-size: 1.5rem;
    }

    .feature-wrap {
        background: #fff;
    }
    .feature-list-part {
        padding: 3.2rem 0;
    }
    .feature-list-part .head {
        margin-bottom: 1.6rem;
        font-size: 2rem;
    }
    .feature-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 3.2rem 0.9rem;
    }
    .feature-list li .tit {
        font-size: 1.4rem;
    }

    .feature-mainimg {
        height: auto;
        /* min-height: 32rem;
        padding: 2rem 0; */
    }

    .feature-mainimg .feature-mainimg__info {
        font-size: 1.6rem;
    }

    .feature-mainimg .feature-mainimg__info .feature-head {
        font-size: 2.6rem;
        line-height: 1.3;
        margin-bottom: 1.6rem;
    }

    .feature-mainimg .feature-mainimg__info .feature-tags {
        margin-top: 1.6rem;
    }

    
    .detail-content {
        display: block;
        padding: 4rem 0;
    }
    .detail-content .main {
        width: auto;
    }
    .detail-content .side {
        margin-top: 4.8rem;
        width: auto;
    }
    
    .detail-title .inner {
        gap: 1.6rem 0;
        padding: 0;
    }
    #teaser .detail-title .head {
        font-size: 2.6rem;
    }
    #teaser .detail-title h3 {
        font-size: 1.6rem;
    }
    
    .detail-content .detail-part + .detail-part {
        margin-top: 4.8rem;
    }
    .detail-content .detail-part h2 {
        padding-left: 1.4rem;
        margin-bottom: 2.4rem;
        font-size: 2rem;
    }
    .detail-content .detail-part p {
        margin-bottom: 2.4rem;
    }

    .detail-coupon .coupon-list .coupon-list__item .print-icon.is-pc {
        display: none;
    }
    
    .detail-sns {
        gap: 0 1.6rem;
        margin-top: 5rem;
        padding: 0;
        border-top: 0;
        border-bottom: 0;
    }
    
    .btn-link {
        margin-top: 4.8rem;
    }
    
    .detail-content .side .part {
        padding: 2.4rem 0;
    }
    .detail-content .side .part + .part {
        border-top: 0;
    }
    .detail-content .side-links {
        grid-template-columns: repeat(2, 1fr);
        gap: 3.2rem 0.9rem;
    }
    .detail-content .side-links li {
        font-weight: 700;
    }
}

/* おすすめの特集（SP用レイアウト修正） */
@media (max-width: 767px) {

  /* グリッドを解除して縦並びに */
  .detail-content .side-links {
    display: block !important;
  }

  .detail-content .side-links li {
    padding: 0.8rem 0;       /* 各アイテム上下の余白 */
  }

  /* 各リンクを横並びカードに */
  .detail-content .side-links a {
    display: flex !important;
    gap: 1.6rem;              /* 画像とテキストの間隔 */
    width: 100%;
  }

  /* サムネイル画像 */
  .detail-content .side-links .img {
    flex: 0 0 112px;          /* 横幅固定 */
    width: 112px;
    height: 72px;             /* 高さ固定（比率を揃える） */
    padding-top: 0 !important;
    position: static !important;
    overflow: hidden;
    display: block;
  }

  .detail-content .side-links .img img {
    position: static !important;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  /* タイトル部分 */
  .detail-content .side-links .title {
    flex: 1 1 auto;
    margin: 0;
    font-size: 1.4rem;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;  /* 行数制限：2行で省略 */
    overflow: hidden;
  }
}

/* !よくある質問
---------------------------------------------------------- */

.faq-wrap {
	padding: 3.2rem 0 11rem;
	background: #F5F7FA;
}
.faq-wrap .bg {
	padding: 6.4rem 8.2rem;
	background: #fff;
	border-radius: 1.6rem;
}
.faq-part + .faq-part {
	margin-top: 8rem;
}
.faq-part .head {
	margin-bottom: 2.4rem;
	font-weight: 700;
	font-size: 2.4rem;
}
.faq-list li {
	overflow: hidden;
	border-radius: 0.8rem;
	border: 2px solid #E9ECF2;
	font-size: 1.4rem;
}
.faq-list li + li {
	margin-top: 1.6rem;
}
.faq-list .quest {
	cursor: pointer;
	position: relative;
	padding: 1.6rem 4rem 1.6rem 3.6rem;
	background: #E9ECF2;
	font-weight: 700;
}
.faq-list .quest:before {
	content: "Q";
	position: absolute;
	left: 1.6rem;
	top: 1.8rem;
	line-height: 1;
	font-family: "Roboto", sans-serif;
	color: #66A4F9;
	font-size: 1.6rem;
}
.faq-list .quest:after {
	content: "";
	position: absolute;
	right: 1.6rem;
	top: 0;
	transition-duration: 0.3s;
	height: 100%;
	width: 1.6rem;
	background: url(../img/common/icon_arrow_down.svg)no-repeat center;
	background-size: 100%;
}
.faq-list .quest.open:after {
	transform: rotate(180deg);
}
.faq-list .answer {
	padding: 1.6rem;
	background: #fff;
}
.faq-list .answer a{
    color:#3064D5 ;
    text-decoration: underline;
}
.faq-list .answer a:hover{
    text-decoration: none;
}



/*** スマホ 320px ~ 767px***/
@media screen and  (max-width: 767px) {
	
	.faq-wrap {
	    padding: 4rem 0 6rem;
	    background: #fff;
	}
	.faq-wrap .bg {
	    padding: 0;
	}
	
	.faq-part .head {
	    font-size: 2rem;
	}
}


/* !search
---------------------------------------------------------- */
.search-top {
    background: #F5F7FA;
    padding: 1.6rem 0;
    box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.45);
}

.search-top .search-top-button {
    display: none;
}

.search-top .mv-search {
    padding: 0;
    margin: 0;
    background: none;
}

.cagetgory-children {
    background: #E0EDFF;
    padding: 2rem 0;
}

.cagetgory-children .cagetgory-children__list {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .8rem;
}

.cagetgory-children .cagetgory-children__list a {
    border: .1rem solid #fff;
    background: #fff;
    padding: 1rem 2.4rem;
    font-size: 1.4rem;
    line-height: 1.5;
    border-radius: 10rem;
    box-shadow: 0 1rem .7rem -.5rem rgba(0, 0, 0, 0.08);
    color: #10069F;
    font-weight: bold;
    display: block;
}

.cagetgory-children .cagetgory-children__list a .count {
    color: #697180;
    font-weight: normal;
}

.search-wrap {
    padding: 4rem 0 6.4rem;
}


.search-wrap .search-hd {
    font-size: 2.8rem;
    line-height: 1.5;
    letter-spacing: .008rem;
    font-weight: bold;
    color: #333;
    text-align: center;
    margin-bottom: 3.2rem;
}

.search-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 3.2rem;
    font-size: 1.4rem;
    color: #333;
    line-height: 1.5;
}

.search-info .count {
    font-size: 1.6rem;
    font-weight: bold;
}

.search-info .search-info__box {
    flex: 11;
}

.icon-description-area {
    flex: 2;
}

.search-info .search-info__box dl {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-bottom: .4rem;
    gap: 1rem;
}

.search-info .search-info__box dl dt {
    font-size: 1.4rem;
    line-height: 1.5;
    color: #333;
    word-break: keep-all;
    white-space: nowrap;
}

.search-info .search-info__box dl dd {
    border: .1rem solid #C0C5CC;
    border-radius: .2rem;
    font-size: 1.4rem;
    line-height: 1.2142857;
    padding: .1rem .3rem;
}

.search-info .icon-description {
    text-align: right;
}

.search-info .icon-description .print-icon {
    margin-top: .7rem;
    font-size: 1.2rem;
}

.wp-pagenavi {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 6.4rem auto 0;
    position: relative;
    text-align: center;
}

.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .pages {
    display: none;
}

.wp-pagenavi a,
.wp-pagenavi span {
    border: 0;
    padding: 0;
    margin: 0;
}

.wp-pagenavi .page,
.wp-pagenavi .current {
    width: 4.4rem;
    height: 4.4rem;
    border-radius: .4rem;
    font-size: 1.4rem;
    line-height: 1;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: #E9ECF2;
    margin: 0 .4rem;
}

.wp-pagenavi .current {
    color: #fff;
    background: #697180;
    font-weight: bold;
}

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
    width: 4.4rem;
    height: 4.4rem;
    background: url(../img/common/icon_arrow.svg) center center no-repeat;
    background-size: 2.4rem;
    font-size: 0;
}
.wp-pagenavi a.previouspostslink {
    transform: scaleX(-1);
}

/*** PC HOVER ***/
@media screen and (min-width: 960px) {
    .wp-pagenavi .page:hover {
        color: #fff;
        background-color: #697180;
        text-decoration: none;
    }

}

@media screen and  (min-width: 768px) {
    .search-top .search-top-body {
        display: block !important;
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and  (max-width: 767px) {
    .search-top {
        background: #F5F7FA;
        padding: 1.6rem 0;
        box-shadow: unset;
    }

    .search-top .search-top-body {
        display: none;
    }

    .search-top .search-top-button {
        display: block;
        text-align: center;
    }

    .search-top .search-top-button a,
    .search-top .search-top-button button {
        border: .1rem solid #939DAD;
        background: url(../img/common/add_remove.svg) 1.2rem center no-repeat #fff;
        background-size: 1.6rem auto;
        height: 3rem;
        border-radius: 10rem;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        font-size: 1.2rem;
        line-height: 1.3;
        color: #2C2A29;
        padding: 0 1.6rem 0 3.2rem;
    }

    #popup-search .search-popup {
        max-height: auto;
        height: auto;
        border-radius: 0 0 .8rem .8rem;
        padding: 2.4rem 1.6rem;
        background: #F5F7FA;
    }

    #popup-search .search-popup .search-popup__close {
        display: none;
    }

    .search-top .mv-search {
        padding: 0;
        margin: 0;
        background: none;
    }

    .cagetgory-children {
        background: #E0EDFF;
        padding: 1.6rem 0;
    }

    .cagetgory-children .inner {
        padding: 0 1.6rem;
    }

    .cagetgory-children .cagetgory-children__list {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: .8rem;
    }

    .cagetgory-children .cagetgory-children__list a {
        padding: 1rem;
        width: 100%;
        text-align: center;
    }

    .search-wrap {
        padding: 3.2rem 0 6.7rem;
    }


    .search-wrap .search-hd {
        font-size: 2.6rem;
        margin-bottom: 2.4rem;
    }

    .search-info {
        display: block;
        margin-bottom: 2.4rem;
    }

    .search-info .search-info__box {
        margin-bottom: 1.6rem;
        padding-bottom: 1.4rem;
        border-bottom: .1rem solid #DDDDDD;
    }

    .wp-pagenavi {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        margin-top: 4rem;
    }
    .wp-pagenavi .pages,
    .wp-pagenavi .first,
    .wp-pagenavi .last {
        display: none;
    }
    .wp-pagenavi .page,
    .wp-pagenavi .current {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        z-index: 2;
        width: 4.2rem;
        height: 4.2rem;
        border-radius: .4rem;
        font-size: 1.4rem;
        line-height: 1;
        background: #E9ECF2;
        color: #2C2A29;
        padding: 0;
        margin: 0 .3rem;
    }
    .wp-pagenavi .current {
        font-weight: bold;
        color: #fff;
        background: #697180;
    }
    .wp-pagenavi a.previouspostslink,
    .wp-pagenavi a.nextpostslink {
        width: 4.2rem;
        height: 4.2rem;
        background: url(../img/common/icon_arrow.svg) center center no-repeat;
        background-size: 2.4rem;
        font-size: 0;
    }
    .wp-pagenavi a.previouspostslink {
        transform: scaleX(-1);
    }
}


.coupon-detail {
    padding: 3.2rem 0 7.6rem;
}

.coupon-detail .coupon-detail__box {
    background: #fff;
    border-radius: 1.6rem;
}

.coupon-detail .coupon-detail__box .coupon-detail__box-sns {
    margin-top: 1.5rem;
    border: none;
}

.coupon-detail .coupon-box__item {
    padding: 4.8rem 8.2rem;
}

.coupon-detail .coupon-box__item + .coupon-box__item {
    border-top: .4rem solid #E9ECF2;
}

.coupon-detail .coupon-box__item:first-child {
    padding-top: 3.6rem;
}

.coupon-detail .coupon-head {
    margin-bottom: 2.4rem;
    position: relative;
}

.coupon-detail .coupon-head .location a {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
    font-size: 1.6rem;
    line-height: 1.5;
    color: #10069F;
    display: flex;
    align-items: center;
    gap: .4rem;
}

.coupon-detail .coupon-head .location a:before {
    width: 1.6rem;
    height: 1.6rem;
    content: '';
    background: url(../img/common/icon_location_blue.svg) center center no-repeat;
    background-size: cover;
}

 .coupon-head .sub-location {
  font-size: 1.2rem;      
  color: #939DAD;        
  margin-top: 2.4rem;
}

.location-wrap {
  display: flex;
  flex-direction: column;  /* 縦並び */
  align-items: flex-end; 
}


.coupon-detail .coupon-head .category-list {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    align-items: center;
    margin-bottom: .8rem;
}

.coupon-detail .coupon-head .category-list a,
.coupon-detail .coupon-head .category-list span {
    border: .1rem solid #10069F;
    border-radius: .4rem;
    background: #fff;
    font-size: 1.6rem;
    line-height: 1.5;
    color: #10069F;
    padding: .1rem .7rem;
    display: inline-block;
}

.coupon-detail .coupon-head .title {
    font-size: 3.2rem;
    line-height: 1.4375;
    font-weight: bold;
    color: #2C2A29;
    margin-bottom: .8rem;
}

.coupon-detail .coupon-head .description {
    font-size: 1.8rem;
    line-height: 1.22;
    color: #697180;
    margin-bottom: 2rem;
}

.coupon-detail .coupon-head .tags-list {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    align-items: center;
    margin-bottom: .8rem;
}

.coupon-detail .coupon-head .tags-list a,
.coupon-detail .coupon-head .tags-list span {
    border: .1rem solid #10069F;
    border-radius: 10rem;
    background: #fff;
    font-size: 1.4rem;
    line-height: 1.5;
    color: #10069F;
    padding: .2rem 1rem;
    display: inline-block;
}

.coupon-detail .coupon-gallery {
    position: relative;
    width: 100%;
    margin-bottom: 4.8rem;
}

.coupon-detail .coupon-gallery .swiper-slide {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
}

.coupon-detail .coupon-gallery img {
    width: 100%;
    width: 55rem;
    height: 38rem;
    border-radius: .8rem;
    object-fit: cover;
}

.coupon-detail .coupon-gallery figure figcaption {
    display: block;
    font-size: 1.2rem;
    line-height: 1.4rem;
    color: #697180;
    margin-top: .4rem;
}

.swiper-pagination {
    line-height: 1;
    font-size: 1px;
}

.swiper-pagination .swiper-pagination-bullet {
    width: 1rem;
    height: 1rem;
    opacity: .7;
    background: #C0C5CC;
    margin: 0 .2rem;
    
}

.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    opacity: 1;
    background: #fff;
    box-shadow: 0 .1rem .4rem .1rem rgba(0, 0, 0, 0.15);

}

.coupon-detail .coupon-gallery .swiper-pagination {
    bottom: -1.6rem;
}

.swiper-button-next, 
.swiper-button-prev {
    width: 5.2rem !important;
    height: 5.2rem !important;
    margin-top: -2.6rem !important;
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    opacity: 0;
}

.swiper-button-prev {
    background: url(../img/common/icon_slider_prev.svg) center center no-repeat;
    background-size: cover;
    left: -2.6rem !important;
}

.swiper-button-next {
    background: url(../img/common/icon_slider_next.svg) center center no-repeat;
    background-size: cover;
    right: -2.6rem !important;
}

.swiper-button-next:after, 
.swiper-button-prev:after {
    display: none;
}

.coupon-detail .coupon-schedule {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    line-height: 1.5;
    color: #DF0D00;
    font-weight: bold;
    gap: .4rem;
    margin-top: 2.4rem;
}

.coupon-detail .coupon-schedule:before {
    width: 1.6rem;
    height: 1.6rem;
    content: '';
    background: url(../img/common/schedule_outline_red.svg) center center no-repeat;
    background-size: cover;
}

.coupon-detail .coupon-stock {
    margin-top: 2.4rem;
}

.coupon-detail .coupon-stock .stock-progress {
    width: 100%;
    height: 1.6rem;
    background: #E9ECF2;
    border-radius: .8rem;
    overflow: hidden;
    position: relative;
}

.coupon-detail .coupon-stock .stock-progress .stock-progress-bar {
    position: absolute;
    left: 0;
    top: 0;
    border-radius: .8rem;
    z-index: 2;
    height: 100%;
}

.coupon-detail .coupon-stock .stock-coupon {
    margin-top: .4rem;
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: bold;
}

.coupon-detail .coupon-stock .stock-coupon .stock-coupon__count:not(.is-full) {
    font-size: 2.2rem;
    line-height: 1.16;
}

.coupon-detail .coupon-stock.is-full .stock-progress .stock-progress-bar {
    background: #2EA307;
}

.coupon-detail .coupon-stock.is-half .stock-progress .stock-progress-bar {
    background: #FF9800;
}

.coupon-detail .coupon-stock.is-empty .stock-progress .stock-progress-bar {
    background: #CF3700;
}

.coupon-detail .coupon-stock.is-full .stock-coupon .stock-coupon__count {
    color: #2EA307;
}

.coupon-detail .coupon-stock.is-half .stock-coupon .stock-coupon__count {
    color: #FF7F27;
}

.coupon-detail .coupon-stock.is-empty .stock-coupon .stock-coupon__count {
    color: #CF3700;
}

.coupon-detail .coupon-stock.stock-cut .stock-progress .stock-progress-bar,
.coupon-detail .coupon-stock.expiration-cut .stock-progress .stock-progress-bar {
    background: #D1D1D1 !important;
}

.coupon-detail .coupon-stock.expiration-cut .stock-coupon,
.coupon-detail .coupon-stock.expiration-cut .stock-coupon .stock-coupon__count {
    color: #C0C5CC;
    text-decoration: line-through;
}

.coupon-detail .coupon-id {
    margin-top: 2.4rem;
    font-size: 2.2rem;
    line-height: 1.5;
    font-weight: bold;
    color: #2C2A29;
    text-align: center;
}

.coupon-detail .coupon-expiration {
    background: #FFF7F7;
    border-radius: .4rem;
    overflow: hidden;
    width: 100%;
    position: relative;
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.3;
    padding: 1.25rem 1.25rem 1.25rem 9.25rem;
    margin-top: 2.4rem;
}

.coupon-detail .coupon-expiration:before {
    width: 8rem;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    background: #CF3700;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: bold;
    content: '有効期限';
}

.coupon-detail .coupon-print {
    margin-top: 2.4rem;
    border-radius: .8rem;
    border: .1rem solid #DF0D00;
    padding: 2.4rem;
    font-size: 1.4rem;
    line-height: 1.5;
    color: #DF0D00;
}

.coupon-detail .coupon-print .coupon-print__hd {
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: bold;
    padding-left: 3.2rem;
    position: relative;
    margin-bottom: .8rem;
}

.coupon-detail .coupon-print .coupon-print__hd:before {
    content: '';
    position: absolute;
    left: 0;
    top: -.2rem;
    z-index: 2;
    width: 2.4rem;
    height: 2.4rem;
    background: url(../img/common/icon_print_red.svg) center center no-repeat;
    background-size: cover;
}

.coupon-detail .coupon-print ul li {
    padding-left: 1em;
    text-indent: -1em;
}

.coupon-detail .coupon-price {
    background: #F0F7FF;
    border-radius: .4rem;
    padding: 1.6rem;
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: .008rem;
    margin-bottom: 2.4rem;
}

.coupon-detail .coupon-price .coupon-price__price {
    font-size: 3.2rem;
    color: #DF0D00;
    line-height: 1;
}

.coupon-detail .coupon-price .coupon-price__text {
    font-size: 2.2rem;
    line-height: 1.318181818181818;
    color: #DF0D00;
}

.coupon-detail .coupon-box {
    font-size: 1.4rem;
    line-height: 1.714285714285714;
}

.coupon-detail .coupon-box .coupon-box__hd {
    font-size: 2rem;
    line-height: 1.45;
    font-weight: bold;
    margin-bottom: 1.6rem;
}

.coupon-detail .coupon-box p + p {
    margin-top: 1.714285714285714em;
}

.coupon-detail .coupon-box + .coupon-box {
    margin-top: 4rem;
}

.coupon-detail .coupon-image {
    margin-top: 2.4rem;
}

.coupon-detail .coupon-image figure img {
    width: 100%;
    border-radius: .8rem;
}

.coupon-detail .coupon-image figure figcaption {
    display: block;
    margin-top: .8rem;
    font-size: 1.2rem;
    line-height: 1.166666666666667;
    color: #697180;
}

.coupon-detail .coupon-facility {
    margin-top: 2.4rem;
}

.coupon-detail .coupon-facility table {
    width: 100%;
}

.coupon-detail .coupon-facility table th,
.coupon-detail .coupon-facility table td {
    border: .1rem solid #C0C5CC;
    font-size: 1.4rem;
    line-height: 1.5;
    padding: 1.6rem;
}

.coupon-detail .coupon-facility table th {
    text-align: center;
    font-weight: bold;
    background: #F5F7FA;
    vertical-align: middle;
    width: 20rem;
}

.coupon-detail .coupon-facility table td {
    background: #fff;
}

.coupon-detail .coupon-facility table td a {
    color: #3064D5;
}

.card-list {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
}

.btn-blank {
    border: .1rem solid #3064D5;
    font-size: 1.4rem;
    line-height: 1.5;
    color: #3064D5;
    padding: .1rem .9rem;
    border-radius: 99.9rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: .4rem;
}

.btn-blank:after {
    width: 1.6rem;
    height: 1.6rem;
    content: '';
    background: url(../img/common/open_in_new.svg) center center no-repeat;
    background-color: cover;
}

.coupon-recommended {
    margin-top: 6.4rem;
}

.coupon-recommended .coupon-recommended-swiper {
    position: relative;
}

.coupon-recommended .coupon-recommended-swiper .swiper {
    padding: .4rem;
}

.coupon-recommended .coupon-recommended-swiper .swiper-pagination {
    bottom: -2rem;
    display: none;
}

.coupon-recommended .coupon-recommended-swiper .swiper-button-prev {
    left: -2.1rem;
}

.coupon-recommended .coupon-recommended-swiper .swiper-button-next {
    right: -2.1rem;
}

.coupon-fixed {
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 999;
    width: 100%;
    background: #fff;
    padding: 1.6rem;
    box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.45);
    text-align: center;
}

.coupon-fixed.not-print {
    background: #FFF7F7;
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: bold;
    color: #CF3700;
    padding: 1.3rem 1.6rem;
}

.coupon-fixed a {
    background-color: #F29423;
    padding: 1rem 2.4rem 1rem 4.4rem;
    border-radius: 10rem;
    box-shadow: 0 1rem .7rem -.5rem rgba(0, 0, 0, 0.1);
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
    color: #fff;
    display: inline-block;
    width: 100%;
    max-width: 25.6rem;
}

.coupon-fixed a.is-coupon {
    background: url(../img/common/local_activity.svg) 1.6rem center no-repeat #F29423;
    background-size: 2.4rem auto;
}

.coupon-fixed a.is-coupon.is-disabled {
    background-color: #D1D1D1;
    cursor: not-allowed;
    pointer-events: none;
}

.coupon-fixed a.is-print {
    background: url(../img/common/icon_print_white.svg) 1.6rem center no-repeat #F29423;
    background-size: 2.4rem auto;
}


.coupon-fixed__body {
    width: 100%;
    max-width: 73.6rem;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    z-index: 3;
    background: #fff;
    border-radius: .8rem;
    padding: 3.2rem 3.2rem 2.4rem;
}

.coupon-fixed__body .coupon-fixed-close {
    position: absolute;
    width: 2.4rem;
    height: 2.4rem;
    right: .8rem;
    top: .8rem;
    z-index: 2;
    background: url(../img/common/close.svg) center center no-repeat;
    background-size: cover;
    cursor: pointer;
}

.coupon-fixed__body p {
    font-size: 1.4rem;
    line-height: 1.5;
}

.coupon-fixed__body .title {
    font-size: 2.6rem;
    line-height: 1.3;
    margin-bottom: 1.6rem;
}

.coupon-fixed__body .links {
    margin-top: 3.2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2.4rem;
} 

.coupon-fixed__body .links .submit {
    width: 100%;
    max-width: 25.6rem;
    background: #10069F;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 4.4rem;
    border-radius: 2.2rem;
    color: #fff;
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 1.5;
}

.coupon-fixed__body .links .cancel {
    font-size: 1.4rem;
    line-height: 1.5;
    color: #697180;
}

.get-coupon {
    background: #99C4FD;
}

.get-coupon-head {
    background: #E65100;
    color: #fff;
    font-size: 1.8rem;
    line-height: 1.5;
    padding: .6rem;
    text-align: center;
    border-radius: 1.6rem 1.6rem 0 0;
    font-weight: bold;
}

/*** hover ***/
@media screen and (min-width: 960px) {
    .coupon-fixed a:hover,
    .coupon-fixed__body .links .submit:hover {
        text-decoration: none;
        opacity: .7;
    }
}

@media screen and  (max-width: 900px) {
    .coupon-detail .coupon-box__item {
        padding: 4.8rem;
    }
}

@media screen and  (max-width: 767px) {
    .coupon-detail {
        padding: 0 0 8rem;
    }

    .coupon-detail .inner {
        padding: 0 1.6rem;
    }

    .coupon-detail .coupon-detail__box {
        border-radius: 0;
        width: calc(100% + 3.2rem);
        margin: 0 -1.6rem;
    }

    .coupon-detail .coupon-box__item {
        padding: 4rem 1.6rem;
    }

    .coupon-detail .coupon-box__item + .coupon-box__item {
        border-top: .4rem solid #E9ECF2;
    }

    .coupon-detail .coupon-box__item:first-child {
        padding-top: 1.6rem;
    }

    .coupon-detail .coupon-head {
        margin-bottom: 1.6rem;
        position: relative;
    }

    .coupon-detail .coupon-head .location {
        top: .4rem;
    }

    .coupon-detail .coupon-head .title {
        font-size: 2.8rem;
        line-height: 1.4642857;
    }

    .coupon-detail .coupon-head .description {
        font-size: 1.6rem;
        line-height: 1.5;
        margin-bottom: 1.6rem;
    }

    .coupon-detail .coupon-gallery {
        position: relative;
        width: calc(100% + 3.2rem);
        margin: 0 -1.6rem;
        margin-bottom: 3.2rem;
    }

    .coupon-detail .coupon-gallery .swiper-slide {
        width: 100%;
    }

    .coupon-detail .coupon-gallery img {
        max-width: 100%;
        border-radius: 0;
    }

    .coupon-detail .coupon-gallery figure figcaption {
        padding: 0 1.6rem;
    }

    .coupon-detail .coupon-gallery .swiper-pagination {
        bottom: -1rem;
    }

    .swiper-button-next, 
    .swiper-button-prev {
        width: 3.8rem !important;
        height: 3.8rem !important;
        margin-top: -1.9rem !important;
    }

    .swiper-button-prev {
        left: -2rem;
    }

    .swiper-button-next {
        right: -2rem;
    }

    .coupon-detail .coupon-gallery .swiper-button-prev {
        left: 1.5rem !important;
    }

    .coupon-detail .coupon-gallery .swiper-button-next {
        right: 1.5rem !important;
    }

    .coupon-detail .coupon-id {
        font-size: 1.6rem;
    }


    .coupon-detail .coupon-expiration {
        font-size: 1.6rem;
        line-height: 1.3;
        padding: 1.4rem .2rem 1.4rem 7rem;
        margin-top: 2.4rem;
    }

    .coupon-detail .coupon-expiration:before {
        width: 6.8rem;
        font-size: 1.4rem;
    }

    .coupon-detail .coupon-print {
        margin-top: 3.2rem;
        padding: 1.6rem;
    }

    .coupon-detail .coupon-price {
        padding: 1.2rem;
    }

    .coupon-detail .coupon-box .coupon-box__hd {
        font-size: 1.8rem;
    }


    .coupon-detail .coupon-image figure figcaption {
        margin-top: 1.2rem;
    }

    .coupon-detail .coupon-facility table th {
        width: 12rem;
    }

    .coupon-recommended {
        margin-top: 4.8rem;
    }

    .coupon-recommended .coupon-recommended-swiper .swiper-pagination {
        display: block;
    }

    .coupon-recommended .coupon-recommended-swiper .swiper-button-prev {
        left: -1.6rem !important;
    }

    .coupon-recommended .coupon-recommended-swiper .swiper-button-next {
        right: -1.6rem !important;
    }

    .coupon-fixed.not-print {
        padding: .8rem 1.6rem;
    }

    .coupon-fixed__body {
        max-width: 33.5rem;
        padding: 3.2rem 1.6rem 2.4rem;
    }

    .coupon-fixed__body .coupon-fixed-close {
        right: .4rem;
        top: .4rem;
    }

    .coupon-fixed__body .title {
        font-size: 1.8rem;
        font-weight: bold;
    }

    .coupon-fixed__body .links {
        flex-direction: column;
        gap: 1.6rem;
    }

    .get-coupon {
        background: #fff;
    }

    .get-coupon-head {
        padding: .4rem;
        border-radius: 0;
    }

}

pre {
    white-space: break-spaces;
}

.coupon-detail .coupon-stock.is-full .stock-progress .stock-progress-bar.expiration-cut, .coupon-detail .coupon-stock.is-full .stock-progress .stock-progress-bar.stock-cut {
    background: #D1D1D1 !important;
}

.coupon-detail .coupon-stock.is-full .stock-coupon.expiration-cut *, .coupon-detail .coupon-stock.is-full .stock-coupon.stock-cut * {
    color: #C0C5CC !important;
    text-decoration: line-through;
}

/* Modal base */
.modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1050;
    display: none;
    width: 100%;
    height: 100%;
    overflow: hidden;
    outline: 0;
    background: transparent;
  }
  
  .modal.show {
    display: block;
  }
  
  /* Modal Dialog */
  .modal-dialog {
    position: relative;
    width: auto;
    margin: 0.5rem;
    pointer-events: none;
    max-width: 500px;
    margin: 1.75rem auto;
  }
  
  /* Modal Content */
  .modal-content {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    pointer-events: auto;
    background-color: #fff; /* White background */
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, 0.2); /* subtle border */
    border-radius: 0.3rem;
    outline: 0;
    box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  }
  
  /* Modal Header */
  .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1rem;
    border-bottom: 1px solid #dee2e6;
    border-top-left-radius: 0.3rem;
    border-top-right-radius: 0.3rem;
    background-color: #f8f9fa; /* light gray background */
    color: #212529; /* dark text */
  }
  
  /* Example custom header bg colors */
  .modal-header.bg-danger {
    background-color: #dc3545 !important; /* Bootstrap Danger Red */
    color: #fff !important;
  }
  
  .modal-header.bg-warning {
    background-color: #ffc107 !important; /* Bootstrap Warning Yellow */
    color: #212529 !important;
  }
  
  .modal-header.bg-secondary {
    background-color: #6c757d !important; /* Bootstrap Secondary Gray */
    color: #fff !important;
  }
  
  /* Modal Title */
  .modal-title {
    margin-bottom: 0;
    line-height: 1.5;
    font-weight: 500;
    font-size: 1.25rem;
  }
  
  /* Modal Body */
  .modal-body {
    position: relative;
    flex: 1 1 auto;
    padding: 1rem 1rem;
    color: #212529;
    background-color: #fff;
    font-size: 1.3rem;
  }
  
  /* Modal Footer */
  .modal-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    padding: 0.75rem 1rem;
    border-top: 1px solid #dee2e6;
    border-bottom-right-radius: 0.3rem;
    border-bottom-left-radius: 0.3rem;
    background-color: #f8f9fa;
  }
  
  /* Footer buttons spacing */
  .modal-footer > * {
    margin: 0.25rem;
  }
  
  /* Backdrop */
  .modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1040;
    width: 100vw;
    height: 100vh;
    background-color: #000;
    opacity: 0.5;
  }
  
  /* Fade animation */
  .modal.fade .modal-dialog {
    transition: transform 0.3s ease-out;
    transform: translate(0, -50px);
  }
  
  .modal.show.fade .modal-dialog {
    transform: none;
  }
  
  /* Close button */
  .close {
    padding: 0;
    background-color: transparent;
    border: 0;
    -webkit-appearance: none;
    appearance: none;
    font-size: 1.5rem;
    line-height: 1;
    color: #000;
    opacity: 0.5;
    cursor: pointer;
    transition: color 0.15s ease-in-out, opacity 0.15s ease-in-out;
  }
  
  .close:hover {
    color: #000;
    opacity: 0.75;
  }
  
  .close:focus {
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
  }
  
  .preview_mode {
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 100;
    display: flex;
    justify-content: center;
    background: #337ab7;
    color: #fff;
    font-size: 12px;
    padding: 1rem 0 1.2rem;
  }

  .preview_mode p {
    font-size: 1.6rem;
    padding-top: 0.2rem;
    font-weight: bold;
  }

  body:has(.preview_mode) #header {
    top: 4.5rem;
  }

  body:has(.preview_mode) #wrapper {
    padding-top: 11.5rem;
  }

.title-pc {
    display: block!;
}
.title-sp {
    display: none;
}
@media (max-width: 768px) {
    .title-pc {
        display: none;
    }
    .title-sp {
        display: block;
    }
}

.stock-progress-bar.expiration-cut, .stock-progress-bar.stock-cut {
    background: #D1D1D1 !important;
}

.stock-coupon.expiration-cut, .stock-coupon.stock-cut {
    position: relative;
    color: #C0C5CC;
    width: fit-content;
    margin: 0 auto;
    /* text-decoration: line-through; */
}

.stock-coupon.expiration-cut::after,
.stock-coupon.stock-cut::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #C0C5CC;
    transform: translateY(-50%);
    pointer-events: none;
}

.custom {
    min-height: 177px;
}

.custom .title {
    min-height: 52px;
}