@charset 'UTF-8';

html{
overflow-x: scroll; /* 2025.05.07 新ヘッダーのための修正 */ 
}

/*===========================================
header
===========================================*/
/*
#header{
box-sizing: border-box;
position: absolute;
top: 0;
left: 0;
right: 0;
width: 100%;
height: 140px;
border-bottom: 1px solid #ddd;
padding: 0 20px;
background: #fff;
z-index: 100;
}
#header .header_wrap{
max-width: 1000px;
margin: auto;
}
#header .header_inner{
position: relative;
}
#header .header_logo{
position: absolute;
top: 25px;
left: 0;
}
#header .header_logo img{
width: 171px;
}
#header .header_menu_01{
display: flex;
align-items: flex-end;
height: 65px;
}
#header .header_menu_01 .flex{
display: flex;
align-items: center;
margin: 0 0 0 auto;
}
#header .header_menu_01 ul{
display: flex;
align-items: flex-end;
}
#header .header_menu_01 li{
margin-left: 2em;
white-space: nowrap;
}
#header .header_menu_01 .en a{
position: relative;
padding-left: 20px;
}
#header .header_menu_01 .en a:before{
content: '';
display: block;
position: absolute;
width: 14px;
height: 14px;
top: 0;
bottom: 0;
left: 0;
margin: auto;
background: url(/shared/image/icon_global.svg) center no-repeat;
background-size: contain;
}
#header .header_menu_01 .search{
position: relative;
margin-left: 2em;
border: 1px solid #666;
border-radius: 35px;
overflow: hidden;
}
#header .header_menu_01 .header_submit{
position: absolute;
top: 0;
bottom: 0;
right: 10px;
width: 16px;
height: 16px;
margin: auto;
border: none;
background: url(/shared/image/icon_search.svg) center no-repeat;
background-size: contain;
cursor: pointer;
outline: none;
}
#header .header_menu_01 .search input{
width: 18em;
border: none;
padding: 0.5em 35px 0.5em 1em;
font-size: 1.3rem;
background: transparent;
outline: none;
}
#header .header_menu_02{
flex-basis: 100%;
}
#header .header_menu_02 .header_navList{
max-width: 1000px;
margin: auto;
}
#header .header_menu_02 .header_navList ul{
display: flex;
justify-content: space-between;
height: 75px;
}
#header .header_menu_02 .header_navList ul > *{
display: flex;
padding: 0 1em;
}
#header .header_menu_02 .header_navList a{
display: flex;
align-items: center;
position: relative;
text-decoration: none;
}
#header .header_menu_02 .header_navList a:after{
content: "";
display: block;
position: absolute;
bottom: 0;
left: 0;
right: 0;
width: 100%;
height: 3px;
background: #e30934;
opacity: 0;
}
#header .header_menu_02 .header_navList a:hover:after{
opacity: 1;
}
#header .header_menu_02 .header_navList .bd{
align-items: center;
position: relative;
padding: 0;
}
#header .header_menu_02 .header_navList .bd:after{
content: '';
display: block;
position: absolute;
width: 1px;
height: 1em;
top: 0;
bottom: 0;
left: 0;
margin: auto;
background: #666;
}
#header .header_menu_02 .header_navList .header_menu_home{
padding-left: 0;
}
#header .header_menu_02 .header_navList .header_menu_ir{
padding-right: 0;
}
#header .header_menu_dtl{
position: absolute;
top: 140px;
left: 0;
right: 0;
height: 0;
padding: 0 20px;
background: #fff;
z-index: 10;
overflow: hidden;
}
#header .header_menu_dtl_wrap{
max-width: 1000px;
margin: auto;
}
#header .header_menu_dtl_inner{
padding: 4% 0;
}
#header .header_menu_dtl_content{
display: none;
}
#header .header_menu_dtl_content a.accordion {
position: absolute;
top: 0;
bottom: 0;
right: 0;
width: 32px;
padding: 0;
text-indent: -9999px;
text-align: left;
white-space: nowrap;
overflow: hidden;
background: none;
}
#header .header_menu_dtl_content a.accordion:after {
transform: none;
content: '';
display: block;
position: absolute;
width: 12px;
height: 12px;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
border: none;
background: url(/shared/image/icon_plus_red.svg) center no-repeat;
background-size: contain;
}
#header .header_menu_dtl_content a.accordion.open:after {
background-image: url(/shared/image/icon_minus_red.svg);
}
#header .header_menu_dtl_flex{
display: flex;
justify-content: space-between;
position: relative;
}
#header .header_menu_dtl_flex:after{
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
right: 0;
width: 1px;
height: 100%;
margin: auto;
background: #ddd;
}
#header .header_menu_dtl_flex > *{
flex-basis: calc(50% - 40px);
}
#header .header_menu_dtl_products .header_menu_dtl_flex{
flex-wrap: wrap;
}
#header .header_menu_dtl_products .header_menu_dtl_flex:after{
content: normal;
}
#header .header_menu_dtl_products .header_menu_dtl_flex > *{
flex-basis: 28%;
}
#header .header_menu_dtl_products .header_menu_dtl_flex > *:nth-of-type(n + 4){
margin-top: 40px;
}
#header .header_menu_dtl_products .ttl{
position: relative;
margin-top: 0.5em;
font-weight: bold;
}
#header .header_menu_dtl_products .ttl.mod_list_link a{
display: block;
padding: 0 20px 0 0;
}
#header .header_menu_dtl_products .ttl.mod_list_link a:before{
left: auto;
right: 0;
}
#header .header_menu_dtl_products .mod_list_link{
display: flex;
flex-wrap: wrap;
margin-top: 0.5em;
}
#header .header_menu_dtl_products .mod_list_link > *{
margin-right: 1.5em;
}
#header .header_menu_dtl_products .header_menu_dtl_list > .mod_list_link ul{
border-top: 1px solid #ddd;
padding-top: 1.5em;
}
#header .header_menu_dtl_recipe .mod_list_link.flex{
display: flex;
}
#header .header_menu_dtl_recipe .mod_list_link.flex > *{
flex-grow: 1;
margin-right: 1em;
}
#header .header_menu_dtl_recipe .header_menu_dtl_list > .header_menu_dtl_list{
margin: 0 0 0 auto;
}
#header .header_menu_dtl_recipe .header_menu_dtl_list .other{
margin: 0 0 0 auto;
}
#header .header_menu_dtl_recipe .ttl{
position: relative;
margin-bottom: 0.5em;
font-weight: bold;
}
#header .header_menu_dtl_recipe .ttl.mod_list_link a{
display: block;
padding: 0 20px 0 0;
}
#header .header_menu_dtl_recipe .ttl.mod_list_link a:before{
left: auto;
right: 0;
}
#header .header_menu_dtl_recipe .other li{
padding-left: 0;
text-indent: 0;
}
#header .header_menu_dtl_recipe .other a{
display: block;
padding-left: 0;
padding-right: 20px;
font-weight: bold;
}
#header .header_menu_dtl_recipe .other a:before{
left: auto;
right: 5px;
}
#header .header_menu_dtl_fun .header_menu_dtl_flex > *:nth-of-type(even){
margin: 0 0 0 auto;
}
#header .header_menu_dtl_quality .header_menu_dtl_flex > *:nth-of-type(even){
margin: 0 0 0 auto;
}
#header .header_menu_dtl_csr .header_menu_dtl_flex > *:nth-of-type(even){
margin: 0 0 0 auto;
}
#header .header_menu_dtl_group .header_menu_dtl_flex > *:nth-of-type(even){
margin: 0 0 0 auto;
}
#header .header_menu_dtl_ir .header_menu_dtl_flex > *:nth-of-type(even){
margin: 0 0 0 auto;
}
#header .header_menu_dtl_ttl{
display: flex;
}
#header .header_menu_dtl_ttl > *{
position: relative;
font-size: 2.8rem;
}
#header .header_menu_dtl_ttl a{
padding-top: 0;
padding-bottom: 0;
}
#header .header_menu_dtl_ttl a:before,
#header .header_menu_dtl_ttl a:after{
top: 0;
bottom: 0;
margin: auto;
}
#header .header_menu_dtl_list{
margin-top: 2%;
}
#header .header_menu_dtl_list li{
margin-bottom: 0.5em;
}
#header .header_menu_dtl_other_list{
background: #f5f5f5;
}
#header .header_menu_dtl_other_list ul{
display: flex;
flex-wrap: wrap;
}
#header .header_menu_dtl_other_list li{
flex-basis: 50%;
}
#header .header_menu_dtl_other_list a{
display: block;
border-top: 1px solid #ddd;
padding: 1em;
font-size: 1.4rem;
}
#header .header_menu_dtl_other_list li:nth-of-type(odd) a{
border-right: 1px solid #ddd;
}
#header .header_search_btn{
display: none;
flex-basis: 13px;
margin: 0 0 0 auto;
}
#header .header_search_btn a{
display: block;
position: relative;
width: 21px;
height: 21px;
text-indent: -9999px;
text-align: left;
white-space: nowrap;
overflow: hidden;
background: url(/shared/image/icon_search.svg) center no-repeat;
background-size: 21px;
}
#header .header_menu_btn{
display: none;
flex-basis: 66px;
margin: 0 0 0 0;
}
#header .header_menu_btn p{
display: flex;
align-items: center;
padding: 0 20px;
}
#header .header_menu_btn a{
display: block;
position: relative;
}
#header .header_menu_btn span{
display: block;
position: relative;
width: 26px;
height: 14px;
text-indent: -9999px;
text-align: left;
white-space: nowrap;
}
#header .header_menu_btn a:after,
#header .header_menu_btn span:before,
#header .header_menu_btn span:after{
content: "";
display: block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
width: 26px;
height: 2px;
margin: auto;
background: #e30934;
}
#header .header_menu_btn span:after{
top: auto;
}
#header .header_menu_btn span:before{
bottom: auto;
}
#header .header_search{
display: none;
}

body.navOpen #header .header_menu_dtl{
height: auto;
}
body:after{
transform: translateY(-100%);
content: "";
display: block;
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
width: 100%;
height: 100%;
opacity: 0;
z-index: 10;
}
body.navOpen:after{
transform: translateY(0%);
background: rgba(0,0,0,0.4);
opacity: 1;
}

@media (pointer: coarse){
}

@media only screen and (min-width: 768px){
#header .header_menu_dtl_content a.accordion{
display: none !important;
}
#header .header_menu_dtl_content div.accordion{
height: auto !important;
}
}
@media only screen and (max-width: 920px){
#header .header_logo img{
width: 18.587vw;
}
#header .header_menu_01 li{
margin-left: 1.5em;
font-size: 1.739vw;
}
#header .header_menu_01 .search{
margin-left: 1em;
}
#header .header_menu_02 .header_navList ul > *{
font-size: 1.739vw;
}
}
@media only screen and (max-width: 767px){
#header{
top: 0;
height: 60px;
padding: 0;
}
#header .header_inner{
display: flex;
justify-content: flex-start;
height: 60px;
}
#header .header_logo{
display: flex;
align-items: center;
position: static;
padding-left: 20px;
}
#header .header_logo img{
width: 123px;
}
#header .header_menu{
display: none;
position: fixed;
top: 60px;
bottom: 0;
left: 0;
right: 0;
height: calc(100% - 60px);
background: #fff;
overflow-y: auto;
}
#header .header_menu_inner{
display: flex;
flex-wrap: wrap;
}
#header .header_menu_inner > *{
flex-basis: 100%;
}
#header .header_menu_01{
display: none;
}
#header .header_search{
display: none;
position: fixed;
top: 60px;
bottom: 0;
left: 0;
right: 0;
height: calc(100% - 60px);
}
#header .header_search .header_search_inner{
display: flex;
justify-content: center;
align-items: center;
height: 90px;
padding: 0 20px;
background: #fff;
}
#header .header_search .search{
display: flex;
align-items: center;
flex-basis: 100%;
position: relative;
height: 50px;
border: 1px solid #f5f5f5;
border-radius: 50px;
padding: 0 20px;
overflow: hidden;
background: #f5f5f5;
}
#header .header_search .search > *{
position: relative;
flex-basis: 100%;
}
#header .header_search .search input{
width: 100%;
border: none;
padding: 0.5em 0 0.5em 25px;
font-size: 1.6rem;
background: transparent;
outline: none;
}
#header .header_search .header_submit {
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 16px;
height: 16px;
margin: auto;
border: none;
background: url(/shared/image/icon_search.svg) center no-repeat;
background-size: contain;
cursor: pointer;
outline: none;
}
#header .header_menu_02 .header_navList{
display: none;
}
#header .header_menu_02 .header_menu_dtl{
display: none;
position: fixed;
top: 60px;
bottom: 0;
left: 0;
right: 0;
padding: 0;
height: calc(100% - 60px);
overflow-y: auto;
}
#header .header_menu_dtl{
background: none;
}
#header .header_menu_dtl_inner{
padding: 0;
background: #fff;
}
#header .header_menu_dtl_content{
display: block !important;
}
#header .header_menu_dtl_content:first-child > .header_menu_dtl_ttl a{
border: none;
}
#header .header_menu_dtl_flex{
flex-wrap: wrap;
}
#header .header_menu_dtl_flex > *{
flex-basis: 100%;
}
#header .header_menu_dtl_flex:after{
right: auto;
width: 2px;
background: #e30934;
}
#header .header_menu_dtl_content a.accordion{
padding: 0 0 0 52px;
}
#header .header_menu_dtl_products .header_menu_dtl_flex:after{
content: "";
}
#header .header_menu_dtl_products .header_menu_dtl_flex > *{
flex-basis: 100%;
border-top: 1px solid #ddd;
}
#header .header_menu_dtl_products .header_menu_dtl_flex > *:nth-of-type(n){
margin: 0;
}
#header .header_menu_dtl_products figure{
display: none;
}
#header .header_menu_dtl_products .ttl{
margin: 0;
padding: 1em 1em 1em 1.5em;
font-size: 1.5rem;
font-weight: normal;
}
#header .header_menu_dtl_products .header_menu_dtl_list li{
margin-left: 2.5em;
margin-bottom: 0.5em;
}
#header .header_menu_dtl_products .header_menu_dtl_list a{
border: none;
padding: 0 0 0 20px;
background: none;
}
#header .header_menu_dtl_products .header_menu_dtl_list a:before{
content: "";
}
#header .header_menu_dtl_products .header_menu_dtl_list a.accordion{
padding: 0 0 0 52px;
}
#header .header_menu_dtl_products .header_menu_dtl_list a.accordion:after{
background-image: url(/shared/image/icon_plus.svg);
}
#header .header_menu_dtl_products .header_menu_dtl_list a.open.accordion:after{
background-image: url(/shared/image/icon_minus.svg);
}
#header .header_menu_dtl_products .mod_list_link{
display: block;
margin: 0;
padding: 0;
}
#header .header_menu_dtl_products .mod_list_link ul:last-child{
padding-bottom: 0.5em;
}
#header .header_menu_dtl_products p.ttl.mod_list_link a{
padding: 1em 1em 1em 1.5em;
}
#header .header_menu_dtl_products p.mod_list_link a:before{
content: normal;
}
#header .header_menu_dtl_products .header_menu_dtl_list > .mod_list_link{
padding: 0;
}
#header .header_menu_dtl_products .header_menu_dtl_list > .mod_list_link ul{
margin: 0;
border: none;
padding: 0;
}
#header .header_menu_dtl_products .header_menu_dtl_list > .mod_list_link li{
margin: 0;
}
#header .header_menu_dtl_products .header_menu_dtl_list > .mod_list_link li a{
padding: 1em 1em 1em 1.5em;
}
#header .header_menu_dtl_products .header_menu_dtl_list > .mod_list_link li + li a{
border-top: 1px solid #ddd;
}
#header .header_menu_dtl_products .header_menu_dtl_list > .mod_list_link a:before{
content: normal;
}
#header .header_menu_dtl_recipe .ttl{
margin: 0;
padding: 1em 1em 1em 1.5em;
font-size: 1.5rem;
font-weight: normal;
}
#header .header_menu_dtl_recipe .header_menu_dtl_flex .ttl{
border-top: 1px solid #ddd;
}
#header .header_menu_dtl_recipe .header_menu_dtl_list .ttl + .accordion li{
margin-left: 2.5em;
margin-bottom: 0.5em;
}
#header .header_menu_dtl_recipe .header_menu_dtl_list .ttl + .accordion a{
border: none;
padding: 0 0 0 20px;
background: none;
}
#header .header_menu_dtl_recipe .header_menu_dtl_list .ttl + .accordion a:before{
content: "";
}
#header .header_menu_dtl_recipe .header_menu_dtl_list .ttl + .accordion a.accordion{
padding: 0 0 0 52px;
}
#header .header_menu_dtl_recipe .header_menu_dtl_list .ttl + .accordion .mod_list_link ul:last-child{
padding-bottom: 0.5em;
}
#header .header_menu_dtl_recipe .header_menu_dtl_list .ttl a{
border: none;
}
#header .header_menu_dtl_recipe .header_menu_dtl_list .ttl a.accordion:after{
background-image: url(/shared/image/icon_plus.svg);
}
#header .header_menu_dtl_recipe .header_menu_dtl_list .ttl a.open.accordion:after{
background-image: url(/shared/image/icon_minus.svg);
}
#header .header_menu_dtl_recipe .header_menu_dtl_list .ttl + .accordion .flex{
flex-wrap: wrap;
}
#header .header_menu_dtl_recipe .other a{
padding: 1em 1em 1em 1.5em;
font-weight: normal;
}
#header .header_menu_dtl_ttl{
display: block;
}
#header .header_menu_dtl_ttl > *{
font-size: 1.5rem;
}
#header .header_menu_dtl_ttl a{
display: block;
border-top: 1px solid #ddd;
padding: 1em;
font-weight: normal;
background: #fff;
}
#header .header_menu_dtl_ttl a:before,
#header .header_menu_dtl_ttl a:after{
content: normal;
}
#header .header_menu_dtl_list{
margin: 0;
background: #fbfbfb;
}
#header .header_menu_dtl_list li{
margin: 0;
padding: 0;
font-size: 1.5rem;
text-indent: 0;
}
#header .header_menu_dtl_list li + li{
margin: 0;
}
#header .header_menu_dtl_list a{
display: block;
border-top: 1px solid #ddd;
padding: 1em 1em 1em 1.5em;
}
#header .header_menu_dtl_list a:before{
content: normal;
}
#header .header_search_btn{
flex-basis: 21px;
display: flex;
align-items: center;
justify-content: center;
}
#header .header_menu_btn{
display: flex;
}
body.menuOpen,
body.searchOpen{
position: fixed;
width: 100%;
}
body.menuOpen:after,
body.navOpen:after,
body.searchOpen:after{
transform: translateY(0%);
background: rgba(0,0,0,0.4);
opacity: 1;
}
body.menuOpen #header{
position: fixed;
}
body.searchOpen #header .header_search{
display: block;
}
body.menuOpen #header .header_menu_btn a:after{
content: normal;
}
body.menuOpen #header .header_menu_btn span:before,
body.menuOpen #header .header_menu_btn span:after{
top: 0;
bottom: 0;
}
body.menuOpen #header .header_menu_btn span:before{
transform: rotate(45deg);
}
body.menuOpen #header .header_menu_btn span:after{
transform: rotate(-45deg);
}
body.menuOpen #header .header_menu_02 .header_menu_dtl{
display: block;
}
}
*/

