/*----------------------------------------------
	.l_wrap
---------------------------------------------*/
.l_wrap {
  width: 1200px;
  margin: 0 auto;
}
/*----------------------------------------------
	.l_bg
---------------------------------------------*/
.l_bg {
  background: #FFFFFF;
}
/*----------------------------------------------
	.l_visual_area
---------------------------------------------*/
.l_visual_area {
  background: url("../../images/top/img_main.jpg") center / cover no-repeat;
  width: 100%;
  height: 300px;
  min-width: 1200px;
}
/*----------------------------------------------
	.l_container
---------------------------------------------*/
.l_container {
  padding-top: 40px;
  padding-bottom: 40px;
}
.inner .l_container {
  padding-top: 40px;
  padding-bottom: 60px;
}
/*----------------------------------------------
	.l_header
---------------------------------------------*/
.l_header_area {
  position: relative;
  height: 100px;
  padding: 15px 20px;
  background-color: #FFFFFF;
  min-width: 1200px;
  border-bottom: 1px solid #DDDDDD;
}
.l_header_title {
  width: auto;
  height: 75px;
  position: absolute;
  left: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
/*----------------------------------------------
	.l_side_contents
---------------------------------------------*/
.l_side_contents {
  width: 220px;
  float: left;
}
.right-side .l_side_contents, .no-side .l_side_contents {
  display: none;
}

.l_side_contents .bnr_side:hover{
	opacity:0.6;
}


/*----------------------------------------------
	.l_nav_area
---------------------------------------------*/
/*----------------------------------------------
	.l_side_right
---------------------------------------------*/
.l_side_right {
  width: 220px;
  float: right;
}
/*----------------------------------------------
	.l_main_contents
---------------------------------------------*/
.l_main_contents {
  width: 940px;
  position: relative;
  float: right;
}
.right-side .l_main_contents {
  float: left;
}
.no-side .l_main_contents {
  width: 100%;
  float: none;
}
/*----------------------------------------------
	.l_news_area
---------------------------------------------*/
.l_news_area {
  width: 100%;
  color: #FFFFFF;
  background: #006CBA;
}
.l_news_area .l_wrap {
  display: flex;
  padding: 10px 0;
  height: 70px;
}
.l_news_area p {
  min-width: 65px;
  font-weight: bold;
}


.l_news_area li {
	padding-left: 5.2em;
    text-indent: -2.6em;
    list-style: none !important;
}

.l_news_area .l_wrap{
	display: flex;
	align-items: center;
}

.l_news_area ul {
	margin-left: 15px;
  padding-left: 15px;
  border-left: 1px solid #558EC6;
}



.slider_news span {
  display: inline-block;
  margin-right: 1em;
  font-size: 1.4rem;
}




/*----------------------------------------------
	.l_pankuzu
---------------------------------------------*/
.l_pankuzu {
  padding: 10px 0;
  background: #006CBA;
}
.l_pankuzu ul {
  display: flex;
  flex-wrap: wrap;
}
.l_pankuzu li {
  position: relative;
  padding-right: 2em;
  font-size: 1.2rem;
  color: #FFFFFF;
  list-style: none;
}
.l_pankuzu li::after {
  content: '';
  width: 5px;
  height: 5px;
  border: 0px;
  border-top: solid 1px #FFFFFF;
  border-right: solid 1px #FFFFFF;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 12px;
  margin-top: -3px;
}
.l_pankuzu li:last-child::after {
  content: none;
}
.l_pankuzu li a {
  color: #FFFFFF;
  text-decoration: underline;
}
.l_pankuzu li a:hover {
  opacity: 0.6;
}
/*----------------------------------------------
  .l_ttl_inner
---------------------------------------------*/
.l_ttl_inner {
  background: #F6F6F6;
}
.l_ttl_inner h1 {
  padding: 20px 0;
  font-size: 3.6rem;
  color: #006CBA;
  font-weight: bold;
  text-align: center;
}
.genre .l_ttl_inner h1 {
  padding-left: 260px;
  text-align: left;
}
.genre .l_ttl_inner.c010000 .l_wrap {
  background: url("../../images/genre/c010000/bg_h1.png") center right no-repeat #F6F6F6;
  background-size: contain;
}
.genre .l_ttl_inner.c020000 .l_wrap {
  background: url("../../images/genre/c020000/bg_h1.png") center right no-repeat #F6F6F6;
  background-size: contain;
}
.genre .l_ttl_inner.c030000 .l_wrap {
  background: url("../../images/genre/c030000/bg_h1.png") center right no-repeat #F6F6F6;
  background-size: contain;
}
.genre .l_ttl_inner.c040000 .l_wrap {
  background: url("../../images/genre/c040000/bg_h1.png") center right no-repeat #F6F6F6;
  background-size: contain;
}
.genre .l_ttl_inner.c050000 .l_wrap {
  background: url("../../images/genre/c050000/bg_h1.png") center right no-repeat #F6F6F6;
  background-size: contain;
}
.genre .l_ttl_inner.c060000 .l_wrap {
  background: url("../../images/genre/c060000/bg_h1.png") center right no-repeat #F6F6F6;
  background-size: contain;
}
.genre .l_ttl_inner.c070000 .l_wrap {
  background: url("../../images/genre/c070000/bg_h1.png") center right no-repeat #F6F6F6;
  background-size: contain;
}
.genre .l_ttl_inner.c080000 .l_wrap {
  background: url("../../images/genre/c080000/bg_h1.png") center right no-repeat #F6F6F6;
  background-size: contain;
}
.genre .l_ttl_inner.c090000 .l_wrap {
  background: url("../../images/genre/c090000/bg_h1.png") center right no-repeat #F6F6F6;
  background-size: contain;
}
.genre .l_ttl_inner.c100000 .l_wrap {
  background: url("../../images/genre/c100000/bg_h1.png") center right no-repeat #F6F6F6;
  background-size: contain;
}
.genre .l_ttl_inner.c110000 .l_wrap {
  background: url("../../images/genre/c110000/bg_h1.png") center right no-repeat #F6F6F6;
  background-size: contain;
}
.genre .l_ttl_inner.c120000 .l_wrap {
  background: url("../../images/genre/c120000/bg_h1.png") center right no-repeat #F6F6F6;
  background-size: contain;
}
.genre .l_ttl_inner.c130000 .l_wrap {
  background: url("../../images/genre/c130000/bg_h1.png") center right no-repeat #F6F6F6;
  background-size: contain;
}
.genre .l_ttl_inner.c140000 .l_wrap {
  background: url("../../images/genre/c140000/bg_h1.png") center right no-repeat #F6F6F6;
  background-size: contain;
}
.genre .l_ttl_inner.c910000 .l_wrap {
  background: url("../../images/genre/c910000/bg_h1.png") center right no-repeat #F6F6F6;
  background-size: contain;
}

/*----------------------------------------------
  .l_inner_section
---------------------------------------------*/
.l_inner_section {
  margin-bottom: 60px;
  overflow-wrap: anywhere;
}
.l_inner_section:last-of-type {
  margin-bottom: 0;
}
/*----------------------------------------------
  .l_footer_area
---------------------------------------------*/
.l_footer_area {
  min-width: 1200px;
  background: #F6F6F6;
  color: #006CBA;
  padding: 40px 0;
}
.c_ttl_footer {
  position: relative;
  margin-bottom: 15px;
  padding: 5px 0 5px 1.5em;
  font-size: 1.6rem;
  font-weight: bold;
}
.c_ttl_footer::before {
  content: "";
  width: 17px;
  height: 17px;
  background: url("../images/icon_ttl_footer.png") no-repeat center center;
  background-size: 100%;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.l_footer_area .is_category {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #CCCCCC;
  display: flex;
  flex-wrap: wrap;
}
.l_footer_area .is_category li {
  margin: 0 10px 10px 0;
  list-style: none;
}
.l_footer_area .is_category a {
  display: inline-block;
  padding: 5px 10px;
  font-size: 1.4rem;
  color: #006CBA;
  border: 1px solid #006CBA;
  border-radius: 5px;
  background: #FFFFFF;
  text-decoration: none;
}
.l_footer_area .is_category a:hover {
  color: #FFFFFF;
  border: 1px solid #3694D8;
  background: #3694D8;
}
.l_footer_area .is_menu {
  display: flex;
  flex-wrap: wrap;
}
.l_footer_area .is_menu li {
  list-style: none;
}
.l_footer_area .is_menu a {
  display: inline-block;
  margin-right: 1.5em;
  font-size: 1.4rem;
  text-decoration: none;
}
.l_footer_area .is_menu a:hover {
  color: #006CBA;
}
.l_footer_title {
  width: auto;
  height: 65px;
}
/*----------------------------------------------
  .l_copyright
---------------------------------------------*/
.l_copyright {
  padding: 15px;
  font-size: 1.2rem;
  color: #FFFFFF;
  background: #006CBA;
}
/*----------------------------------------------
  .l_genre
---------------------------------------------*/
.l_genre .c_genre-box {
  display: flex;
  flex-wrap: wrap;
}
.l_genre .c_genre-box .c_genre-card {
  position: relative;
  width: 220px;
  margin: 0 20px 20px 0;
  border-radius: 10px;
}
.l_genre .c_genre-box .c_genre-card:nth-child(4n) {
  margin: 0 0 20px 0;
}
.l_genre .c_genre-box .c_genre-card img {
  width: 100%;
  border-radius: 5px;
}

.l_genre .c_genre-box .c_genre-card a:hover img{
  opacity: 0.6;
}

.l_genre .c_genre-box .c_genre-card a p, .l_genre .c_genre-box .c_genre-card p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  padding: 25% 10px 0;
    font-size: 1.8rem;
  font-weight: bold;
  text-shadow: 1px 1px 3px #000000;
  color: #FFFFFF;
  text-align: center;
  background: rgba(0, 0, 0, 0.1);
  border-radius: 5px;
}
.l_genre .c_genre-box .c_genre-card p {
  background: rgba(0, 0, 0, 0.8);
}
.l_genre .c_genre-box .c_genre-card p.is_newline {
  padding-top: 20%;
}
.l_genre .c_genre-box .c_genre-card a:hover p {
  background: none;
}
.l_genre .c_genre-area {
  display: flex;
  margin-bottom: 15px;
}
.l_genre .c_genre-area dt {
  width: 115px;
  margin-right: 5px;
  padding: 5px;
  font-size: 1.4rem;
  color: #FFFFFF;
  text-align: center;
  background: #888888;
  border-radius: 5px;
}
.l_genre .c_genre-area dd span, .l_genre .c_genre-area dd a {
  display: inline-block;
  width: 85px;
  margin-left: 10px;
  padding: 5px;
  font-size: 1.4rem;
  color: #3694D8;
  text-align: center;
  border: 1px solid #3694D8;
  border-radius: 5px;
  text-decoration: none;
}
.l_genre .c_genre-area dd span {
  color: #AAAAAA;
  background: #DDDDDD;
  border: 1px solid #CCCCCC;
}
.l_genre .c_genre-area dd a:hover {
  color: #FFFFFF;
  background: #3694D8;
}
/*----------------------------------------------
	.l_login
---------------------------------------------*/
.l_login .c_register_form {
  width: 50%;
  margin: 0 auto;
  padding: 30px;
  background: #F6F6F6;
}
.l_login .c_register_form .c_table_type01 {
  margin-bottom: 0;
}
.l_login .c_register_form .c_table_type01 th, .l_login .c_register_form .c_table_type01 td {
  display: block;
  width: 100%;
  padding: 0;
  margin-top: -1px;
  border: none;
}
.l_login .c_register_form .c_table_type01 th {
  margin-bottom: 10px;
  text-align: left;
  background: none;
}
.l_login .c_register_form .c_table_type01 td {
  margin-bottom: 20px;
}
.l_login .c_register_form .c_table_type01 td input {
  background: #FFFFFF;
}
/*----------------------------------------------
	.l_mypage
---------------------------------------------*/
.l_mypage .is_no_add {
  text-align: center;
  font-weight: bold;
}

/*プレミアムクーポン*/
.l_mypage .c_premium_list-card {
  margin-bottom:30px;
  padding:15px;
  border: 2px solid #CCCCCC;
  border-radius: 5px;
  background: #FFFFFF;
}

.c_premium_list-card .c_card__type p{
	font-size: 1.4rem;
  font-weight: bold;
}

.c_premium_list-card .c_card__type .c_btn_orange {
    min-width:150px;
	margin-top: 5px;
	padding: 10px 20px;
}
.c_premium_list-card .c_card__type .is_type-mail,
.c_premium_list-card .c_card__type .is_type-used{
	min-width:150px;
	margin-top: 5px;
	padding: 10px 20px;
	border:1px solid #CCCCCC;
	border-radius: 5px;
}

.c_premium_list-card .is_expiry span,
.c_premium_list-card .is_exchange span{
  color: #C50000;
}
.c_premium_list-card .c_card__info h3{
	margin:20px 0 10px;
	padding-bottom:5px;
	font-size: 1.6rem;
	border-bottom: 1px dotted #CCCCCC;
}

.c_table_type01.is_apply th{
	text-align: left;
	white-space: normal;
}

.c_table_type01.is_apply th.is_facility{
	width:20%;
}

.c_table_type01.is_apply td{
	width:10%;
	font-weight: bold;
	text-align:center;
}

.c_table_type01.is_apply td.is_elected{
	color: #C50000;
	background:#FCF5F5;
}
.c_table_type01.is_apply td.is_defeated{
	color: #313131;
}
.c_table_type01.is_apply td.is_active{
	color: #006CBA;
	background: #EAF3F9;
}

.l_mypage .c_register_form .c_table_type01 td span.is_required{
	display: inline-block;
    margin-right:5px;
    padding: 1px 8px 2px 8px;
    font-size: 1.2rem;
    color: #FFFFFF;
    font-weight: normal;
    background: #C50000;
    border-radius: 3px;
}

.l_faq .c_register_form .c_table_type01 th span.is_required{
	display: inline-block;
    margin-left:10px;
    padding: 1px 8px 2px 8px;
    font-size: 1.2rem;
    color: #FFFFFF;
    font-weight: normal;
    background: #C50000;
    border-radius: 3px;
}

/*----------------------------------------------
	.l_application_info
---------------------------------------------*/

.l_application_info .c_application__img {
    width: 100%;
	margin-bottom: 40px;
}

.l_application_info .c_application__img img{
	width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    object-fit: contain;
    background: #FFFFFF;
    border: 1px solid #CCCCCC;
}

.l_application_info .c_card__text h2{
	margin-bottom:20px;
	font-size:2.8rem;
	color: #C50000;
}
/*
.l_application_info .c_card__text .is_expiry span {
    color: #C50000;
}
*/

.l_application_info .is_note {
    word-break: break-all;
}

.l_application_info .c_coupon_info-coupon{
justify-content: space-between;
}
.l_application_info .c_coupon_info-coupon .c_card__img {
    width: 350px;
    margin-right:0;
	padding-left: 15px;
}

.l_application_info .c_application__info {
    border:2px solid #B8A45C;
	background: #FBFAF7;
}

.l_application_info .c_application__info h3{
	padding: 10px 0;
	color: #FFFFFF;
   font-size: 2.0rem;
	font-weight: bold;
	text-align: center;
	background: #B8A45C;
}

.l_application_info .c_application__info dl{
	padding:30px;
}
.l_application_info .c_application__info dt{
	padding-bottom: 5px;
	font-weight: bold;
}
.l_application_info .c_application__info dd{
	margin-bottom: 15px;
	padding:0 0 15px 1em;
	border-bottom: 1px dotted #CCCCCC;
}
.l_application_info .c_application__info dd:last-child{
	margin-bottom:0;
	padding:0 0 0 1em;
	border-bottom:none;
}

.l_application_info .l_inner_section .c_btn_red{
	min-width: 350px;
	margin-top: 40px;
}
.l_application_info .l_inner_section .is_start{
	width: 100%;
	margin-top: 40px;
	padding: 15px 0;
	color: #79722A;
	font-weight: bold;
	background: #FAF7CD;
	border: 2px solid #79722A;
}
.l_application_info .l_inner_section .is_end{
	width: 100%;
	margin-top: 40px;
	padding: 15px 0;
	font-weight: bold;
	background: #E6E6E6;
	border: 2px solid #CCCCCC;
}


/*----------------------------------------------
	.l_application_form
---------------------------------------------*/

.l_application_form h2{
	margin-bottom: 20px;
	color: #C50000;
	font-size: 2.8rem;
	text-align: center;
}
.l_application_form p{
	text-align: center;
}
.l_application_form .c_btn_blue{
	margin-top: 40px;
}

.l_application_form .l_consent label{
	display: flex;
}


.l_application_form .l_consent input{
	width: auto !important;
}
.l_application_form .l_consent  span {
    padding-left: 5px;
}

.l_application_form .c_register_form .c_table_type01 th span{
    margin-left: 10px;
    padding: 2px 8px 3px 8px;
    font-size: 1.2rem;
    color: #FFFFFF;
    font-weight: normal;
    background: #C50000;
    border-radius: 3px;
}

.l_application_form .c_register_form .c_table_type01 td span.is_required{
	display: inline-block;
    margin-bottom: 8px;
    padding: 2px 8px 3px 8px;
    font-size: 1.2rem;
    color: #FFFFFF;
    font-weight: normal;
    background: #C50000;
    border-radius: 3px;
}


/*----------------------------------------------
	.l_register
---------------------------------------------*/
.l_register .c_reg-text {
  margin-bottom: 40px;
  font-weight: bold;
}
/*----------------------------------------------
	.l_faq
---------------------------------------------*/
.c_faq_search {
  width: 1080px;
  margin: 0 auto 40px;
  display: flex;
  align-items: center;
}
.c_faq_search .c_search_freeword {
  border: 1px solid #CCCCCC;
  border-radius: 5px 0 0 5px;
}
.c_faq_search .c_search_freeword .c_search_input {
  width: 980px;
  padding: 20px 15px;
  border: none;
  outline: none;
	border-radius: 5px 0 0 5px;
}
.c_faq_search .c_search_freeword .c_search_input::placeholder {
  color: #AAAAAA;
  opacity: 1;
}
.c_faq_search .c_search__button {
  padding: 5px;
  width: 78px;
  height: 68px;
  border: none;
  outline: none;
  border-radius: 0 5px 5px 0;
  background: #006CBA;
  cursor: pointer;
}
.c_faq_search .c_search__button:hover {
  opacity: 0.6;
}
.c_faq_search .c_search__button img {
  width: 35px;
  height: auto;
}
.pg-qa-item {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid #CCCCCC;
}
.pg-qa-item:first-of-type {
  margin: 40px 30px 0
}
.pg-qa-item + .pg-qa-item {
  margin: 40px 30px 0
}
.pg-qa-item__q {
  width: 100%;
  cursor: pointer;
  display: flex;
}
.pg-qa-item__q:before {
  content: "Q";
  border-radius: 50%;
  width: 40px;
  height: 40px;
  font-weight: bold;
  color: #FFFFFF;
  text-align: center;
  background: #006CBA;
  line-height: 37px;
  flex-shrink: 0;
}
.pg-qa-item__q span {
  padding: 2px 0 0 10px;
  font-size: 2.0rem;
  font-weight: bold;
  color: #313131;
}
.pg-qa-item__q span:before, .pg-qa-item__q span:after {
  content: "";
  display: block;
  width: 20px;
  height: 1px;
  background: #313131;
  position: absolute;
  top: 24px;
  right: 19px;
  z-index: 1;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.pg-qa-item__q span:after {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
.pg-qa-item__q.is-ac-open span:before {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
.pg-qa-item__q.is-ac-open span:after {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}
.pg-qa-item__q:after {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  position: absolute;
  right: 12px;
  top: 12px;
  border-radius: 50%;
}
.pg-qa-item__a {
  position: relative;
  height: 0;
  min-height: 9px;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.pg-qa-item__a.is-ac-open {
  height: auto;
}
.pg-qa-item__a:before {
  content: "A";
  position: absolute;
  left: 0;
  top: 15px;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  font-weight: bold;
  color: #FFFFFF;
  text-align: center;
  background: #C50000;
  line-height: 37px;
  flex-shrink: 0;
}
.pg-qa-item__a-inner {
  padding: 20px 0 20px 50px;
  color: #313131;
}
.l_faq .c_page-numbers {
  margin-top: 60px;
}
.l_faq .c_category_btn {
  margin-bottom: -20px;
  display: flex;
  flex-wrap: wrap;
}
.l_faq .c_category_btn a {
  display: inline-block;
  margin: 0 20px 20px 0;
  padding: 15px 20px;
  min-width: 285px;
  text-align: center;
  text-decoration: none;
  color: #006CBA;
  font-weight: bold;
  background: #EAF3F9;
  border-radius: 5px;
}
.l_faq .c_category_btn p:nth-of-type(4n) {
  margin-right: -20px;
}
.l_faq .c_category_btn a:hover {
  color: #FFFFFF;
  background: #006CBA;
}
/*----------------------------------------------
	.l_guide
---------------------------------------------*/
.l_guide .c_step_card {
  position: relative;
  margin-bottom: 130px;
  background: #FFFFFF;
  border: 3px solid #2D6AB4;
  border-radius: 5px;
}
.l_guide .c_step_card:last-child {
  margin-bottom: 0;
}
.l_guide .c_step_card h3 {
  padding: 10px 0;
  font-size: 2.2rem;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
  background: #006CBA;
}
.l_guide .c_step_card h4 {
  margin: 30px 0 30px;
  padding-bottom: 10px;
  font-size: 2.0rem;
  color: #449639;
  font-weight: bold;
  border-bottom: 1px solid #449639;
}
.l_guide .c_step_inner {
  padding: 30px;
}
.l_guide .c_step_text ul {
	margin-bottom: 30px;
  font-size: 1.8rem;
  font-weight: bold;
}
.l_guide .c_step_text img {
	display: block;
	margin: 0 auto;
  width: 75%;
  height: auto;
  border: 2px solid #DDDDDD;
}
.l_guide .c_step_card::before {
  content: "";
  position: absolute;
  bottom: -153px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  border: 50px solid transparent;
  border-top: 60px solid #006CBA;
}
.l_guide .c_step_card:last-child::before {
  content: none;
}
.l_guide .c_step_item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
/*----------------------------------------------
	.l_corporate
---------------------------------------------*/
.l_corporate .c_table_type01 th {
  width: 200px;
  font-weight: bold;
  text-align: left;
}
/*----------------------------------------------
	.l_special_sales
---------------------------------------------*/
.l_special_sales .c_table_type01 th {
  min-width: 200px;
  font-weight: bold;
  text-align: left;
}
/*----------------------------------------------
	.l_privacy
---------------------------------------------*/

.l_privacy .is_ttl {
  margin-bottom: 20px;
    font-size: 3.0rem;
    font-weight: bold;
	text-align: center;
}

.l_privacy .is_director {
  margin-bottom: 40px;
  text-align: right;
}
/*----------------------------------------------
	.l_policy
---------------------------------------------*/
.l_policy .is_enactment {
  margin-top: 60px;
  text-align: right;
}

/*----------------------------------------------
	#maintenance
---------------------------------------------*/

#maintenance{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width:1200px;
	padding: 15px 30px;
	text-align: center;
}

#maintenance img{
	width: 250px;
	height: auto;
	margin-bottom:40px;
}

#maintenance h1{
	font-size:2.8rem;;
	font-weight: bold;
	margin-bottom: 20px;
}
#maintenance p{
	font-size:1.6rem;;
}
#maintenance .c_btn_blue{
	margin-top: 40px;
	font-size:1.6rem;;
}

/*----------------------------------------------
	#special_coupon_detail h1
---------------------------------------------*/
#special_coupon_detail .l_wrap h1 {
  height: 300px;
  overflow: hidden;
}
#special_coupon_detail .l_wrap h1 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/*----------------------------------------------
	.l_iframe_map_area
---------------------------------------------*/
.l_iframe_map_area {
  width: 100%;
  height: 50vh;
  border: none;
}

/*----------------------------------------------
	.l_map_bubble
---------------------------------------------*/
.l_map_bubble {
    position: absolute;
    background: #fff;
    display: flex;
    padding: 2px;
    border-radius: 10px;
    /*box-shadow: 0 2px 6px rgba(0,0,0,0.3);*/
    transform: translate(-50%, calc(-100% - 35px));
    top: -20px;
    z-index: 1000;
}
.l_map_bubble div:has(img) {
  width: 100px;
  height: 100px;
  overflow: hidden;
  object-fit: cover;
}
.l_map_bubble div img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  text-align: center;
  border-radius: 10px 0 0 10px;
}
.l_map_bubble:before {
  content: "";
  position: absolute;
  bottom: -28px;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #FFF;
  z-index: 999;
}
.l_map_bubble div p {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.l_map_bubble div .shop {
    font-size: 1.2rem;
    font-weight: bold;
}
.l_map_bubble div .category {
    font-size: 1.0rem;
    margin-bottom: 5px;
}

/*----------------------------------------------
	#contact
---------------------------------------------*/
/* 非表示(未使用) */
#contact header .c_search,
#contact header .c_header_wrap,
#contact .l_side_contents,
#contact footer,
#contact .l_search-sp.u_sp{
  display: none!important;
}