/*===========================================
bcList
===========================================*/
#bcList{
padding: 0 20px;
border-bottom: 1px solid #eee;
}
#bcList .bcList_wrap{
max-width: 1000px;
margin: auto;
}
#bcList .bcList_inner{
padding: 1em 0;
}
#bcList ul{
display: flex;
flex-wrap: wrap;
}
#bcList li{
font-size: 1.2rem;
}
#bcList li + li:before{
content: "＞";
margin: 0 0.5em;
color: #999;
}

@media only screen and (max-width: 767px){
#bcList{
display: none;
}
}

/*===========================================
side
===========================================*/
#side{
position: relative;
z-index: 1;
}
#side > *{
margin-top: 1em;
}
#side .side_ttl > *{
font-size: 1.8rem;
font-weight: bold;
}
#side .side_nav{
border-top: 2px solid #999;
background: #fff;
}
#side .side_nav li{
border-bottom: 1px solid #eee;
font-size: 1.4rem;
}
#side .side_nav li.current{
background-color: rgba(0,0,0,0.03);
}
#side .side_nav li.current li{
background-color: transparent;
}

#side .side_nav li span{
display: block;
position: relative;
}
#side .side_nav a{
display: block;
position: relative;
padding: 1em;
text-decoration: none;
background-color: transparent;
}
#side .side_nav a:hover{
background-color: rgba(0,0,0,0.03);
}
#side .side_nav li span a{
padding: 1em 32px 1em 1em;
}
#side .side_nav a.accordion{
position: absolute;
top: 0;
bottom: 0;
right: 0;
width: 32px;
padding: 0;
background-color: transparent;
}
#side .side_nav a.accordion:after{
content: '';
display: block;
position: absolute;
width: 12px;
height: 12px;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
background: url(/shared/image/icon_plus.svg) center no-repeat;
background-size: contain;
}
#side .side_nav a.accordion.open:after{
background-image: url(/shared/image/icon_minus.svg);
}
#side .side_nav li ul{
padding-bottom: 1em;
}
#side .side_nav li li{
border: none;
}
#side .side_nav li li a{
position: relative;
padding: 0.25em 2em 0.25em 2em;
}
#side .side_nav li li.current > a{
color: #e30934;
text-decoration: underline;
}
#side .side_nav li li a:before{
content: "";
display: block;
position: absolute;
top: 0.66em;
left: 1em;
width: 0.5em;
height: 0.5em;
margin: 0 auto;
border-left: 1px solid #000;
border-bottom: 1px solid #000;
}
#side .side_nav li li ul{
padding: 0;
}
#side .side_nav li li li{
line-height: 1.4;
}
#side .side_nav li li li a{
padding-left: 4em;
line-height: 1.4;
}
#side .side_nav li li li a:before{
left: 3em;
border-color: #777;
}


@media only screen and (max-width: 767px){
#side .side_ttl{
margin: 0;
}
#side .side_ttl > *{
font-size: 2.4rem;
text-align: center;
}
#side .side_nav{
margin-top: 1.5em;
border: 1px solid #ddd;
border-bottom: none;
}
#side .side_nav li{
border-color: #ddd;
}
#side .side_nav a.accordion{
width: 52px;
}
#side .side_nav a {
padding: 1em 54px 1em 2em;
}
#side .side_nav li span a {
padding: 1em 54px 1em 2em;
}
#side .side_nav li li a{
padding: 0.25em 1em 0.25em 3em;
}
#side .side_nav li li a:before {
left: 2em;
}
}

/*===========================================
pageTop
===========================================*/
#pageTop{
position: absolute;
right: 40px;
bottom: 30px;
z-index: 10;
}
#pageTop.fix{
position: fixed;
}
#pageTop a{
display: block;
position: relative;
width: 60px;
height: 60px;
border: 2px solid #e30934;
border-radius: 60px;
text-indent: -9999px;
white-space: nowrap;
background: #fff;
}
#pageTop a:after{
transform: rotate(-45deg);
content: "";
display: block;
position: absolute;
top: 4px;
bottom: 0;
left: 0;
right: 0;
width: 10px;
height: 10px;
margin: auto;
border-top: 2px solid #e30934;
border-right: 2px solid #e30934;
}

@media only screen and (max-width: 767px){
#footer{
padding-top: 100px; /* 新フッターのために修正 */
}
#pageTop{
position: absolute;
right: 0;
top: -90px;
height: 90px;
z-index: 10;
}
#pageTop.fix{
position: relative;
}
#pageTop p{
position: absolute;
}
#pageTop.fix p{
position: fixed;
}
#pageTop p{
right: 20px;
bottom: 30px;
}
#pageTop a{
width: 50px;
height: 50px;
}
}

/*===========================================
footer
===========================================*/
/* #footer{
position: relative;
}
#footer .footer_menu{
position: relative;
}
#footer .footer_menu_pc{
padding: 0 20px;
background: #f5f5f5;
}
#footer .footer_menu_pc .footer_menu_wrap{
max-width: 1000px;
margin: auto;
}
#footer .footer_menu_pc .footer_menu_inner{
display: flex;
justify-content: space-between;
padding: 8.5% 0;
}
#footer .footer_menu_pc .footer_menu_inner > div + div{
padding-left: 1.5em;
}
#footer .footer_menu_pc li{
font-size: 1.6rem;
font-weight: bold;
white-space: nowrap;
}
#footer .footer_menu_pc li + li{
margin-top: 1.5em;
}
#footer .footer_menu_pc li li{
margin-top: 1.25em;
font-size: 1.4rem;
font-weight: normal;
white-space: normal;
}
#footer .footer_menu_sp{
display: none;
background: #f5f5f5;
}
#footer .footer_menu_sp ul{
display: flex;
flex-wrap: wrap;
}
#footer .footer_menu_sp li{
display: flex;
flex-basis: 50%;
line-height: 1.6;
}
#footer .footer_menu_sp li:nth-of-type(n + 3){
border-top: 1px solid #fff;
}
#footer .footer_menu_sp li:last-child{
flex-basis: 100%;
border-right: none;
}
#footer .footer_menu_sp li a{
flex-basis: 100%;
display: flex;
align-items: center;
min-height: 4em;
border-right: 1px solid #fff;
font-size: 1.4rem;
}
#footer .footer_menu_sp li:nth-of-type(2n) a{
border-right: none;
}
#footer .footer_menu_sp li span{
display: block;
padding: 0.5em 1em;
}

#footer .footer_info{
padding: 1.25em 20px 1.25em 20px;
}
#footer .footer_info_list ul{
display: flex;
justify-content: center;
flex-wrap: wrap;
}
#footer .footer_info_list li{
display: flex;
justify-content: center;
margin: 0.5em 0.75em;
font-size: 1.4rem;
}
#footer .footer_logo{
display: flex;
justify-content: center;
margin-top: 1.5em;
}
#footer .footer_logo img{
width: 186px;
}
#footer .footer_copyright{
display: flex;
justify-content: center;
margin-top: 1em;
}
#footer .footer_copyright p{
text-align: center;
font-size: 12px;
}


@media only screen and (max-width: 767px){
#footer .footer_menu_pc{
display: none;
}
#footer .footer_menu_sp{
display: block;
}
#footer .footer_menu_sp li:last-child a{
border-right: none;
}
#footer .footer_info{
padding: 2em 0 1.75em 0;
}
#footer .footer_info ul{
margin: auto;
padding: 0;
}
#footer .footer_copyright{
margin-top: 1em;
}
#footer .footer_copyright p{
font-size: 1.2rem;
}
} */