/* header */
#contact header.l_header_area {
  height: 65px;
  min-width: inherit;
}
#contact header .l_header_title {
  height: 50px;
}

/* .l_main_contents */
#contact .l_main_contents {
  width: auto;
  float: inherit;
}

#contact .l_bg,
#contact.inner .l_container {
  background: #00a0c8;
  padding-bottom: 0;
}
#contact .l_wrap {
  width: auto;
}

#contact h1 {
  color: #fff;
  font-size: 42px;
}

.form-page {
  margin-top: 40px;
  padding: 40px 20px 100px;
  background: #f4f8fb;
  min-height: calc(100vh - 49px - 65px - 67px - 80px);
}
.form-page__container {
  max-width: 720px; margin: 0 auto;
}
.form-page__title {
  text-align: center;
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 30px;
}

.form-card {
  background: #fff;
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.06);
  max-width: 1000px;
  margin: auto;
}

.form-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 18px;
}
.form-field__label { font-size: 14px; font-weight: 700; }
.form-field__required {
  margin-left: 8px;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  background: #e54848;
  padding: 2px 8px;
  border-radius: 999px;
}
.form-field__control {
  width: 100%;
  height: 44px;
  border-radius: 10px;
  border: 1px solid #ccc;
  padding: 0 12px;
  font-size: 16px;
  background: #fff;
  outline: none;
  transition: border 0.2s ease, box-shadow 0.2s ease;
  font-family: inherit;
}
.form-field__control:focus {
  border-color: #ccc;
  outline: none;
  box-shadow: 0 0 0 4px rgba(0,108,186,0.15);
}
.form-field__textarea {
  min-height: 120px;
  height: 120px;
  padding: 12px;
  resize: vertical;
}
.form-field__error {
  color: #f00;
  font-size: 12px;
  margin-top: 2px;
}

.form-field--zip .form-field__row {
  display: flex;
  gap: 12px;
  align-items: center;
}
.form-field--zip .form-field__control { flex: 1; }
.form-field__zip-button {
  height: 44px;
  padding: 0 18px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,0.2);
  background: #f2f2f2;
  color: #333;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s ease, border 0.2s ease;
  font-family: inherit;
}
.form-field__zip-button:hover:not(:disabled) {
  background: #e0e0e0;
  border-color: rgba(0,0,0,0.4);
}
.form-field__zip-button:disabled {
  background: #eee;
  color: #999;
  border-color: rgba(0,0,0,0.1);
  cursor: not-allowed;
}

.form-actions {
  display: flex;
  justify-content: center;
  margin-top: 28px;
}
.form-actions--confirm { gap: 28px; margin-top: 40px; }
.button {
  border-radius: 14px;
  padding: 14px 36px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.05em;
  cursor: pointer;
  border: none;
  transition: all 0.2s ease;
  font-family: inherit;
}
.button--primary {
  background: linear-gradient(135deg, #006CBA 0%, #006CBA 100%);
  color: #fff;
  box-shadow: 0 10px 24px rgba(0,108,186,0.25);
}
.button--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0,108,186,0.35);
}
.button--secondary {
  background: #ccc;
  border: 2px solid #006CBA;
  color: #006CBA;
}
.button--secondary:hover {
  background: #006CBA;
  color: #fff;
  transform: translateY(-2px);
}
.confirm-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--color-border-light);
}
.confirm {
  margin-bottom: 40px;
  border: 1px solid var(--color-border-light);
  border-radius: 14px;
  overflow: hidden;
}
.confirm__item {
  display: grid;
  grid-template-columns: 180px 1fr;
  padding: 14px 18px;
  border-bottom: 1px solid var(--color-border-light);
}
.confirm__item:last-child { border-bottom: none; }
.confirm__label { font-weight: 700; }
.confirm__value { color: #2f3f3e; word-break: break-all; }

.done { text-align: center; padding: 40px 20px; }
.done__icon {
  width: 64px; height: 64px;
  margin: 0 auto 20px;
  border-radius: 50%;
  background: #006CBA;
  color: #fff;
  font-size: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.done__title { font-size: 22px; font-weight: 700; margin-bottom: 18px; }
.done__text { line-height: 1.8; margin-bottom: 30px; }

@media (max-width: 600px) {
  .form-page { padding: 10px 0 60px; }
  .form-card { padding: 20px 16px; border-radius: 12px; margin: 20px; }
  .form-field__zip-button { padding: 0 12px; font-size: 13px; }
  .confirm__item { grid-template-columns: 1fr; gap: 6px; }
  .form-actions--confirm { flex-direction: column; gap: 16px; }
  .button { width: 100%; }
  #contact h1 { font-size: 24px; }
}

.hidden { display: none !important; }

.form-expand {
  overflow: hidden;
  transform-origin: top;
  max-height: 0;
  opacity: 0;
  transform: scaleY(0.96);
  transition:
    max-height 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.05s,
    opacity 0.35s ease 0.05s;
}
.form-expand--open {
  opacity: 1;
  transform: scaleY(1);
  overflow: inherit;
  max-height: 6000px!important;
}

.form-field.has-error .form-field__label {
  color: #f00;
}
.form-field.has-error .form-field__control {
  border-color: #ccc;
  box-shadow: 0 0 0 3px rgba(214, 58, 58, 0.12);
}
.form-field.has-error .form-field__control:focus {
  border-color: #ccc;
  outline: none;
  box-shadow: 0 0 0 4px rgba(0, 108, 186, 0.15);
}

/*----------------------------------------------
	#form_credit
---------------------------------------------*/
/* header */
#form_credit header.l_header_area {
  height: 65px;
  min-width: inherit;
}
#form_credit header .l_header_title {
  height: 50px;
}