/*===========================================
contents
===========================================*/
#wrap{
padding-top: 120px; /* 新ヘッダー適用のための修正 */
}
.contents{
padding: 0 20px;
}
.contents .contents_wrap{
max-width: 1000px;
margin: auto;
}
.contents .contents_inner{
padding: 3% 0 8% 0;
}
.contents .contents_column{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.contents .contents_main{
flex-basis: 71%;
}
.contents .contents_side{
flex-basis: 24%;
position: relative;
}

@media only screen and (max-width: 767px){
#wrap{
padding-top: 46px; /* 新ヘッダーのために修正 */
overflow: hidden;
}
.contents .contents_main{
flex-basis: 100%;
width: 100%;
padding-bottom: 70px;
}
.contents .contents_inner{
padding: 8% 0 0 0;
}
.contents .contents_side{
flex-basis: 100%;
padding: 50px 0 0 0;
}
.contents .contents_side:after{
content: '';
display: block;
position: absolute;
width: calc(100% + 40px);
height: calc(100% + 100px);
top: 0;
left: -20px;
margin: auto;
background-color: #fef0f3;
background-image: linear-gradient(90deg, #fef0f3 0%, #fef7f0 100%);
}
}

/*===========================================
searchHeader
===========================================*/
#header.searchHeader{
height: auto;
position: static;
}
#header.searchHeader .header_logo{
display: flex;
align-items: center;
position: static;
height: 60px;
}
#header.searchHeader .header_logo img{
width: 171px;
}

@media only screen and (max-width: 767px){
#header.searchHeader .header_inner,
#header.searchHeader .header_logo{
height: 40px;
}
#header.searchHeader .header_logo img{
width: 126px;
}
}

/*===========================================
searchFooter
===========================================*/
#footer.searchFooter{
border-top: 1px solid #e5e5e5;
padding: 0;
background: #fff;
}

/*===========================================
general
===========================================*/
@media only screen and (max-width: 767px){
.pc_only{
display: none !important;
}
}
@media only screen and (min-width: 768px){
.sp_only{
display: none !important;
}
}

/*===========================================
hover
===========================================*/
.alpha{
opacity: 1;
}
.alpha:hover{
opacity: 0.7;
}
a.alpha:link,
a.alpha:hover{
text-decoration: none;
}
@media (pointer: coarse) {
.alpha:hover{
opacity: 1;
}
}

/*===========================================
accordion
===========================================*/
div.accordion{
transition: height 0.5s ease;
height: 0;
overflow: hidden;
}
div.accordion.open{
height: auto;
}