/* .l_main_contents */
#form_credit .l_main_contents {
  width: auto;
  float: inherit;
}

#form_credit .l_bg,
#form_credit.inner .l_container {
  background: linear-gradient(300deg, #0089c8, #0093cb, #009dcb, #00a6ca, #00afc8, #00b8c4, #00c0bf, #15c8b9);
  padding-bottom: 20px;
  min-height: calc(100vh - 49px - 65px - 20px);
}
#form_credit .l_wrap {
  width: auto;
}

#form_credit h1 {
  color: #fff;
  font-size: 36px;
}

.l_form_credit_contents {
  max-width: 1000px;
  width: 100%;
  margin: auto;
  padding: 30px 30px 50px 30px;
  background: #fff;
  border-radius: 5px;
  box-shadow: 0 3px 6px rgba(0,85,124,0.30);
}
.l_form_credit_contents h2 {
  position: relative;
  text-align: center;
  font-size: 20px;
  margin-bottom: 45px;
  color: #0089c8;
}
.l_form_credit_contents h2::after {
  content: "";
  width: 100px;
  height: 2px;
  position: absolute;
  background: linear-gradient(300deg, #0089c8, #0093cb, #009dcb, #00a6ca, #00afc8, #00b8c4, #00c0bf, #15c8b9);
  bottom: -15px;
  left: 50%;
  translate: -50% 0;
}