/*===========================================
module
===========================================*/
/*ttl*/
.mod_ttl_01{
margin: 0;
padding-bottom: 1em;
position: relative;
}
.mod_ttl_01:after{
content: '';
display: block;
position: absolute;
width: 64px;
height: 2px;
bottom: 0;
left: 0;
background-color: #e30934;
background-image: linear-gradient(90deg, #e30934 0%, #EF8D18 100%);
}
.mod_ttl_01 .mod_sub > *{
color: #666;
font-size: 1.2rem;
}
.mod_ttl_01 .mod_ttl > *{
font-size: 4rem;
}

.mod_ttl_02{
margin: 6.25em 0 0 0;
padding-bottom: 0.5em;
position: relative;
}
.mod_ttl_02:before,
.mod_ttl_02:after{
content: '';
display: block;
position: absolute;
height: 2px;
bottom: 0;
left: 0;
}
.mod_ttl_02:before{
width: 100%;
background: #ddd;
}
.mod_ttl_02:after{
width: 64px;
background-color: #e30934;
}
.mod_ttl_02 .mod_ttl > *{
font-size: 2.8rem;
font-weight: bold;
}

.mod_ttl_03{
margin: 6.25em 0 0 0;
padding-bottom: 0.5em;
position: relative;
}
.mod_ttl_03 .mod_ttl > *{
font-size: 2rem;
font-weight: bold;
}
.mod_ttl_03:after{
content: '';
display: block;
position: absolute;
width: 40px;
height: 2px;
bottom: 0;
left: 0;
background-color: #e30934;
}

.mod_ttl_04{
margin: 1.875em 0 0 0;
}
.mod_ttl_04 .mod_ttl{
padding: 0.25em 1em;
background: #666;
}
.mod_ttl_04 .mod_ttl > *{
color: #fff;
font-size: 2.2rem;
font-weight: bold;
text-align: center;
}

.mod_ttl_05{
margin: 1.875em 0 0 0;
padding-bottom: 0.5em;
position: relative;
}
.mod_ttl_05 .mod_ttl > *{
font-size: 1.8rem;
font-weight: bold;
}
.mod_ttl_05 .mod_ttl > *:before{
content: "■";
}

.mod_ttl_06{
margin: 1.875em 0 0 0;
padding-bottom: 0.5em;
}
.mod_ttl_06 .mod_ttl > *{
font-size: 1.8rem;
font-weight: bold;
}

@media screen and (max-width:767px){
.mod_ttl_01 .mod_ttl > *{
font-size: 3rem;
}
.mod_ttl_01{
margin-top: 0;
}
.mod_ttl_02{
margin-top: 5em;
}
.mod_ttl_02 .mod_ttl > *{
font-size: 2.4rem;
}
.mod_ttl_03{
margin-top: 3.75em;
}
.mod_ttl_03 .mod_ttl > *{
font-size: 2rem;
}
.mod_ttl_04{
margin-top: 1.875em;
}
.mod_ttl_05{
margin-top: 1.875em;
}
}

/*icon*/
.mod_icon_pdf_red:after{
content: '';
display: inline-block;
position: relative;
width: 20px;
height: 20px;
top: -0.1em;
margin-left: 0.5em;
margin-right: 0.25em;
vertical-align: middle;
background: url(/shared/image/icon_pdf.svg) center no-repeat;
background-size: contain;
}
.mod_icon_blank_bk,
.mod_icon_blank_wh,
.mod_icon_blank_red{
position: relative;
}
.mod_icon_blank_bk:after,
.mod_icon_blank_wh:after,
.mod_icon_blank_red:after{
content: '';
display: inline-block;
position: relative;
width: 12px;
height: 12px;
top: -0.1em;
margin-left: 0.5em;
margin-right: 0.25em;
vertical-align: middle;
background: center no-repeat;
background-size: contain;
}
.mod_icon_blank_bk:after{
background-image: url(/shared/image/icon_blank_bk.svg);
}
.mod_icon_blank_wh:after{
background-image: url(/shared/image/icon_blank_wh.svg);    
}
.mod_icon_blank_red:after{
background-image: url(/shared/image/icon_blank_red.svg);
}
.mod_icon_txt_gentei{
padding: 2px 1em 1px 1em;
font-size: 1.4rem;
color: #fff;
font-weight: bold;
background: #EF8D18;
}
.mod_icon_txt_area{
padding: 2px 1em 1px 1em;
font-size: 1.4rem;
color: #fff;
font-weight: bold;
background: #B4CC3D;
}
.mod_icon_txt_companyCm{
border: 1px solid #e30934;
padding: 2px 1em 1px 1em;
font-size: 1.2rem;
color: #e30934;
background: #fff;
}
.mod_icon_txt_productCm{
border: 1px solid #e30934;
padding: 2px 1em 1px 1em;
font-size: 1.2rem;
color: #e30934;
background: #fff;
}
.mod_icon_txt_groupCm{
border: 1px solid #e30934;
padding: 2px 1em 1px 1em;
font-size: 1.2rem;
color: #e30934;
background: #fff;
}
.mod_icon_txt_other{
padding: 2px 1em 1px 1em;
color: #fff;
font-size: 1.2rem;
text-align: center;
background: #D9B56C;
}
.mod_icon_txt_product{
padding: 2px 1em 1px 1em;
color: #fff;
font-size: 1.2rem;
text-align: center;
background: #B4CC3D;
}
.mod_icon_txt_group{
padding: 2px 1em 1px 1em;
color: #fff;
font-size: 1.2rem;
text-align: center;
background: #FF6A4D;
}
.mod_icon_txt_campaign{
padding: 2px 1em 1px 1em;
color: #fff;
font-size: 1.2rem;
text-align: center;
background: #ffaa33;
}
.mod_icon_txt_rss{
display: inline-block;
position: relative;
border-radius: 4px;
padding: 2px 10px 1px 10px;
padding-left: 35px;
color: #fff;
font-size: 1.4rem;
background: #FF7F00;
}
.mod_icon_txt_rss:hover{
color: #fff;
text-decoration: none;
}
.mod_icon_txt_rss:before{
content: '';
display: block;
position: absolute;
width: 16px;
height: 16px;
top: 0;
bottom: 0;
left: 10px;
margin: auto;
background: url(/shared/image/icon_rss_wh.svg) center no-repeat;
background-size: contain;
}
.mod_icon_txt_required{
padding: 2px 1.5em;
font-size: 1.1rem;
color: #fff;
font-weight: bold;
background: #e30934;
}
.mod_icon_txt_new{
display: block;
width: 48px;
height: 48px;
text-align: left;
text-indent: -9999px;
white-space: nowrap;
background: url(/shared/image/icon_new_01_red.svg) center no-repeat;
background-size: contain;
overflow: hidden;
}
.mod_icon_tablescroll_red{
display: none;
position: relative;
padding: 0.75em 0;
padding-left: 65px;
font-size: 1.3rem;
}
.mod_icon_tablescroll_red:before{
content: '';
display: block;
position: absolute;
width: 55px;
height: 29px;
top: 0;
bottom: 0;
left: 0;
margin: auto;
background: url(/shared/image/icon_tablescroll_red.svg) center no-repeat;
background-size: contain;
}

@media screen and (max-width:767px){
.mod_icon_tablescroll_red{
display: block;
}
.mod_icon_txt_new{
width: 36px;
height: 36px;
}
}


/*txt*/
.mod_txt_01 p{
font-size: 1.6rem;
line-height: 1.7;
}
.mod_txt_02 p{
font-size: 1.4rem;
line-height: 1.5;
}
.mod_txt_03 p{
font-size: 1.8rem;
line-height: 1.7;
}
.mod_txt_align_l{
text-align: left;
}
.mod_txt_align_r{
text-align: right;
}
.mod_txt_align_c{
text-align: center;
}
.mod_txt_bold{
font-weight: bold;
}
.mod_txt_normal{
font-weight: normal;
}
.mod_txt_red{
color: #e30934;
}
.mod_txt_gray{
color: #888;
}
.mod_txt_link{
position: relative;
padding-left: 20px;
color: #333;
}
.mod_txt_link:before{
transform: rotate(45deg);
content: "";
display: block;
position: absolute;
top: 0.5em;
left: 0;
width: 8px;
height: 8px;
border-top: 2px solid #e30934;
border-right: 2px solid #e30934;
}
.mod_txt_iblock{
display: inline-block;
}
.mod_txt_nowrap{
white-space: nowrap;
}
.mod_txt_vertical{
writing-mode: vertical-lr;
-ms-writing-mode: tb-lr;
letter-spacing: 0.5em;
text-align: center;
vertical-align: middle;
}

@media screen and (max-width:767px){
.mod_txt_01 p{
font-size: 1.5rem;
}
.mod_txt_03 p{
font-size: 1.7rem;
}
}

/*column*/
.mod_column_2_1{}
.mod_column_2_1 .mod_column_flex{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.mod_column_2_1 .mod_column_flex > *{
flex-basis: 50%;
}
.mod_column_2_1 .mod_column_flex > *:nth-of-type(n + 3){
margin-top: 5%;
}

.mod_column_2_2{}
.mod_column_2_2 .mod_column_flex{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.mod_column_2_2 .mod_column_flex > *{
flex-basis: 50%;
}
.mod_column_2_2 .mod_column_flex > *:nth-of-type(n + 3){
margin-top: 5%;
}

.mod_column_3_1{}
.mod_column_3_1 .mod_column_flex{
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}
.mod_column_3_1 .mod_column_flex > *{
flex-basis: calc((100% - 1px) / 3);
}
.mod_column_3_1 .mod_column_flex > *:nth-of-type(n + 4){
margin-top: 5%;
}

.mod_column_3_2{}
.mod_column_3_2 .mod_column_flex{
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}
.mod_column_3_2 .mod_column_flex > *{
flex-basis: calc((100% - 1px) / 3);
}
.mod_column_3_2 .mod_column_flex > *:nth-of-type(n + 4){
margin-top: 5%;
}

.mod_imgArticle_2_1 .mod_flex{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.mod_imgArticle_2_1 .mod_img{
flex-basis: 38%;
}
.mod_imgArticle_2_1 .mod_data{
flex-basis: calc(62% - 30px);
}

/* 20240501 flex table */
.mod_imgArticle_2_1 .l-table-flex .mod_table_01{
flex-basis: 45%;
}
.mod_imgArticle_2_1 .l-table-flex .mod_data{
flex-basis: calc(55% - 30px);
}

.mod_itemList_2_1 .mod_flex{
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}
.mod_itemList_2_1 .mod_flex > *{
flex-basis: calc((100% - 41px) / 2);
margin-right: 40px;
}
.mod_itemList_2_1 .mod_flex > *:nth-of-type(2n){
margin-right: 0;
}
.mod_itemList_2_1 .mod_flex > *:nth-of-type(n + 3){
margin-top: 30px;
}

.mod_itemList_2_2 .mod_flex{
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}
.mod_itemList_2_2 .mod_flex > *{
flex-basis: calc((100% - 41px) / 2);
margin-right: 40px;
}
.mod_itemList_2_2 .mod_flex > *:nth-of-type(2n){
margin-right: 0;
}
.mod_itemList_2_2 .mod_flex > *:nth-of-type(n + 3){
margin-top: 30px;
}

.mod_itemList_3_1 .mod_flex{
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}
.mod_itemList_3_1 .mod_flex > *{
flex-basis: calc((100% - 71px) / 3);
margin-right: 35px;
}
.mod_itemList_3_1 .mod_flex > *:nth-of-type(3n){
margin-right: 0;
}
.mod_itemList_3_1 .mod_flex > *:nth-of-type(n + 4){
margin-top: 30px;
}

.mod_itemList_3_2 .mod_flex{
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}
.mod_itemList_3_2 .mod_flex > *{
flex-basis: calc((100% - 71px) / 3);
margin-right: 35px;
}
.mod_itemList_3_2 .mod_flex > *:nth-of-type(3n){
margin-right: 0;
}
.mod_itemList_3_2 .mod_flex > *:nth-of-type(n + 4){
margin-top: 30px;
}

.mod_itemList_4_1 .mod_flex{
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}
.mod_itemList_4_1 .mod_flex > *{
flex-basis: 21.2%;
margin-right: 4.8%;
}
.mod_itemList_4_1 .mod_flex > *:nth-of-type(4n){
margin-right: 0;
}
.mod_itemList_4_1 .mod_flex > *:nth-of-type(n + 5){
margin-top: 3%;
}
.mod_itemList_4_1 .mod_data{
margin-top: 1em;
}

.mod_itemList_4_2 .mod_flex{
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}
.mod_itemList_4_2 .mod_flex > *{
flex-basis: 21.2%;
margin-right: 4.8%;
}
.mod_itemList_4_2 .mod_flex > *:nth-of-type(4n){
margin-right: 0;
}
.mod_itemList_4_2 .mod_flex > *:nth-of-type(n + 5){
margin-top: 3%;
}
.mod_itemList_4_2 .mod_data{
margin-top: 1em;
}

.mod_itemList_5_2 .mod_flex{
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}
.mod_itemList_5_2 .mod_flex > *{
flex-basis: calc((100% - 161px) / 5);
margin-right: 40px;
}
.mod_itemList_5_2 .mod_flex > *:nth-of-type(5n){
margin-right: 0;
}
.mod_itemList_5_2 .mod_flex > *:nth-of-type(n + 6){
margin-top: 30px;
}
.mod_itemList_5_2 .mod_data{
margin-top: 1em;
}

@media screen and (max-width:767px){
.mod_column_2_1 .mod_column_flex > *{
flex-basis: 100%;
}
.mod_column_2_1 .mod_column_flex > *:nth-of-type(n + 2){
margin-top: 2em;
}
.mod_column_2_2 .mod_column_flex > *:nth-of-type(n + 3){
margin-top: 10%;
}
.mod_column_3_1 .mod_column_flex > *{
flex-basis: 100%;
}
.mod_column_3_1 .mod_column_flex > *:nth-of-type(n + 2){
margin-top: 10%;
}
.mod_column_3_2 .mod_column_flex > *{
flex-basis: 50%;
}
.mod_column_3_2 .mod_column_flex > *:nth-of-type(n + 3){
margin-top: 10%;
}
.mod_imgArticle_2_1 .mod_img{
flex-basis: 100%;
}
.mod_imgArticle_2_1 .mod_data{
flex-basis: 100%;
margin-top: 1em;
}

.mod_imgArticle_2_1 .l-table-flex .mod_table_01{
flex-basis: 100%;
}
.mod_imgArticle_2_1 .l-table-flex .mod_data{
flex-basis: 100%;
}

.mod_itemList_2_1 .mod_flex > *{
flex-basis: 100%;
margin-right: 0;
}
.mod_itemList_2_1 .mod_flex > *:nth-of-type(n + 2){
margin-top: 10px;
}
.mod_itemList_2_2 .mod_flex > *{
flex-basis: calc((100% - 21px) / 2);
margin-right: 20px;
}
.mod_itemList_3_1 .mod_flex > *{
flex-basis: 100%;
margin-right: 0;
}
.mod_itemList_3_1 .mod_flex > *:nth-of-type(n + 2){
margin-top: 10px;
}
.mod_itemList_3_2 .mod_flex > *{
flex-basis: calc((100% - 21px) / 2);
margin-right: 20px;
}
.mod_itemList_3_2 .mod_flex > *:nth-of-type(even){
margin-right: 0;
}
.mod_itemList_3_2 .mod_flex > *:nth-of-type(n + 3){
margin-top: 10px;
}
.mod_itemList_4_1 .mod_flex > *{
flex-basis: 100%;
margin-right: 0;
}
.mod_itemList_4_1 .mod_flex > *:nth-of-type(n + 2){
margin-top: 2em;
}
.mod_itemList_4_2 .mod_flex > *{
flex-basis: calc(50% - 11px);
margin-right: 20px;
}
.mod_itemList_4_2 .mod_flex > *:nth-of-type(even){
margin-right: 0;
}
.mod_itemList_4_2 .mod_flex > *:nth-of-type(n + 3){
margin-top: 2em;
}
.mod_itemList_5_2 .mod_flex > *{
flex-basis: calc((100% - 21px) / 2);
}
.mod_itemList_5_2 .mod_flex > *:nth-of-type(2n){
margin-right: 0;
}
.mod_itemList_5_2 .mod_flex > *:nth-of-type(2n + 1){
margin-right: 20px;
}
.mod_itemList_5_2 .mod_flex > *:nth-of-type(n + 3){
margin-top: 2em;
}
}

/*list*/
.mod_list_disc li{
padding-left: 1em;
text-indent: -1em;
}
.mod_list_disc li:before{
content: "・";
}
.mod_list_asterisk li{
padding-left: 1em;
text-indent: -1em;
}
.mod_list_asterisk li:before{
content: "※";
}
.mod_list_link li{
padding-left: 20px;
text-indent: -20px;
}
.mod_list_link a{
position: relative;
padding-left: 20px;
color: #333;
}
.mod_list_link a:before{
transform: rotate(45deg);
content: "";
display: block;
position: absolute;
top: 0.4em;
left: 0;
width: 8px;
height: 8px;
border-top: 2px solid #e30934;
border-right: 2px solid #e30934;
}

.mod_list_circle li{
padding-left: 1.25em;
text-indent: -1.25em;
}
.mod_list_circle li:before{
content: "";
display: inline-block;
width: 0.75em;
height: 0.75em;
margin-right: 0.5em;
border-radius: 1em;
background: #333;
}

.mod_list_number_1 ol{
counter-reset: count;
}
.mod_list_number_1 li{
position: relative;
counter-increment: count;
padding-left: 1.5em;
}
.mod_list_number_1 li:before{
content: counter(count)".";
position: absolute;
left: 0;
width: 1.25em;
text-align: right;
}

.mod_list_table{}
.mod_list_table > *{
display: table;
}
.mod_list_table > * > *{
display: table-row;
}
.mod_list_table > * > * > *{
display: table-cell;
}
.mod_list_table > * > * > * + * {
padding-left: 1em;
}

.mod_list_btnList ul{
display: flex;
flex-wrap: wrap;
}
.mod_list_btnList ul > *{
display: flex;
flex-basis: 20%;
}
.mod_list_btnList a{
flex-basis: 100%;
display: block;
position: relative;
margin: 1px;
border: 1px solid #ccc;
padding: 1em 25px 1em 1em;
text-decoration: none;
background: #fff;
overflow: hidden;
}
.mod_list_btnList a:after{
transform: rotate(135deg);
content: "";
display: block;
position: absolute;
top: 0;
bottom: 0;
right: 12px;
width: 8px;
height: 8px;
margin: auto;
border-top: 2px solid #000;
border-right: 2px solid #000;
}
.mod_list_btnList a:hover{
background: #F7F7F7;
}
.mod_list_btnList a:hover:after{
border-color: #e30934;
}

.mod_list_faq{
border-bottom: 1px solid #ddd;
}
.mod_list_faq .mod_list_faq_ttl{
position: relative;
border-top: 1px solid #ddd;
font-size: 1.8rem;
font-weight: bold;
}
.mod_list_faq .mod_list_faq_ttl a{
display: block;
position: relative;
padding: 1em 0;
padding-left: 55px;
padding-right: calc(32px + 1em);
}
.mod_list_faq .mod_list_faq_ttl a:before{
content: 'Q';
display: flex;
align-items: center;
justify-content: center;
position: absolute;
width: 33px;
height: 33px;
top: 0.85em;
left: 0;
border-radius: 4px;
color: #fff;
background: #FC918F;
}
.mod_list_faq .mod_list_faq_ttl a.accordion:after{
content: '';
display: block;
position: absolute;
width: 12px;
height: 12px;
top: 0;
bottom: 0;
right: 20px;
margin: auto;
background: url(/shared/image/icon_plus_red.svg) center no-repeat;
background-size: contain;
}
.mod_list_faq .mod_list_faq_ttl a.accordion.open:after{
background-image: url(/shared/image/icon_minus_red.svg);
}
.mod_list_faq .mod_list_faq_data_inner{
padding: 0 20px 1em 55px;
}

.mod_list_radio input[type="radio"]{
display: none;
}
.mod_list_radio input[type="radio"] + label{
position: relative;
padding-left: 25px;
}
.mod_list_radio input[type="radio"] + label:before,
.mod_list_radio input[type="radio"] + label:after{
content: "";
display: block;
position: absolute;
left: 0;
}
.mod_list_radio input[type="radio"] + label:before{
top: 1px;
width: 18px;
height: 18px;
border: 1px solid #ccc;
border-radius: 16px;
}
.mod_list_radio input[type="radio"] + label:after{
top: 4px;
left: 3px;
width: 12px;
height: 12px;
border-radius: 12px;
background: #E30934;
opacity: 0;
}
.mod_list_radio input[type="radio"]:checked + label:after{
opacity: 1;
}

.mod_list_check input[type="checkbox"]{
display: none;
}
.mod_list_check input[type="checkbox"] + label{
position: relative;
padding-left: 25px;
}
.mod_list_check input[type="checkbox"] + label:before,
.mod_list_check input[type="checkbox"] + label:after{
content: "";
display: block;
position: absolute;
left: 0;
}
.mod_list_check input[type="checkbox"] + label:before{
top: 1px;
width: 18px;
height: 18px;
border: 1px solid #ccc;
border-radius: 3px;
}
.mod_list_check input[type="checkbox"] + label:after{
top: 3px;
left: 3px;
width: 12px;
height: 12px;
background: url(/shared/image/icon_check_red.svg) no-repeat center;
background-size: contain;
opacity: 0;
}
.mod_list_check input[type="checkbox"]:checked + label:after{
opacity: 1;
}

.mod_list_pager{
display: flex;
justify-content: center;
}
.mod_list_pager > .mod_flex{
display: flex;
align-items: center;
}
.mod_list_pager .mod_list_pager_prev{
margin-right: 1.5em;
}
.mod_list_pager .mod_list_pager_next{
margin-left: 1.5em;
}
.mod_list_pager .mod_list_pager_prev a,
.mod_list_pager .mod_list_pager_next a{
position: relative;
white-space: nowrap;
}
.mod_list_pager .mod_list_pager_prev a{
padding-left: 15px;
}
.mod_list_pager .mod_list_pager_next a{
padding-right: 15px;
}
.mod_list_pager .mod_list_pager_prev a:after,
.mod_list_pager .mod_list_pager_next a:after{
content: "";
display: block;
position: absolute;
top: 0;
bottom: 0;
width: 8px;
height: 8px;
margin: auto;
border-top: 2px solid #e30934;
border-right: 2px solid #e30934;
}
.mod_list_pager .mod_list_pager_prev a:after{
transform: rotate(-135deg);
left: 0;
}
.mod_list_pager .mod_list_pager_next a:after{
transform: rotate(45deg);
right: 0;
}
.mod_list_pager .mod_list_pager_num ul{
display: flex;
flex-wrap: wrap;
}
.mod_list_pager .mod_list_pager_num li{
margin: 0 2px;
}
.mod_list_pager .mod_list_pager_num li > *{
display: block;
width: 35px;
height: 35px;
border-radius: 35px;
line-height: 35px;
text-align: center;
vertical-align: middle;
background: transparent;
}
.mod_list_pager .mod_list_pager_num li.current > *{
color: #fff;
background-color: #e30934;
}
.mod_list_pager .mod_list_pager_num p{
display: none;
}

@media screen and (max-width:767px){
.mod_list_table > *,
.mod_list_table > * > *,
.mod_list_table > * > * > *{
display: block;
}
.mod_list_btnList ul > *{
flex-basis: calc(100% / 3);
}
.mod_list_btnList a{
padding: 1em 0.5em;
padding-bottom: 1.25em;
font-size: 1.5rem;
text-align: center;
}
.mod_list_btnList a:after{
transform: rotate(135deg);
top: auto;
bottom: 10px;
left: 0;
right: 0;
}

.mod_list_faq .mod_list_faq_ttl a{
padding: 1em 0;
padding-left: 45px;
padding-right: calc(12px + 1em);
}
.mod_list_faq .mod_list_faq_ttl a.accordion:after{
right: 0;
}
.mod_list_faq .mod_list_faq_data_inner{
padding: 0 0 1em 0;
}
.mod_list_pager > *{
flex: 1;
justify-content: space-between;
}
.mod_list_pager .mod_list_pager_prev {
margin-right: 1em;
}
.mod_list_pager .mod_list_pager_next {
margin-left: 1em;
}
.mod_list_pager .mod_list_pager_prev a,
.mod_list_pager .mod_list_pager_next a{
border: 1px solid #e30934;
border-radius: 3em;
padding: 0.5em 2em;
text-decoration: none;
}
.mod_list_pager .mod_list_pager_prev a{
padding-left: 2.5em;
}
.mod_list_pager .mod_list_pager_next a{
padding-right: 2.5em;
}
.mod_list_pager .mod_list_pager_prev a:after{
left: 1em;
}
.mod_list_pager .mod_list_pager_next a:after{
right: 1em;
}
.mod_list_pager .mod_list_pager_num ul{
display: none;
}
.mod_list_pager .mod_list_pager_num p{
display: block;
}
}

/*img*/
.mod_img_01 img{
display: block;
width: 100%;
max-width: none;
margin: auto;
}

/*box*/
.mod_box{
padding: 1em;
}
.mod_box_01{
border: 1px solid #e6e6e6;
padding: 1em;
background: #f7f7f7;
}

.mod_box_02{
padding: 1em;
background: #fef2f4;
}

.mod_box_03{
border: 2px solid #E45D9D;
padding: 1em;
background: #fff;
}

.mod_box_04{
border: 2px solid #ccc;
padding: 1em;
background: #fff;
}

/*table*/
.mod_table_01 table{
width: 100%;
border: 1px solid #ccc;
}
.mod_table_01 th,
.mod_table_01 td{
border: 1px solid #ccc;
padding: 1em;
}
.mod_table_01 thead th{
text-align: center;
font-weight: bold;
background: #ededed;
}
.mod_table_01 th{
background: #fafafa;
}
.mod_table_01 .l-adjust-th th{
vertical-align: middle;
width: 145px;
}
.mod_table_01 td{
font-size: 1.5rem;
background: #fff;
}

.mod_table_01_wrap table{
width: 100%;
border: 1px solid #ccc;
}
.mod_table_01_wrap th,
.mod_table_01_wrap td{
border: 1px solid #ccc;
padding: 1em;
}
.mod_table_01_wrap thead th{
text-align: center;
font-weight: bold;
background: #ededed;
}
.mod_table_01_wrap th{
background: #fafafa;
}
.mod_table_01_wrap td{
font-size: 1.5rem;
background: #fff;
}

@media screen and (max-width:767px){
.mod_table_01_wrap table,
.mod_table_01_wrap thead,
.mod_table_01_wrap tbody,
.mod_table_01_wrap tr,
.mod_table_01_wrap th,
.mod_table_01_wrap td{
display: block;
border: none;
}
.mod_table_01_wrap table{
border: 1px solid #ccc;
border-top: none;
}
.mod_table_01_wrap th,
.mod_table_01_wrap td{
border: none;
border-top: 1px solid #ccc;
}
.mod_table_scroll{
width: 100%;
overflow-x: auto;
}
.mod_table_scroll_inner{
width: 1000px;
padding: 0 0 20px 0;
}
}

/*tab*/
.mod_tab_01{
position: relative;
}
.mod_tab_01:after{
content: "";
display: block;
position: absolute;
left: 0;
right: 0;
width: 100%;
height: 1px;
background: #e30934;
}
.mod_tab_01.top:after{
bottom: 0;
}
.mod_tab_01.under:after{
top: 0;
}
.mod_tab_01 .mod_flex{
display: flex;
justify-content: space-between;
position: relative;
}
.mod_tab_01 .mod_flex > *{
display: flex;
align-items: center;
justify-content: flex-end;
flex: 1;
}
.mod_tab_01 .mod_tabBtn{
border: 1px solid #cbcbcb;
background: #fff;
}
.mod_tab_01 .mod_tabBtn + .mod_tabBtn{
border-left: none;
}
.mod_tab_01 .mod_tabBtn.active{
border-color: #e30934;
background: #e30934;
}
.mod_tab_01 .mod_tabBtn.active a{
color: #fff;
}
.mod_tab_01 a{
padding-left: 1em;
}
.mod_tab_01 p{
padding-left: 1em;
}
.mod_tab_01 .mod_tabBtn a{
flex: 1;
display: flex;
align-items: center;
justify-content: center;
padding: 1em;
font-weight: bold;
text-align: center;
text-decoration: none;
}
.mod_tab_01 .mod_tab span{
text-align: left;
}

.mod_tab_02{
position: relative;
}
.mod_tab_02:after{
content: "";
display: block;
position: absolute;
left: 0;
right: 0;
width: 100%;
height: 1px;
background: #ccc;
}
.mod_tab_02.top:after{
bottom: 0;
}
.mod_tab_02.under:after{
top: 0;
}
.mod_tab_02 .mod_flex{
display: flex;
justify-content: space-between;
position: relative;
}
.mod_tab_02 .mod_flex > *{
display: flex;
align-items: center;
justify-content: flex-end;
flex: 1;
}
.mod_tab_02 .mod_tabBtn{
border: 1px solid #ccc;
background: #fff;
}
.mod_tab_02 .mod_tabBtn + .mod_tabBtn{
border-left: none;
}
.mod_tab_02 .mod_tabBtn.active{
border-color: #ccc;
background: #f7f7f7;
}
.mod_tab_02 .mod_tabBtn.active a{
color: #e30934;
}
.mod_tab_02 a{
padding-left: 1em;
}
.mod_tab_02 p{
padding-left: 1em;
}
.mod_tab_02 .mod_tabBtn a{
flex: 1;
display: flex;
align-items: center;
justify-content: center;
padding: 1em;
font-weight: bold;
text-align: center;
text-decoration: none;
}
.mod_tab_02 .mod_tab span{
text-align: left;
}


.mod_tabBlock .mod_tabContent{
display: none;
}
.mod_tabBlock .mod_tabContent.active{
display: block;
}

@media screen and (max-width:767px){
.mod_tab_01:after{
content: normal;
}
.mod_tab_01 p{
padding: 0;
}
.mod_tab_01 .mod_flex{
flex-wrap: wrap;
}
.mod_tab_01 .mod_flex > *:not(.mod_tabBtn){
flex-basis: 100%;
margin-top: 1em;
}
.mod_tab_02:after{
content: normal;
}
.mod_tab_02 p{
padding: 0;
}
.mod_tab_02 .mod_flex{
flex-wrap: wrap;
}
.mod_tab_02 .mod_flex > *:not(.mod_tabBtn){
flex-basis: 100%;
margin-top: 1em;
}
}

/*slide*/
.mod_slide .mod_silie_data{
padding: 0 20px 0 0;
}
.mod_slide .mod_txt{
margin-top: 0.5em;
font-size: 1.5rem;
}
.mod_slide .slick-arrow{
display: block;
position: absolute;
left: 0;
right: 0;
bottom: -50px;
width: 15px;
height: 25px;
margin: auto;
border: none;
padding: 0;
white-space: nowrap;
text-indent: -9999px;
background: transparent;
z-index: 1;
cursor: pointer;
}
.mod_slide .slick-arrow:after{
content: "";
display: block;
position: absolute;
top: 0;
bottom: 0;
left: auto;
right: auto;
width: 15px;
height: 15px;
margin: auto;
}
.mod_slide .slick-next{
transform: translateX(140px);
}
.mod_slide .slick-next:after{
transform: rotate(45deg);
right: 5px;
border-top: 3px solid #e30934;
border-right: 3px solid #e30934;
}
.mod_slide .slick-prev{
transform: translateX(-140px);
}
.mod_slide .slick-prev:after{
transform: rotate(-45deg);
left: 5px;
border-top: 3px solid #e30934;
border-left: 3px solid #e30934;
}
.mod_slide .slick-dots{
display: flex;
justify-content: center;
position: absolute;
bottom: -40px;
left: 0;
right: 0;
width: 242px;
margin: auto;
}
.mod_slide .slick-dots li{
flex: 1;
display: block;
margin: 0;
background: #ddd;
}
.mod_slide .slick-dots li.slick-active{
background: #e30934;
}
.mod_slide .slick-dots button{
display: block;
border: none;
width: 100%;
height: 3px;
text-align: left;
text-indent: -9999px;
white-space: nowrap;
background: transparent;
overflow: hidden;
cursor: pointer;
}

@media screen and (min-width:768px){
.mod_slide .slick-list{
padding: 0 !important;
}
.mod_slide .slick-track{
display: flex;
flex-wrap: wrap;
transform: none !important;
width: auto !important;
}
.mod_slide .slick-arrow,
.mod_slide .slick-dots{
display: none !important;
}
.mod_itemSlide_05 .mod_silie_data{
flex-basis: calc((100% - 161px) / 5);
margin-right: 40px;
padding: 0;
}
.mod_itemSlide_05 .mod_silie_data:nth-of-type(5n + 5){
margin-right: 0;
}
.mod_itemSlide_05 .mod_silie_data:nth-of-type(n + 6){
margin-top: 40px;
}
}

/*modal*/
div.mod_modal{
transform: translateX(-100%);
position: fixed;
display: flex;
align-items: center;
justify-content: center;
top: 0;
bottom: 0;
left: 0;
right: 0;
height: 0;
z-index: 10000;
overflow: hidden;
}
div.mod_modal.open{
transform: none;
height: auto;
}
div.mod_modal:not(.open) .mod_modal_wrap{
display: none;
}
div.mod_modal .mod_modal_wrap{
position: relative;
display: flex;
width: calc(100% - 40px);
max-height: calc(100% - 160px);
max-width: 716px;
margin-top: 70px;
padding: 20px;
background: #fff;
}
div.mod_modal .mod_modal_wrap.mod-modal-group{
width: calc(100% - 70px);
}
div.mod_modal .mod_modal_inner{
flex-basis: 100%;
overflow-y: auto;
}
div.mod_modal .mod_modal_prevBtn a,
div.mod_modal .mod_modal_nextBtn a{
display: block;
position: absolute;
width: 20px;
height: 40px;
top: 0;
bottom: 0;
margin: auto;
text-align: left;
white-space: nowrap;
text-indent: -9999px;
overflow: hidden;
}
div.mod_modal .mod_modal_prevBtn a:after,
div.mod_modal .mod_modal_nextBtn a:after{
content: "";
display: block;
position: absolute;
top: 0;
bottom: 0;
width: 20px;
height: 20px;
margin: auto;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
}
div.mod_modal .mod_modal_prevBtn a{
transform: translateX(-100%);
left: -10px;
}
div.mod_modal .mod_modal_prevBtn a:after{
transform: rotate(-135deg);
right: -25%;
}
div.mod_modal .mod_modal_nextBtn a{
transform: translateX(100%);
right: -10px;
}
div.mod_modal .mod_modal_nextBtn a:after{
transform: rotate(45deg);
left: -25%;
}
div.mod_modal .mod_modal_closeBtn{
transform: translateY(-100%);
position: absolute;
right: 0;
top: -20px;
}
div.mod_modal .mod_modal_closeBtn a{
display: block;
position: relative;
width: 50px;
height: 50px;
text-align: left;
white-space: nowrap;
text-indent: -9999px;
overflow: hidden;
}
div.mod_modal .mod_modal_closeBtn a:before,
div.mod_modal .mod_modal_closeBtn a:after{
content: '';
display: block;
position: absolute;
width: 100%;
height: 3px;
top: 0;
bottom: 0;
left: auto;
right: auto;
margin: auto;
background: #fff;
}
div.mod_modal .mod_modal_closeBtn a:before{
transform: rotate(45deg);
}
div.mod_modal .mod_modal_closeBtn a:after{
transform: rotate(-45deg);
}
div.mod_modal .mod_modal_movie_inner{
position: relative;
width: 100%;
padding-top: 56.25%;
}
div.mod_modal .mod_modal_movie_inner iframe{
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
width: 100%;
height: 100%;
border: none;
}

body.modalOpen:after{
transform: translateY(0%);
background: rgba(0,0,0,0.4);
opacity: 1;
z-index: 100;
}
body.modalOpen{
position: fixed;
width: 100%;
}
body.modalOpen:after{
transform: translateY(0%);
background: rgba(0,0,0,0.4);
opacity: 1;
}

@media screen and (max-width:767px){
div.mod_modal .mod_modal_closeBtn{
top: -10px;
}
div.mod_modal .mod_modal_wrap{
margin-top: 60px;
padding: 10px;
}
div.mod_modal .mod_modal_wrap.mod-modal-group{
width: calc(100% - 60px);
}
div.mod_modal .mod_modal_prevBtn a{
left: -5px;
}
div.mod_modal .mod_modal_nextBtn a{
right: -5px;
}
}

/*btn*/
[class*="mod_btn_01"] a{
display: block;
position: relative;
border: 1px solid #e30934;
border-radius: 3em;
padding: 0.75em;
padding-left: calc(1.25em + 8px);
padding-right: calc(1.25em + 8px);
font-weight: bold;
text-align: center;
text-decoration: none;
}
[class*="mod_btn_01"] a:not([class*="mod_icon_"]):after{
transform: rotate(45deg);
width: 8px;
height: 8px;
border-top: 2px solid #e30934;
border-right: 2px solid #e30934;
}
[class*="mod_btn_01"] a:after{
content: "";
display: block;
position: absolute;
top: 0;
bottom: 0;
right: 15px;
margin: auto;
}
.mod_btn_01 a{
border-color: #e30934;
color: #e30934;
background: #fff;
}
.mod_btn_01 a:not([class*="mod_icon_"]):after{
border-color: #e30934;
}
.mod_btn_01_red a{
border-color: #e30934;
color: #fff;
background: #e30934;
}
.mod_btn_01_red a:not([class*="mod_icon_"]):after{
border-color: #fff;
}
.mod_btn_01_bk a{
border-color: #ccc;
color: #333;
background: #fff;
}
.mod_btn_01_bk a:not([class*="mod_icon_"]):after{
border-color: #e30934;
}

[class*="mod_btn_02"] a{
display: block;
position: relative;
border: 1px solid #ccc;
padding: 0.75em;
padding-left: calc(1.25em + 8px);
padding-right: calc(1.25em + 8px);
font-weight: bold;
text-align: center;
text-decoration: none;
background: #fff;
}
[class*="mod_btn_02"] a:not([class*="mod_icon_"]):after{
transform: rotate(45deg);
width: 8px;
height: 8px;
border-top: 2px solid #e30934;
border-right: 2px solid #e30934;
}
[class*="mod_btn_02"] a:after{
content: "";
display: block;
position: absolute;
top: 0;
bottom: 0;
right: 15px;
margin: auto;
}
.mod_btn_02 a{
border-color: #ccc;
color: #333;
background-color: #fff;
}
.mod_btn_02 a:not([class*="mod_icon_"]):after{
border-color: #e30934;
}
.mod_btn_02_red a{
border-color: #e30934;
color: #fff;
background-color: #e30934;
}
.mod_btn_02_red a:not([class*="mod_icon_"]):after{
border-color: #fff;
}

.mod_btn_04 a,
.mod_btn_04 *:not(a) > span{
display: block;
position: relative;
padding: 0.75em 0;
padding-right: calc(25px + 0.5em);
font-weight: bold;
text-align: left;
text-decoration: none;
}
.mod_btn_04 a:before,
.mod_btn_04 a:after,
.mod_btn_04 *:not(a) > span:before,
.mod_btn_04 *:not(a) > span:after{
content: "";
display: block;
position: absolute;
}
.mod_btn_04 a:before,
.mod_btn_04 *:not(a) > span:before{
top: 0.75em;
right: 0;
width: 25px;
height: 25px;
border: 1px solid #ddd;
border-radius: 25px;
background: #fff;
}
.mod_btn_04 a:after,
.mod_btn_04 *:not(a) > span:after{
transform: rotate(45deg);
top: 1.25em;
right: 10px;
width: 7px;
height: 7px;
border-top: 2px solid #e30934;
border-right: 2px solid #e30934;
}
.mod_bnrBtn_01 a{
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
border: 1px solid #ccc;
padding: 10px 45px 10px 10px;
}
.mod_bnrBtn_01 a:not([class*="mod_icon_"]):after{
transform: rotate(45deg);
content: "";
display: block;
position: absolute;
top: 0;
bottom: 0;
right: 20px;
width: 8px;
height: 8px;
margin: auto;
border-top: 2px solid #e30934;
border-right: 2px solid #e30934;
}
.mod_bnrBtn_01 a[class*="mod_icon_"]:after{
display: block;
position: absolute;
right: 20px;
top: 0;
bottom: 0;
margin: auto;
}
.mod_bnrBtn_01 .mod_img{
display: flex;
align-items: center;
flex-basis: 37.47%;
}
.mod_bnrBtn_01 .mod_txt{
flex-basis: calc(62.53% - 1em);
}
.mod_bnrBtn_01 .mod_txt p{
font-weight: bold;
line-height: 1.4;
}

[class*="mod_btn_"].mod_btn_back a:after{
right: auto;
left: 15px;
}
[class*="mod_btn_"].mod_btn_back a:not([class*="mod_icon_"]):after{
transform: rotate(-135deg);
}

@media screen and (max-width:767px){
.mod_btn_01 a{
}
}

/*===========================================
general
===========================================*/
.mod_s_dB{display: block !important;}
.mod_s_dIb{display: inline-block !important;}
.mod_s_dN{display: none !important;}

.mod_s_wA{width: auto !important;}
.mod_s_w100{width: 100% !important;}

.mod_s_m0{margin: 0 !important;}

.mod_s_mt0{margin-top: 0 !important;}
.mod_s_mt05e{margin-top: 0.5em !important;}
.mod_s_mt1e{margin-top: 1em !important;}
.mod_s_mt15e{margin-top: 1.5em !important;}
.mod_s_mt2e{margin-top: 2em !important;}
.mod_s_mt3e{margin-top: 3em !important;}

.mod_s_mr0{margin-right: 0 !important;}
.mod_s_mr05e{margin-right: 0.5em !important;}
.mod_s_mr1e{margin-right: 1em !important;}

.mod_s_mb0{margin-bottom: 0 !important;}
.mod_s_mb05e{margin-bottom: 0.5em !important;}
.mod_s_mb1e{margin-bottom: 1em !important;}
.mod_s_mb15e{margin-bottom: 1.5em !important;}
.mod_s_mb2e{margin-bottom: 2em !important;}
.mod_s_mb3e{margin-bottom: 3em !important;}

.mod_s_ml0{margin-left: 0 !important;}
.mod_s_ml05e{margin-left: 0.5em !important;}
.mod_s_ml1e{margin-left: 1em !important;}

.mod_s_p0{padding: 0 !important;}
.mod_s_pt0{padding-top: 0 !important;}
.mod_s_pr0{padding-right: 0 !important;}
.mod_s_pb0{padding-bottom: 0 !important;}
.mod_s_pl0{padding-left: 0 !important;}

.mod_s_bdN{border: none !important;}

.mod_s_bdrs0{border-radius: 0 !important;}
.mod_s_bdrs4{border-radius: 4px !important;}

.mod_s_fzS{font-size: smaller !important;}
.mod_s_fzL{font-size: larger !important;}

.mod_s_taL{text-align: left !important;}
.mod_s_taC{text-align: center !important;}
.mod_s_taR{text-align: right !important;}

.mod_s_fwN{font-weight: normal !important;}
.mod_s_fwB{font-weight: bold !important;}

.mod_s_cBk{color: #333 !important;}
.mod_s_cWh{color: #fff !important;}
.mod_s_cGr{color: #888 !important;}
.mod_s_cRed{color: #e30934 !important;}

.mod_s_tdN{text-decoration: none !important;}
.mod_s_tdU{text-decoration: underline !important;}

.mod_s_vaS{vertical-align: sub !important; font-size: smaller;}
.mod_s_vaSp{vertical-align: super !important; font-size: smaller;}

.mod_s_wbN{word-break: normal !important;}
.mod_s_wbBa{word-break: break-all !important;}

.mod_s_wsN{white-space: normal !important;}
.mod_s_wsNw{white-space: nowrap !important;}

.mod_s_bgcT{background-color: transparent !important;}
.mod_s_bgcBk{background-color: #333 !important;}
.mod_s_bgcWh{background-color: #fff !important;}
.mod_s_bgcGr{background-color: #666 !important;}
.mod_s_bgcLgr{background-color: #f7f7f7 !important;}
.mod_s_bgcRed{background-color: #e30934 !important;}

/*===========================================
print
===========================================*/
@media print {
.pc_only{
display: block !important;
}
.sp_only{
display: none !important;
}

#wrap{
padding-top: 46px; /* 新ヘッダーのために修正 */
}
#header{
height: 60px;
}
#header .header_logo{
position: static;
display: flex;
align-items: center;
height: 60px;
}
#header .header_menu,
#header #header_nav{
display: none !important;
}

.contents .contents_column{
display: block !important;
}
.contents_side{
display: none !important;
}

#footer .footer_menu,
#footer #pageTop,
#footer .footer_info_list{
display: none !important;
}
#globalBlandFooter .globalBlandFooter_info{
display: none !important;
}
#moredeli_nav{
display: none !important;
}
}

/* challenge.html challenge03 */
.mod_imgArticle_2_1 .mod_flex_challenge03 .mod_img{
    flex-basis: 45%;
}
.mod_imgArticle_2_1 .mod_flex_challenge03 .mod_data{
    flex-basis: calc(55% - 30px);
}
@media screen and (max-width:767px){
.mod_imgArticle_2_1 .mod_flex_challenge03 .mod_img{
    flex-basis: 100%;
}
.mod_imgArticle_2_1 .mod_flex_challenge03 .mod_data{
    flex-basis: 100%;
}
}



/*===========================================
2025.04追加　新header 新footer用
===========================================*/
/* /app-files/css/common.css */

[hidden], template {
	display: none
}
html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	height: -webkit-fill-available;
	font-size: 62.5%
}
body {
	word-wrap: break-word;
	min-height: 100vh;
	min-height: -webkit-fill-available;
	background-color: #fff;
	color: #333;
	word-break: break-word
}
body *, body :after, body :before {
	box-sizing: border-box
}

[aria-hidden=true] {
	display: none
}

.Header {
	z-index: 1000;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background-color: #fff;
	border-bottom: 1px solid #ddd;
}
.Header__head {
	align-self: center
}
.header-logo {
	margin: 0;
	line-height: 1
}
.header-logo img {
	width: 100%
}
.header-util {
	display: flex;
	align-items: center;
	justify-content: flex-end
}
.header-util__link__item:hover {
	text-decoration: underline
}
.header-util__link__item[target=_blank]:after {
	-webkit-mask-image: url(/app-files/img/sprite/icon.svg#blank-usage);
	-webkit-mask-position: 50% 50%;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 100% auto;
	display: inline-block;
	position: relative;
	top: -2px;
	width: 14px;
	height: 14px;
	margin-left: 8px;
	background-color: #999;
	background-size: contain;
	vertical-align: middle;
	content: "";
	mask-image: url(/app-files/img/sprite/icon.svg#blank-usage);
	mask-position: 50% 50%;
	mask-repeat: no-repeat;
	mask-size: 100% auto
}
.header-util__search .search {
	position: relative
}
.header-util__search input[type=text] {
	-webkit-appearance: none;
	appearance: none;
	border: 1px solid #ddd;
	border-radius: 50px;
	outline: none;
	box-shadow: inset 1px 1px #e5e5e5
}
.header-util__search input[type=text]:focus {
	border-color: #ddd
}
.header-util__search .header_submit {
	-webkit-appearance: none;
	appearance: none;
	position: absolute;
	top: calc(50% - 11px);
	right: 18px;
	width: 23px;
	height: 21px;
	padding: 0;
	overflow: hidden;
	border: none;
	outline: none;
	background: url(/app-files/img/cmn_ic02.png) 50% 50% no-repeat;
	background-size: contain;
	text-indent: -9999em
}
.header-gnav__list {
	padding: 0;
	list-style: none
}
.header-gnav__sublist__item {
	padding: 15px;
	background-color: #f5f5f5;
	font-size: 1.4rem;
	font-weight: 400
}
.header-gnav__sublist__item:nth-child(n+3) {
	border-top: 1px solid #ddd
}
.header-gnav__sublist__item:nth-child(odd) {
	border-right: 1px solid #ddd
}
.header-gnav__sublist__item[target=_blank]:after {
	-webkit-mask-image: url(/app-files/img/sprite/icon.svg#blank-usage);
	-webkit-mask-position: 50% 50%;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 100% auto;
	display: inline-block;
	position: relative;
	top: -2px;
	width: 14px;
	height: 14px;
	margin-left: 8px;
	background-color: #999;
	background-size: contain;
	vertical-align: middle;
	content: "";
	mask-image: url(/app-files/img/sprite/icon.svg#blank-usage);
	mask-position: 50% 50%;
	mask-repeat: no-repeat;
	mask-size: 100% auto
}
.header-megamenu-nav-v1 {
	gap: 9px 0;
	display: grid;
	grid-template-columns: 1fr;
	margin: 0;
	padding: 0;
	list-style: none
}
.header-megamenu-nav-v1>li>a {
	display: inline-block;
	line-height: 1.625
}
.header-megamenu-nav-v1>li>a:after {
	-webkit-transform: rotate(45deg);
	display: inline-block;
	position: relative;
	top: -2px;
	left: 0;
	width: 10px;
	height: 10px;
	margin-left: 5px;
	transform: rotate(45deg);
	border-top: 2px solid #e6002d;
	border-right: 2px solid #e6002d;
	content: "";
	transition: all .3s ease
}
.header-megamenu-nav-v1>li>span {
	font-weight: 700
}
.header-megamenu-nav-v1__nolink {
	display: block;
	margin-bottom: 14px
}
.header-megamenu-nav-v2 {
	display: grid;
	grid-template-columns: 1fr;
	margin: 0;
	padding: 0;
	list-style: none
}
.header-megamenu-nav-v2>li>a {
	display: inline-block;
	position: relative;
	line-height: 1.625
}
.header-megamenu-nav-v2>li>a:before {
	-webkit-transform: rotate(45deg);
	display: inline-block;
	position: absolute;
	top: calc(50% - 6px);
	left: 0;
	width: 10px;
	height: 10px;
	transform: rotate(45deg);
	border-top: 2px solid #e6002d;
	border-right: 2px solid #e6002d;
	content: "";
	transition: all .3s ease
}
.header-megamenu-nav-v2>li>a[target=_blank]:after {
	-webkit-mask-image: url(/app-files/img/sprite/icon.svg#blank-usage);
	-webkit-mask-position: 50% 50%;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 100% auto;
	display: inline-block;
	position: relative;
	top: -2px;
	width: 14px;
	height: 14px;
	margin-left: 8px;
	background-color: #999;
	background-size: contain;
	vertical-align: middle;
	content: "";
	mask-image: url(/app-files/img/sprite/icon.svg#blank-usage);
	mask-position: 50% 50%;
	mask-repeat: no-repeat;
	mask-size: 100% auto
}
/* body {
	padding-top: 120px
} */
.Main {
	overflow: hidden
}
.Main__content {
	max-width: 100%!important;
	padding: 0!important;
	margin: 0 auto
}
.main-overlay {
	display: none;
	z-index: 998;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: rgba(0, 0, 0, .4)
}
.Main__content>:first-child, .Main__content>[class^=list-wrap]>:first-child, .Main__content>section:first-child>:first-child {
	margin-top: 0!important
}
.Footer {
	position: relative
}
.Footer>:first-child, .Footer>[class^=list-wrap]>:first-child, .Footer>section:first-child>:first-child, .Footer__guide>:first-child, .Footer__guide>[class^=list-wrap]>:first-child, .Footer__guide>section:first-child>:first-child, .Footer__inner>:first-child, .Footer__inner>[class^=list-wrap]>:first-child, .Footer__inner>section:first-child>:first-child {
	margin-top: 0!important
}
.footer-pagetop {
	z-index: 100;
	position: fixed;
	right: 30px;
	bottom: 30px
}
.footer-pagetop a {
	display: block;
	width: 60px;
	height: 60px;
	overflow: hidden;
	border: 2px solid #fff;
	border-radius: 50%;
	background-color: #fff;
	box-shadow: 0 1px 5px 0 rgba(0, 0, 0, .2);
	text-indent: -9999px;
	white-space: nowrap;
	transition: border-color .3s ease
}
.footer-pagetop a:after {
	-webkit-transform: translate(-50%, -50%);
	-webkit-mask-image: url(/app-files/img/cmn_ic01.svg);
	-webkit-mask-position: 50% 50%;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 100% auto;
	display: block;
	z-index: 2;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 33.333%;
	height: 17px;
	transform: translate(-50%, -50%);
	background-color: #666;
	content: "";
	mask-image: url(/app-files/img/cmn_ic01.svg);
	mask-position: 50% 50%;
	mask-repeat: no-repeat;
	mask-size: 100% auto;
	transition: background-color .3s ease
}
.Footer__body {
	padding: 65px 0;
	background-color: #f6f6f6
}
.Footer__body>:first-child, .Footer__body>[class^=list-wrap]>:first-child, .Footer__body>section:first-child>:first-child, .Footer__body__inner>:first-child, .Footer__body__inner>[class^=list-wrap]>:first-child, .Footer__body__inner>section:first-child>:first-child {
	margin-top: 0!important
}
.footer-nav-layout {
	gap: 30px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr
}
.footer-nav-list-v1 {
	gap: 29px;
	display: grid;
	grid-template-columns: 1fr;
	margin: 0;
	padding: 0;
	list-style: none
}
.footer-nav-list-v1>li>a {
	font-weight: 700
}
.footer-nav-list-v1>li>a:hover {
	text-decoration: underline
}
.footer-nav-list-v2 {
	gap: 13px;
	display: grid;
	grid-template-columns: 1fr;
	margin: 18px 0 0;
	padding: 0;
	font-size: 1.4rem;
	list-style: none
}
.footer-nav-list-v2>li>a:hover {
	text-decoration: underline
}
.footer-nav-list-v2>li>a[target=_blank]:after {
	-webkit-mask-image: url(/app-files/img/sprite/icon.svg#blank-usage);
	-webkit-mask-position: 50% 50%;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 100% auto;
	display: inline-block;
	position: relative;
	top: -2px;
	width: 14px;
	height: 14px;
	margin-left: 8px;
	background-color: #999;
	background-size: contain;
	vertical-align: middle;
	content: "";
	mask-image: url(/app-files/img/sprite/icon.svg#blank-usage);
	mask-position: 50% 50%;
	mask-repeat: no-repeat;
	mask-size: 100% auto
}
.footer-nav-list-other {
	gap: 13px;
	display: grid;
	grid-template-columns: 1fr;
	margin: 35px 0 0;
	padding: 25px 0 0;
	border-top: 1px solid #ddd;
	font-size: 1.4rem;
	list-style: none
}
.footer-nav-list-other>li>a:hover {
	text-decoration: underline
}
.Footer__foot {
	padding: 35px 0 25px;
	background-color: #fff
}
.Footer__foot>:first-child, .Footer__foot>[class^=list-wrap]>:first-child, .Footer__foot>section:first-child>:first-child {
	margin-top: 0!important
}
.Footer__foot__inner {
	gap: 0 35px;
	display: flex;
	align-items: center
}
.Footer__foot__inner>:first-child, .Footer__foot__inner>[class^=list-wrap]>:first-child, .Footer__foot__inner>section:first-child>:first-child {
	margin-top: 0!important
}
.footer-logo {
	display: block;
	width: 204px
}
.footer-copyright {
	line-height: 1
}
.footer-copyright__label {
	color: #666;
	font-size: 1.2rem
}
.home-carousel__control {
	display: flex;
	align-items: center;
	justify-content: flex-end
}
.home-carousel__control .slick-dots {
	display: flex;
	justify-content: center;
	margin: 0;
	padding: 0;
	line-height: 1;
	list-style: none
}
.home-carousel__control .slick-dots li:first-child {
	margin-left: 0
}
.home-carousel__control .slick-dots li button {
	display: block;
	width: 12px;
	height: 12px;
	padding: 0;
	overflow: hidden;
	border: none;
	border-radius: 50%;
	outline: none;
	background-color: #ddd;
	text-indent: -9999px;
	transition: opacity .3s ease
}
.home-carousel__control .slick-dots li.slick-active button {
	background-color: #e6002d
}
.home-carousel__arrows {
	display: flex
}
.home-carousel__arrows .slick-arrow {
	position: relative;
	width: 14px;
	height: 25px;
	padding: 0;
	border: none;
	outline: none;
	background: none;
	text-indent: -9999px
}
.home-carousel__arrows .slick-arrow.slick-next:after {
	-webkit-transform: rotate(45deg);
	left: calc(50% - 14px);
	transform: rotate(45deg)
}
.home-carousel__arrows .slick-arrow.slick-next:after, .home-carousel__arrows .slick-arrow.slick-prev:after {
	display: block;
	z-index: 5;
	position: absolute;
	top: calc(50% - 8px);
	width: 18px;
	height: 18px;
	border-top: 2px solid #666;
	border-right: 2px solid #666;
	content: "";
	transition: all .3s ease
}
.home-carousel__arrows .slick-arrow.slick-prev:after {
	-webkit-transform: rotate(-135deg);
	left: calc(50% - 3px);
	transform: rotate(-135deg)
}
.home-carousel__switch {
	display: flex;
	align-items: center;
	padding-bottom: 0!important;
	font-size: 0
}
.home-carousel__switch__play {
	display: inline-block;
	position: relative;
	width: 14px;
	height: 16px;
	padding: 0;
	border: none;
	outline: none;
	background-color: transparent;
	text-indent: -9999em
}
.home-carousel__switch__play:before {
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 1px;
	border-style: solid;
	border-color: transparent transparent transparent #6f6f6f;
	content: "";
	margin: -8px 0 0;
	border-width: 8px 14px
}
.home-carousel__switch__pause {
	display: inline-block;
	position: relative;
	width: 14px;
	height: 16px;
	padding: 0;
	border: none;
	outline: none;
	background-color: transparent;
	text-indent: -9999em
}
.home-carousel__switch__pause:after, .home-carousel__switch__pause:before {
	display: inline-block;
	position: absolute;
	top: 0;
	width: 3px;
	height: 100%;
	background-color: #6f6f6f;
	content: ""
}
.home-carousel__switch__pause:before {
	left: 2px
}
.home-carousel__switch__pause:after {
	right: 2px
}
.home-gallery-card .slick-track {
	display: flex
}
.home-gallery-card .slick-slide {
	display: flex!important;
	height: auto
}
.home-gallery-card .slick-slide>div {
	display: flex!important
}
.home-gallery-card__item {
	display: block;
	background-color: #fff;
	box-shadow: 0 1px 5px 0 rgba(0, 0, 0, .2)
}
.home-gallery-card__image {
	position: relative;
	transition: opacity .3s ease
}
.home-gallery-card__image:after {
	-webkit-transform: translate(-50%, -50%);
	aspect-ratio: 1/1;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12.4%;
	transform: translate(-50%, -50%);
	background: url(/img/index_ic01.svg) 50% 50% no-repeat;
	background-size: contain;
	content: ""
}
.home-gallery-card__label {
	color: #e6002d
}
.home-gallery-card__title {
	position: relative;
	margin: 0;
	font-weight: 700;
	line-height: 1.6
}


@media print, screen and (min-width:768px) {
	body {
		min-width: 1260px;
		max-width: 1920px;
		margin: 0 auto;
		font-family: Yu Gothic, Hiragino Kaku Gothic Pro, Hiragino Sans, Meiryo, Osaka, Arial, MS PGothic, sans-serif;
		font-size: 1.6rem;
		font-weight: 500;
		line-height: 1.6
	}
  .util-pc-hidden {
		display: none!important
	}
	.Header {
		min-width: 1260px
	}
	.Header__inner {
		display: flex;
		justify-content: space-between;
		max-width: 1680px;
		min-height: 120px;
		margin: 0 auto;
		padding: 0 30px;
	}

    /* 2025.04 未リニューアルページヘッダー用の調整CSS ここから*/
    .Header li {
        line-height: 1; /* reset_res.cssのline-heightの打ち消し用 */
    }
    
    /* 2025.04 未リニューアルページヘッダー用の調整CSS　ここまで */

	.header-logo {
		width: 237px
	}
	.Header__body {
		padding-top: 20px
	}
	.header-util {
		gap: 0 30px
	}
	.header-util__link {
		gap: 0 30px;
		display: flex
	}
	.header-util__search input[type=text] {
		width: 320px;
		padding: 6px 50px 6px 20px
	}
	.header-util__search .header_submit {
		transition: opacity .3s ease
	}
	.header-util__search .header_submit:hover {
		opacity: .7
	}
	.header-sp-search, .header-sp-switch {
		display: none
	}
	.header-gnav__list {
		display: flex;
		margin: 23px -14px 0 0;
		line-height: 1
	}
	.header-gnav__list>li.has-hr {
		margin-right: 13px;
		padding-right: 28px;
		border-right: 1px solid #ddd
	}
	.header-gnav__list>li {
		padding: 0 15px
	}
	.header-gnav__list>li:last-child {
		padding-right: 0
	}
	.header-gnav__list>li>a {
		display: block;
		position: relative;
		font-weight: 700
	}
	.header-gnav__type__label {
		display: inline-block
	}
	.header-gnav__type__label:after {
		display: block;
		z-index: 2;
		position: absolute;
		bottom: -21px;
		left: 0;
		width: 100%;
		height: 3px;
		background-color: #e6002d;
		content: "";
		opacity: 0;
		transition: opacity .3s ease
	}
	.header-gnav__type--toggle:hover .header-gnav__type__label:after, .header-gnav__type:hover .header-gnav__type__label:after, .is-current .header-gnav__type__label:after, [aria-expanded=true] .header-gnav__type__label:after {
		opacity: 1
	}
	.header-gnav__sublist--sp {
		display: none
	}
	.header-megamenu {
		z-index: 2000;
		position: absolute;
		top: 121px;
		left: 0;
		width: 100%;
		overflow: auto;
		background-color: #fff
	}
	.header-megamenu__inner {
		max-width: 1000px;
		margin: 0 auto;
		padding: 50px 0
	}
	.header-megamenu-l-products {
		gap: 50px 80px;
		display: grid;
		grid-template-columns: 1fr 1fr 1fr
	}
	.header-megamenu-l-products__other {
		width: -webkit-fit-content;
		width: fit-content;
		max-width: 100%;
		padding-top: 26px;
		border-top: 1px solid #ddd
	}
	.header-megamenu-l-grid--2 {
		gap: 0;
		display: grid;
		grid-template-columns: 1fr 1fr
	}
	.header-megamenu-l-grid--recipe {
		gap: 0;
		display: grid;
		grid-template-columns: 50% 27% 23%
	}
	.header-megamenu-l-grid__col {
		padding-top: 5px;
		padding-bottom: 10px
	}
	.header-megamenu-l-grid__col+.header-megamenu-l-grid__col {
		padding-inline: 40px;
		border-left: 1px solid #ddd
	}
	.header-megamenu-l-grid__col .header-megamenu-nav-v2.is-col2--pc {
		grid-template-columns: 190px 1fr
	}
	.header-megamenu-headline-v1 {
		margin: 0 0 25px;
		font-size: 2.8rem;
		font-weight: 700;
		line-height: 1.3929
	}
	.header-megamenu-headline-v1 a {
		display: inline-block;
		position: relative;
		padding-right: 40px
	}
	.header-megamenu-headline-v1 a:hover {
		text-decoration: underline
	}
	.header-megamenu-headline-v1 a:after {
		display: block;
		z-index: 2;
		position: absolute;
		top: calc(50% - 13px);
		right: 0;
		width: 25px;
		height: 25px;
		background: url(/app-files/img/cmn_ic03.png) 50% 50% no-repeat;
		background-size: contain;
		content: ""
	}
	.header-megamenu-spgroup__switch {
		display: none
	}
	.header-megamenu-nav-v1>li>a {
		font-weight: 700
	}
	.header-megamenu-nav-v1>li>a:hover {
		text-decoration: underline
	}
	.header-megamenu-nav-v1>li>a:hover .header-megamenu-visual {
		opacity: .7
	}
	.header-megamenu-nav-v1 .header-megamenu-nav-v2 {
		margin-top: 8px
	}
	.header-megamenu-visual {
		margin: 0 0 11px;
		transition: opacity .3s ease
	}
	.header-megamenu-nav-v2 {
		gap: 9px 5px
	}
	.header-megamenu-nav-v2.is-col2--pc {
		grid-template-columns: 1fr 1fr
	}
	.header-megamenu-nav-v2.is-col2--row--pc {
		grid-auto-flow: column;
		grid-template-columns: 1fr auto;
		grid-template-rows: 1fr 1fr 1fr 1fr 1fr
	}
	.header-megamenu-nav-v2>li>a {
		padding-left: 1.5em
	}
	.header-megamenu-nav-v2>li>a:hover {
		text-decoration: underline
	}
	.Main__body[data-sidebar=true] {
		display: flex;
		max-width: 1260px;
		margin: 0 auto
	}
	.Main__content {
		max-width: 1260px;
		padding: 4em 30px 6em
	}
	[data-sidebar=true]>.Main__content {
		width: calc(100% - 270px)
	}
	.Main__sidebar {
		padding: 4em 0 6em
	}
	[data-sidebar=true]>.Main__sidebar {
		width: 272px;
		padding-right: 30px
	}
	.main-overlay {
		cursor: pointer
	}
	.footer-pagetop a:hover {
		border-color: #e6002d
	}
	.footer-pagetop a:hover:after {
		background-color: #e6002d
	}
	.Footer__body__inner, .Footer__foot__inner {
		width: calc(100% - 60px);
		max-width: 1620px;
		margin: 0 auto
	}
	.home-carousel__control {
		gap: 0 20px;
		margin: 25px 0 0
	}
	.home-carousel__control .slick-dots {
		gap: 0 28px
	}
	.home-carousel__control .slick-dots li:not(.slick-active) button:hover {
		opacity: .7
	}
	.home-carousel__arrows {
		gap: 0 17px
	}
	.home-carousel__arrows .slick-arrow {
		transition: opacity .3s ease
	}
	.home-carousel__arrows .slick-arrow:hover, .home-carousel__switch__pause:hover, .home-carousel__switch__play:hover {
		opacity: .7
	}
	.home-gallery-card .slick-slide {
		padding: 0 5px 5px
	}
	.home-gallery-card__item:hover .home-gallery-card__image {
		opacity: .7
	}
	.home-gallery-card__item:hover .home-gallery-card__title {
		text-decoration: underline
	}
	.home-gallery-card__label {
		margin: 0 0 .8em
	}
	.home-gallery-card__title {
		font-size: 1.8rem
	}
	.home-gallery-card__body {
		padding: 30px 30px 25px
	}
}

/* SP */

@media only screen and (max-width:767.98px) {
	/* body {
		font-size: 1.4rem;
		font-weight: 400
	}
	body, button, input, pre, select, textarea {
		font-family: Hiragino Kaku Gothic Pro, Hiragino Sans, Meiryo, Osaka, Arial, MS PGothic, sans-serif;
		line-height: 1.6
	}
	button, input, pre, select, textarea {
		font-size: 1.6rem
	} */
	.util-sp-hidden {
		display: none!important
	}
	.Header__inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 46px;
		padding: 0 15px
	}
	.header-logo {
		width: 120px
	}
	.header-util {
		gap: 0 25px
	}
	.header-util__link {
		display: none
	}
	.header-util__search {
		-webkit-transform: translateX(100%);
		z-index: 5;
		position: absolute;
		top: 47px;
		left: 0;
		width: 100%;
		padding: 20px 15px;
		transform: translateX(100%);
		background-color: #fff;
		transition: transform .3s ease
	}
	[data-menu-category=search].is-active-menu .header-util__search {
		-webkit-transform: translateX(0);
		transform: translateX(0)
	}
	.header-util__search input[type=text] {
		width: 100%;
		padding: 11px 50px 11px 20px
	}
	.header-sp-search {
		-webkit-appearance: none;
		appearance: none;
		position: relative;
		width: 23px;
		height: 22px;
		padding: 0;
		overflow: hidden;
		border: none;
		background: url(/app-files/img/cmn_ic02.png) 50% 50% no-repeat;
		background-size: 100% auto;
		text-indent: -9999em
	}
	.header-sp-search:after, .header-sp-search:before {
		display: block;
		z-index: 2;
		position: absolute;
		left: 0;
		width: 20px;
		height: 2px;
		background-color: #e6002d;
		content: "";
		opacity: 0
	}
	.header-sp-search:before {
		-webkit-transform: rotate(45deg);
		top: 10px;
		transform: rotate(45deg)
	}
	.header-sp-search:after {
		-webkit-transform: rotate(-45deg);
		top: 10px;
		transform: rotate(-45deg)
	}
	.header-sp-search[aria-expanded=true] {
		background: none
	}
	.header-sp-search[aria-expanded=true]:after, .header-sp-search[aria-expanded=true]:before {
		opacity: 1
	}
	.header-sp-switch {
		-webkit-appearance: none;
		appearance: none;
		position: relative;
		width: 20px;
		height: 22px;
		padding: 0;
		overflow: hidden;
		border: none;
		background: none;
		text-indent: -9999em
	}
	.header-sp-switch>span {
		display: block;
		position: absolute;
		left: 0;
		width: 20px;
		height: 2px;
		background-color: #666;
		transition: all .3s ease
	}
	.header-sp-switch>span:first-child {
		top: 3px
	}
	.header-sp-switch>span:nth-child(2) {
		top: 10px
	}
	.header-sp-switch>span:nth-child(3) {
		top: 17px
	}
	.header-sp-switch[aria-expanded=true]>span {
		background-color: #e6002d
	}
	.header-sp-switch[aria-expanded=true]>span:first-child {
		-webkit-transform: rotate(45deg);
		top: 12px;
		transform: rotate(45deg)
	}
	.header-sp-switch[aria-expanded=true]>span:nth-child(2) {
		opacity: 0
	}
	.header-sp-switch[aria-expanded=true]>span:nth-child(3) {
		-webkit-transform: rotate(-45deg);
		top: 12px;
		transform: rotate(-45deg)
	}
	.header-gnav {
		-webkit-transform: translateX(100%);
		z-index: 5;
		position: absolute;
		top: 47px;
		left: 0;
		width: 100%;
		overflow-y: auto;
		transform: translateX(100%);
		background-color: #fff;
		transition: transform .3s ease
	}
	[data-menu-category=gnav].is-active-menu .header-gnav {
		-webkit-transform: translateX(0);
		transform: translateX(0)
	}
	.header-gnav__list {
		margin: 0;
		padding: 0
	}
	.header-gnav__list>li {
		border-bottom: 1px solid #ddd
	}
	.header-gnav__list>li>a {
		display: block;
		position: relative;
		padding: 15px 50px 15px 15px;
		font-size: 1.5rem;
		font-weight: 400
	}
	.header-gnav__list>li>a:after, .header-gnav__list>li>a:before {
		display: block;
		position: absolute;
		top: calc(50% - 1px);
		right: 20px;
		width: 12px;
		height: 2px;
		background-color: #e6002d;
		content: ""
	}
	.header-gnav__list>li>a:after {
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg)
	}
	.header-gnav__list>li>a[aria-expanded=true]:after {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg)
	}
	.header-gnav__sublist__grid {
		display: grid;
		grid-template-columns: 1fr 1fr
	}
	.header-megamenu__inner {
		background-color: #fbfbfb
	}
	.header-megamenu-headline-v1 {
		margin: 0;
		border-top: 1px solid #ddd;
		background-color: #fff
	}
	.header-megamenu-headline-v1 a {
		display: block;
		position: relative;
		padding: 15px;
		font-size: 1.5rem
	}
	.header-megamenu-headline-v1 a:after {
		-webkit-transform: rotate(45deg);
		display: inline-block;
		position: absolute;
		top: calc(50% - 4px);
		right: 22px;
		width: 8px;
		height: 8px;
		transform: rotate(45deg);
		border-top: 2px solid #e6002d;
		border-right: 2px solid #e6002d;
		content: ""
	}
	.header-megamenu-spgroup {
		position: relative;
		border-top: 1px solid #ddd
	}
	.header-megamenu-spgroup:before {
		display: block;
		z-index: 5;
		position: absolute;
		top: -1px;
		left: 0;
		width: 2px;
		height: calc(100% + 1px);
		background-color: #e6002d;
		content: ""
	}
	.header-megamenu-spgroup__switch {
		position: relative;
		padding: 16px 23px;
		font-size: 1.5rem
	}
	.header-megamenu-spgroup__switch+.header-megamenu-nav-v1 {
		display: none
	}
	.header-megamenu-spgroup__switch:after, .header-megamenu-spgroup__switch:before {
		display: block;
		position: absolute;
		top: calc(50% - 1px);
		right: 20px;
		width: 12px;
		height: 2px;
		background-color: #666;
		content: ""
	}
	.header-megamenu-spgroup__switch:after {
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg)
	}
	.header-megamenu-spgroup__switch[aria-expanded=true]:after {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg)
	}
	.header-megamenu-nav-v1 {
		position: relative;
		padding: 15px 20px;
		border-top: 1px solid #ddd;
		font-size: 1.5rem
	}
	.header-megamenu-nav-v1:before {
		display: block;
		z-index: 5;
		position: absolute;
		top: -1px;
		left: 0;
		width: 2px;
		height: calc(100% + 1px);
		background-color: #e6002d;
		content: ""
	}
	.header-megamenu-spgroup__switch+.header-megamenu-nav-v1 {
		padding-right: 15px;
		padding-left: 38px
	}
	.header-megamenu-nav-v1.is-block--sp {
		display: block;
		padding: 0
	}
	.header-megamenu-nav-v1.is-block--sp>li:nth-child(n+2) {
		border-top: 1px solid #ddd
	}
	.header-megamenu-nav-v1.is-block--sp>li>a {
		display: block;
		padding: 15px 20px 15px 23px
	}
	.header-megamenu-nav-v1.is-block--sp>li>a:after {
		display: none
	}
	.header-megamenu-nav-v1.has-no-border-sp {
		z-index: 2;
		position: relative;
		top: -1px;
		padding-top: 0;
		border-top: 1px solid #fbfbfb
	}
	.header-megamenu-nav-v1.has-no-border-sp .header-megamenu-nav-v2 {
		margin-top: 0
	}
	.header-megamenu-nav-v1>li>a {
		display: block
	}
	.header-megamenu-nav-v1>li>a:after {
		width: 8px;
		height: 8px
	}
	.header-megamenu-nav-v1 .header-megamenu-nav-v2 {
		margin-top: 15px
	}
	.header-megamenu-nav-v1 .header-megamenu-nav-v2>li>a {
		padding-left: 1.2em
	}
	.header-megamenu-visual {
		display: none
	}
	.header-megamenu-nav-v2 {
		gap: 9px 5px;
		position: relative;
		font-size: 1.5rem
	}
	.header-megamenu-nav-v2.is-col2--sp {
		grid-template-columns: 1fr 1fr
	}
	.header-megamenu-nav-v2.is-bdt--sp {
		border-top: 1px solid #ddd
	}
	.header-megamenu-nav-v2.is-block--sp {
		display: block
	}
	.header-megamenu-nav-v2.is-block--sp>li:nth-child(n+2) {
		border-top: 1px solid #ddd
	}
	.header-megamenu-nav-v2.is-block--sp>li>a {
		display: block;
		padding: 15px 20px
	}
	.header-megamenu-nav-v2.is-block--sp>li>a:before {
		display: none
	}
	.header-megamenu-nav-v2.has-border:before {
		display: block;
		z-index: 5;
		position: absolute;
		top: -1px;
		left: 0;
		width: 2px;
		height: calc(100% + 1px);
		background-color: #e6002d;
		content: ""
	}
	.header-megamenu-nav-v2>li>a {
		font-size: 1.5rem
	}
	.header-megamenu-nav-v2>li>a:before {
		width: 8px;
		height: 8px
	}
	body.is-liquid {
		min-width: auto!important
	}
	body.is-liquid .Main__content {
		max-width: 100%!important
	}
	/* body {
		padding-top: 46px
	} */
	body.is-active-menu {
		position: fixed;
		width: 100%
	}
	.Main__content {
		width: 100%;
		padding: 2.5em 15px 6em
	}
	.footer-pagetop {
		right: 15px;
		bottom: 15px
	}
	.footer-pagetop a {
		width: 50px;
		height: 50px
	}
	.Footer__body {
		padding: 0 0 35px
	}
	.Footer__body__inner {
		padding: 0 4vw
	}
	.footer-nav-layout {
		gap: 0;
		grid-template-columns: 1fr
	}
	.footer-nav-list-v1.is-2col--sp {
		gap: 0;
		position: relative;
		grid-template-columns: 1fr 1fr;
		margin: 0 -4vw;
		font-size: 1.5rem
	}
	.footer-nav-list-v1.is-2col--sp:after {
		display: block;
		z-index: 2;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
		background-color: #ddd;
		content: ""
	}
	.footer-nav-list-v1.is-2col--sp>li:nth-child(n+3) {
		border-top: 1px solid #ddd
	}
	.footer-nav-list-v1.is-2col--sp>li:nth-child(odd) {
		border-right: 1px solid #ddd
	}
	.footer-nav-list-v1.is-single--sp {
		gap: 12px;
		margin-top: 25px;
		font-size: 1.4rem
	}
	.footer-nav-list-other {
		gap: 25px 15px;
		grid-template-columns: 1fr 1fr;
		margin: 25px 0 0;
		font-size: 1.2rem
	}
	.Footer__foot {
		padding: 25px 0 20px
	}
	.Footer__foot__inner {
		gap: 15px 0;
		flex-direction: column;
		align-items: flex-start;
		padding: 0 4vw
	}
	.footer-logo {
		width: 167px
	}
	.footer-copyright__label {
		color: #333;
		font-size: 1rem
	}
	.home-carousel__control {
		gap: 0 18px;
		margin: 15px 0 0
	}
	.home-carousel__control .slick-dots {
		gap: 0 18px
	}
	.home-carousel__arrows {
		gap: 0 15px
	}
	.home-gallery-card-wrap .home-carousel__control {
		padding: 0 4vw
	}
	.home-gallery-card {
		width: 72vw;
		margin: 0
	}
	.home-gallery-card .slick-list {
		overflow: visible
	}
	.home-gallery-card .slick-slide {
		padding: 0 0 5px 4vw
	}
	.home-gallery-card__label {
		margin: 0 0 .2em;
		font-size: 1.2rem
	}
	.home-gallery-card__title {
		font-size: 1.5rem
	}
	.home-gallery-card__body {
		padding: 15px
	}
}
@media print, screen and (min-width:1260px) {
	body.is-liquid {
		min-width: auto!important
	}
	body.is-liquid .Main__content {
		max-width: 100%!important
	}
}
@media print {
	body {
		page: print-width;
		width: 1260px!important;
		margin: 0 auto!important
	}
	body[data-browser^=ie] {
		zoom: 1.9!important;
		-webkit-transform: scale(.45)!important;
		-webkit-transform-origin: 0 0!important;
		transform: scale(.45)!important;
		transform-origin: 0 0!important
	}
	body[data-browser=chrome] {
		zoom: .85
	}
	.Header {
		position: absolute
	}
}
@media only screen and (max-width:767.98px) and (max-width:767.98px) {
	.footer-nav-list-v1.is-2col--sp>li>a {
		display: block;
		padding: 14px 15px
	}
}

