@import url('https://fonts.googleapis.com/css2?family=Dosis:wght@600&family=Zen+Maru+Gothic:wght@400;700&family=M+PLUS+Rounded+1c:wght@400;700&display=swap');
:root {
    --mainFont: "Zen Maru Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, Arial,Helvetica, Verdana, sans-serif;
    --subFont: "Dosis","Zen Maru Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, Arial,Helvetica, Verdana, sans-serif;
    --subFont2: 'M PLUS Rounded 1c',"Zen Maru Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, Arial,Helvetica, Verdana, sans-serif;
    --mainColor: #8ad2c9;
    --subColor: #A6ADB3;
    --rootFontSize: 16;
}
html {
    font-size: 100%;
}
body {
    font-family: var(--mainFont);
    font-size: calc(16 / var(--rootFontSize) * 1rem);
    color: #333;
}
body.body-fixed{
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
}
#contents {
    padding: 0;
    width: 100%;
}
.inner01 {
    margin: 0 auto;
    width: 100%;
    max-width: 960px;
}
.spOnly{
    display: none;
}
img{
    max-width: 100%;
}
.center{
	text-align: center;
}

/* ヒーローエリア
--------------------------------------- */
#ct_bg .headTitleArea01 .inner01{
    padding: 10px 14px 8px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 1280px;
}
#ct_bg .headTitleArea01 > .inner01 .text01 {
    margin-left: 9px;
}
.mainWrap01{
    margin: 0 auto ;
    padding: 0 10px;
    border-radius: 40px;
    position: relative;
    max-width: 1280px;
    width: 100%;
}
.mainAreaImg01 img{
    border-radius: 40px;
    width: 100%;
    height: auto;
}
.mainAreaInfo01{
    max-width: 1000px;
    width: 92%;
    height: 50px;
    background: #FFF;
    position: absolute;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    padding: 10px 25px;
    border-radius: 50px;
}
.mainAreaInfo01 .title02{
    font-size: calc(14 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    padding: 0 40px 0 15px;
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    width: 113px;
}
.mainAreaInfo01 .list01{
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 0 0 0 40px;
    flex: 1;
    border-left: 2px dotted #585858;
    position: relative;
}
.mainAreaInfo01 .list01 dt{
    font-size: calc(14 / var(--rootFontSize) * 1rem);
    width: 65px;
}
.mainAreaInfo01 .list01 dd{
    font-size: calc(14 / var(--rootFontSize) * 1rem);
    flex: 1;
}
.mainAreaInfo01 .list01 dd a{
    text-decoration: none;
    color: #333;
    display: block;
    position: relative;
    padding: 0 35px 0 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    transition: color .4s;
}
.mainAreaInfo01 .list01 dd a:hover{
    color: var(--mainColor);
}
.mainAreaInfo01 .list01::after{
    content:"";
    width: 29px;
    height: 16px;
    background-image: url(../../img/arrow01.png);
    background-image: image-set(url(../../img/arrow01.png) 1x, url(../../img/arrow01@2x.png) 2x);
    background-image: -webkit-image-set(url(../../img/arrow01.png) 1x, url(../../img/arrow01@2x.png) 2x);
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    pointer-events: none;
}
.menuBtnWrap01{
    position: fixed;
    left: 0;
    top: 120px;
    z-index: 2;
    display: none;
}
.menuBtnWrap01 .button01{
    font-family: var(--subFont);
    font-size: calc(18 / var(--rootFontSize) * 1rem);
    color: #FFF;
    background: var(--mainColor);
    padding: 15px 55px 15px 20px;
    outline: none;
    border: none;
    border-radius: 0 25px 25px 0;
    cursor: pointer;
    position: relative;
    transition: transform .4s;
}
.menuBtnWrap01 .button01.hidden{
    transform: translateX(-100%);
}
.menuBtnWrap01 .button01::before,.menuBtnWrap01 .button01::after{
    content: "";
    width: 14px;
    height: 2px;
    background: #FFF;
    position: absolute;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
}
.menuBtnWrap01 .button01::after{
    transform: translateY(-50%) rotate(90deg);
}

/* メニュー
--------------------------------------- */
#ct_bg .headMenuWrap01{
    width: 100%;
    background: #FFF;
    transition: .4s;
    position: relative;
    z-index: 11006;
}
#ct_bg .headMenuWrap01.is-fixed{
    position: fixed;
    top: -73px;
    left: 0;
}
#ct_bg .headMenuWrap01.is-fixed.is-show{
    top: 0;
}
body.body-fixed.scrolled #ct_bg .headMenuWrap01{
    position: fixed;
    top: 0;
    left: 0;
}
#ct_bg .headMenuWrap01 .headerWrap01{
    position: absolute;
    top: 100%;
    width: 100%;
    height: 100vh;
    z-index: 10;
}
#ct_bg .headMenuWrap01 .headerWrap01 .wrap01{
    gap: 0;
}
#ct_bg .headMenuWrap01 .headerWrap01 .wrap02 {
    max-width: 800px;
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 30px;
    margin: 0 auto;
}
#ct_bg .headMenuWrap01 .headerWrap01 h2{
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    color: #FFF;
    margin: 0 0 30px;
}
#ct_bg .headMenuWrap01 .headerWrap01 .searchWrap01 {
    margin: 0 auto;
    max-width: 490px;
    width: 100%;
}
#ct_bg .headMenuWrap01 .headerWrap01 .searchWrap01::before {
    display: none;
}
#ct_bg .headMenuWrap01 .headerWrap01 .searchWrap01 .wrap01 .wrapItem01:nth-of-type(1) {
    width: 176px;
    margin-right: 33px;
}
#ct_bg .headMenuWrap01 .headerWrap01 .searchWrap01 .wrap01 .wrapItem01:nth-of-type(1)::before,#ct_bg .headMenuWrap01 .headerWrap01 .searchWrap01 .wrap01 .wrapItem01:nth-of-type(2)::before{
    content: "";
    position: absolute;
    top: 50%;
    width: 14px;
    height: 2px;
    background: #FFF;
    border: none;
}
#ct_bg .headMenuWrap01 .headerWrap01 .searchWrap01 .wrap01 .wrapItem01:nth-of-type(1)::before{
    transform: translateY(-50%) rotate(45deg);
    right: -24px;
}
#ct_bg .headMenuWrap01 .headerWrap01 .searchWrap01 .wrap01 .wrapItem01:nth-of-type(2)::before{
    transform: translateY(-50%) rotate(-45deg);
    left: -23px;
}
#ct_bg .headMenuWrap01 .headerWrap01 .searchWrap01 .wrap01 .wrapItem01:nth-of-type(2) {
    width: 219px;
    margin-right: 12px;
}
#ct_bg .headMenuWrap01 .headerWrap01 .searchAreaContent01 button {
    width: 50px;
    height: 50px;
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    padding: 5px 0 0;
    margin: 0;
    flex-shrink: 0;
}
#ct_bg .headMenuWrap01 .headerWrap01 .searchAreaContent01 button  img {
    position: static;
    top: inherit;
    right: inherit;
    transform: none;
}
#ct_bg .headMenuWrap01 > .inner01{
    max-width: 1240px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px 10px 0;
    position: relative;
}
#ct_bg .headMenuWrap01 .headerWrap01 .inner01{
    padding: 70px 15px 80px;
}
#ct_bg .headMenuWrap01 .headerWrap01 .inner01 .headerBox01 {
    margin-top: 0;
    display: none;
}
#ct_bg .headMenuWrap01 .headerWrap01 .inner01 .headerBox01.current {
    display: block;
}
#ct_bg .headMenuWrap01 .headerMenuRight{
    width: 100%;
    max-width: 720px;
}
#ct_bg .headMenuWrap01 .globalNavList01{
    display: flex;
}
#ct_bg .headMenuWrap01 .globalNavList01 li{
    flex-grow: 1;
    width: 25%;
}
#ct_bg .headMenuWrap01 .globalNavList01 a{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
    color: #333;
    height: 70px;
    transition: .4s;
}
#ct_bg .headMenuWrap01 .globalNavList01 a:hover{
    color: #FFF;
    background: var(--mainColor);
}
#ct_bg .headMenuWrap01 .globalNavList01 a div{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 33px;
    position: relative;
}
#ct_bg .headMenuWrap01 .globalNavList01 a div img{
    z-index: 1;
    transition: opacity .4s;
}
#ct_bg .headMenuWrap01 .globalNavList01 a:hover div img{
    opacity: 0;
}
#ct_bg .headMenuWrap01 .globalNavList01 a div:before{
    content:"";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    opacity: 0;
    transition: opacity .4s;
}
#ct_bg .headMenuWrap01 .globalNavList01 a:hover div:before{
    opacity: 1;
}
#ct_bg .headMenuWrap01 .globalNavList01 li:nth-child(1) a div::before{
    width: 32px;
    height: 33px;
    background: url(../../img/menu_icon01_on.png) center center / contain no-repeat;
}
#ct_bg .headMenuWrap01 .globalNavList01 li:nth-child(2) a div::before{
    width: 27px;
    height: 33px;
    background: url(../../img/menu_icon02_on.png) center center / contain no-repeat;
}
#ct_bg .headMenuWrap01 .globalNavList01 li:nth-child(3) a div::before{
    width: 42px;
    height: 33px;
    background: url(../../img/menu_icon03_on.png) center center / contain no-repeat;
}
#ct_bg .headMenuWrap01 .globalNavList01 li:nth-child(4) a div::before{
    width: 25px;
    height: 25px;
    background: url(../../img/menu_icon04_on.png) center center / contain no-repeat;
}
#ct_bg .headMenuWrap01 .globalNavList01 a span{
    display: block;
}
#ct_bg .headerWrap01{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--mainColor);
    z-index: 11006;
    display: none;
    overflow-y: auto;
    overscroll-behavior-y: contain;
}
#ct_bg .headerWrap01 .inner01{
    max-width: 1100px;
    padding: 80px 20px;
}
#ct_bg .headerWrap01 .logo01{
    text-align: center;
}
#ct_bg .headerBox01{
    display: flex;
    justify-content: space-between;
    margin: 70px 0 0;
}
#ct_bg .headerBox01 .globalNav01{
    width: 490px;
    width: calc(490 / 1060 * 100%);
}
#ct_bg .headerBox01 .globalNav01::before {
    content: '';
    background: radial-gradient(circle farthest-side, #FFF, #FFF 40%, transparent 40%, transparent);
    background-size: 10px;
    display: block;
    height: 10px;
    width: 100%;
    margin-bottom: 30px;
}
#ct_bg .headerBox01 .searchWrap01 {
    background: none;
    padding: 0;
    width: 490px;
    width: calc(490 / 1060 * 100%);
}
#ct_bg .headerBox01 .searchWrap01::before {
    content: '';
    background: radial-gradient(circle farthest-side, #FFF, #FFF 40%, transparent 40%, transparent);
    background-size: 10px;
    display: block;
    height: 10px;
    width: 100%;
    margin-bottom: 30px;
}
#ct_bg .headerBox01 .searchWrap01 .title01 {
    color: #FFF;
}
#ct_bg .headerBox01 .searchAreaContent01 button {
    color: #333;
    background: #E8F6F4;
    transition: opacity .4s;
}
#ct_bg .headerBox01 .searchAreaContent01 button:hover {
    opacity: 0.7;
    background: #E8F6F4;
}
#ct_bg .headerBox01 .headerTitle01{
    font-size: calc(24 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    color: #FFF;
    margin: 60px 0 0;
}
#ct_bg .headerBox01 .headerTitle01::after{
    content: '';
    background: radial-gradient(circle farthest-side, #FFF, #FFF 40%, transparent 40%, transparent);
    background-size: 10px;
    display: block;
    height: 10px;
    width: 100%;
    margin: 15px 0 30px;
}
#ct_bg .headerBox01 .globalNavList01 > * + *{
    margin-top: 15px;
}
#ct_bg .headerBox01 .globalNavList01 li a{
    font-size: calc(18 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    color: #333;
    display: flex;
    align-items: center;
    width: 100%;
    height: 57px;
    background: #FFF;
    border-radius: 30px;
    padding: 5px 30px 5px 100px;
    text-decoration: none;
    position: relative;
    transition: opacity .4s;
}
#ct_bg .headerBox01 .globalNavList01 li a:hover{
    opacity: 0.7;
}
#ct_bg .headerBox01 .globalNavList01 li.type01 a::before{
    content:"";
    width: 34px;
    height: 42px;
    background-image: url(../../img/icon_age01.png);
    background-image: image-set(url(../../img/icon_age01.png) 1x, url(../../img/icon_age01@2x.png) 2x);
    background-image: -webkit-image-set(url(../../img/icon_age01.png) 1x, url(../../img/icon_age01@2x.png) 2x);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 40px;
    transform: translateY(-50%);
}
#ct_bg .headerBox01 .globalNavList01 li.type02 a::before{
    content:"";
    width: 42px;
    height: 33px;
    background-image: url(../../img/icon03.png);
    background-image: image-set(url(../../img/icon03.png) 1x, url(../../img/icon03@2x.png) 2x);
    background-image: -webkit-image-set(url(../../img/icon03.png) 1x, url(../../img/icon03@2x.png) 2x);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 35px;
    transform: translateY(-50%);
}
#ct_bg .headerBox01 .globalNavList01 li a::after{
    content:"";
    width: 29px;
    height: 16px;
    background-image: url(../../img/arrow01.png);
    background-image: image-set(url(../../img/arrow01.png) 1x, url(../../img/arrow01@2x.png) 2x);
    background-image: -webkit-image-set(url(../../img/arrow01.png) 1x, url(../../img/arrow01@2x.png) 2x);
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: 25px;
    transform: translateY(-50%);
}
#ct_bg .headerBox01 .globalNavList02 > * + *{
    margin-top: 10px;
}
#ct_bg .headerBox01 .globalNavList02 li a{
    font-size: calc(20 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    color: #FFF;
    text-decoration: none;
    position: relative;
    padding: 0 0 0 22px;
    transition: opacity .4s;
}
#ct_bg .headerBox01 .globalNavList02 li a:hover{
    opacity: 0.7;
}
#ct_bg .headerBox01 .globalNavList02 li a::before{
    content:"";
    position: absolute;
    top: calc(50% + 1px); 
    left: 0;
    transform: translateY(-50%); 
    border: 5px solid transparent;
    border-left: 8px solid #FFF;
}
#ct_bg .headerBox01 .searchWrap01 .wrap01 select {
    border-color: #FFF;
}
#ct_bg .headerBox01 .searchAreaContent02 form {
    border-color: #FFF;
}
#ct_bg .headerWrap01 .closeBtn01{
    background: none;
    outline: none;
    border: none;
    font-size: 0;
    width: 23px;
    height: 23px;
    position: absolute;
    top: 24px;
    right: 24px;
    cursor: pointer;
}
#ct_bg .headerWrap01 .closeBtn01::before,.headerWrap01 .closeBtn01::after{
    content: "";
    width: 32px;
    height: 2px;
    background: #FFF;
    position: absolute;
    top: 50%;
    left: 50%;
}
#ct_bg .headerWrap01 .closeBtn01::before{
    transform: translate(-50%,-50%) rotate(45deg);
}
#ct_bg .headerWrap01 .closeBtn01::after{
    transform: translate(-50%,-50%) rotate(-45deg);
}

/* スライダー
--------------------------------------- */
.sliderWrap01{
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
}
.sliderList01{
    margin: 20px 0 0;
    padding: 0 0 40px;
}
.sliderList01 .swiper-slide{
    width: 536px !important;
}
.sliderList01 .swiper-slide img{
    width: 100%;
    height: auto;
    border-radius: 10px;
}
.sliderList01 .swiper-slide a{
    font-size: calc(18 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    color: #333;
    text-decoration: none;
    transition: opacity .4s;
}
.sliderList01 .swiper-slide a:hover{
    opacity: 0.5;
}
.sliderList01 .swiper-slide p{
    margin-top: 8px;
    line-height: 1.4;
}
.sliderList01.swiper-horizontal > .swiper-pagination-bullets{
    bottom: 50px;
    top: inherit;
    position: static;
    margin: 10px 0 0;
}
.sliderList01 .swiper-pagination-bullet {
    width: 25px;
    height: 4px;
    border-radius: 2px;
    background: #cdd6dd;
    opacity: 1;
}
.sliderList01.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet{
    margin: 0 5px;
}
.sliderList01 .swiper-pagination-bullet-active {
    background: var(--mainColor);
}

/* 検索
--------------------------------------- */
.searchWrap01{
    background: #FAF3F4;
    padding: 40px 0 95px;
}
.top .searchWrap01{
    padding-top: 95px;
}
.searchWrap01 .inner01{
    max-width: 730px;
    margin: 0 auto;
    padding: 0 10px;
}
.searchWrap01 .logo01{
    text-align: center;
    margin: 0 0 30px;
}
.searchWrap01 .title01{
    font-size: calc(22 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 10px;
}
.searchWrap01 .searchAreaContent02{
    margin: 40px 0 0;
}
.searchAreaContent01 button{
    font-family: var(--mainFont);
    font-size: calc(16 / var(--rootFontSize) * 1rem);
    color: #FFF;
    font-weight: bold;
    text-align: center;
    background: var(--mainColor);
    width: 100%;
    border: none;
    outline: none;
    margin: 20px 0 0;
    padding: 13px 20px;
    border-radius: 25px;
    position: relative;
    cursor: pointer;
    transition: background-color .4s;
}
.searchAreaContent01 button:hover{
    background-color: var(--subColor);
}
.searchAreaContent01 button img{
    position: absolute;
    top: 50%;
    right: 25px;
    transform: translateY(-50%);
}
.searchAreaContent01 form{
    margin: 15px 0 0;
}
.searchAreaContent02 form{
    margin: 10px 0 0;
    background: #FFF;
    border: 2px solid var(--mainColor);
    border-radius: 25px;
    padding: 10px 25px;
    position: relative;
}
.searchAreaContent02 input {
    font-family: var(--mainFont);
    border: none;
    outline: none;
    width: calc(100% - 35px);
}
.searchAreaContent02 input::placeholder{
    color: #A6ADB3;
}
.searchAreaContent02 button{
    width: 23px;
    height: 23px;
    background: none;
    border: none;
    outline: none;
    position: absolute;
    top: 50%;
    right: 25px;
    transform: translateY(-50%);
    padding: 0;
}
.searchWrap01 .wrap01{
    display: flex;
    gap: 30px;
}
.searchWrap01 .wrap01 .wrapItem01{
    width: calc((100% - 30px) / 2);
    position: relative;
}
.searchWrap01 .wrap01 .wrapItem01::after{
    content: '';
    width: 6px;
    height: 6px;
    border-right: 2px solid var(--mainColor);
    border-bottom: 2px solid var(--mainColor);
    position: absolute;
    top: calc(50% - 2px);
    right: 20px;
    transform: translateY(-50%) rotate(45deg);
}
.searchWrap01 .wrap01 select{
    font-family: var(--mainFont);
    font-size: calc(16 / var(--rootFontSize) * 1rem);
    width: 100%;
    background: #FFF;
    border: 2px solid var(--mainColor);
    border-radius: 25px;
    padding: 0 25px;
    appearance: none;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    height: 50px;
}
.searchWrap01 .wrap01 select:invalid {
    color: var(--mainColor);
}
.searchWrap01 .wrap01 select option {
    color: #333;
}

/* から探す
--------------------------------------- */
.searchWrap02{
    padding: 50px 0 30px;
}
.searchAreaList01{
    max-width: 1260px;
    width: 100%;
    display: flex;
    gap: 80px;
    position: relative;
    margin: 0 auto;
    padding: 0 10px;
}
.searchAreaList01::after{
    content:"";
    width: 2px;
    height: 33px;
    background: #CDD6DD;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.searchAreaList01 li{
    width: calc((100% - 80px) / 2);
    border: 4px solid #FAF3F4;
    border-radius: 40px;
    background: #FFF;
    text-align: center;
    cursor: pointer;
    padding: 15px;
    color: rgba(51,51,51,0.5);
}
.searchAreaList01 li.current{
    background: #FAF3F4;
    color: #333;
    cursor: auto;
}
.searchAreaList01 li span{
    font-size: calc(22 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    position: relative;
}
.searchAreaList01 li span img{
    position: absolute;
    top: 50%;
    left: -70px;
    transform: translateY(-50%);
}
.searchAreaList01 li:first-of-type span img{
    left: -60px;
}
.searchWrap02 .wrap01{
    border-radius: 35px;
    background: #FAF3F4;
    margin: 25px 20px 0;
    padding: 60px 20px 70px;
}
.searchWrap02 .wrap01 .inner01{
    max-width: 800px;
    width: 100%;
}
.searchWrap02 .wrap01 .inner01{
    max-width: 800px;
    width: 100%;
}
.searchWrap02 .wrap01 .searchAreaContent01{
    display: none;
}
.searchWrap02 .wrap01 .searchAreaContent01.current{
    display: block;
}
.searchWrap02 .wrap01 .searchAreaContent01 .text01{
    text-align: center;
}
.searchWrap02 .wrap01 .wrap02{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 30px;
}
.searchAreaList02{
    max-width: 540px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 40px 30px;
}
.searchAreaList02:last-of-type{
    max-width: 160px;
    width: 100%;
}
.searchAreaList02 li{
    width: calc((100% - 60px) / 3);
    position: relative;
}
.searchAreaList02:last-of-type li{
    width: 100%;
}
.searchAreaList02 li a{
    font-size: calc(18 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    display: block;
    background: #FFF;
    border-radius: 20px;
    box-shadow: 0 8px 0 #EDD8DC;
    text-decoration: none;
    aspect-ratio: 1/1;
    text-align: center;
    color: #333;
    padding: 15px 5px;
    transition: .3s;
}
.searchAreaList02:last-of-type li a{
    width: 100%;
    padding-top: 20px;
}
.searchAreaList02 li a:hover{
    box-shadow: none;
    transform: translateY(8px);
}
.searchAreaList02 li a img{
    display: block;
    margin: 8px auto 0;
}
.searchAreaList02:last-of-type li a img{
    margin-top: 12px;
}
.searchAreaList02 li a::after{
    content:"";
    width: 29px;
    height: 16px;
    background-image: url(../../img/arrow01.png);
    background-image: image-set(url(../../img/arrow01.png) 1x, url(../../img/arrow01@2x.png) 2x);
    background-image: -webkit-image-set(url(../../img/arrow01.png) 1x, url(../../img/arrow01@2x.png) 2x);
    background-repeat: no-repeat;
    position: absolute;
    left: 50%;
    bottom: 15px;
    transform: translateX(-50%);
}
.searchAreaList02 li a em{
    font-size: calc(24 / var(--rootFontSize) * 1rem);
    font-weight: bold;
}

/* 商品一覧
--------------------------------------- */
.itemWrap01{
    padding: 60px 0;
}
.itemWrap01 .inner01{
    max-width: 1145px;
    width: 100%;
    padding: 0 10px;
}
.itemWrap01 .title01{
    font-size: calc(22 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    text-align: center;
}
.itemWrap01 .itemBoxList01{
    display: flex;
    flex-wrap: wrap;
    gap: 40px 20px;
    margin: 35px 0 0;
}

.itemWrap01 .itemBoxList01 > li{
    width: calc((100% - 80px) / 5);
}
.itemWrap01 .itemBoxList01 .img01 a{
    transition: opacity .4s;
}
.itemWrap01 .itemBoxList01 .img01 a:hover{
    opacity: 0.7;
}
.itemWrap01 .itemBoxList01 .img01 img{
    width: 100%;
    height: auto;
}
.itemWrap01 .itemBoxList01 .category01{
    display: flex;
    gap: 6px;
    margin: 13px 0 0;
}
.itemWrap01 .itemBoxList01 .category01 li{
    font-size: calc(12 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    text-align: center;
    color: #FFF;
    background: var(--mainColor);
    padding: 4px 10px;
    border-radius: 15px;
}
.itemWrap01 .itemBoxList01 .title01{
    font-size: calc(14 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    line-height: 1.5;
    text-align: left;
    margin: 15px 0 0;
}
.itemWrap01 .itemBoxList01 .title01::before{
    display: none;
}
.itemWrap01 .itemBoxList01 .title01 a{
    color: #333;
    text-decoration: none;
    transition: color .4s;
}
.itemWrap01 .itemBoxList01 .title01 a:hover{
    color: var(--mainColor);
}
.itemWrap01 .itemBoxList01 .text02{
    font-size: calc(14 / var(--rootFontSize) * 1rem);
    text-align: right;
    margin: 15px 0 0;
}
.itemWrap01 .itemBoxList01 .text02 strong{
    font-size: calc(18 / var(--rootFontSize) * 1rem);
    font-weight: 400;
}
.itemWrap01 .btn02{
    margin-top: 80px;
}

.itemWrap01 .movie{
	width: 100%;
	aspect-ratio: 16 / 9;
	box-sizing: border-box;
	padding: 0 10px;
}
.itemWrap01 .movie iframe{
	width: 100%;
	height: 100%;
}

/* 概要
--------------------------------------- */
.introWrap01{
    margin: 40px 0 0;
}
.introWrap01 .inner01{
    max-width: 1240px;
    background-image: url(../../img/deco01.png),url(../../img/img01.jpg);
    background-image: image-set(url(../../img/deco01.png) 1x, url(../../img/deco01@2x.png) 2x),image-set(url(../../img/img01.jpg) 1x, url(../../img/img01@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../../img/deco01.png) 1x, url(../../img/deco01@2x.png) 2x), -webkit-image-set(url(../../img/img01.jpg) 1x, url(../../img/img01@2x.jpg) 2x);
    background-position: left 90px top, right top 40px;
    background-repeat: no-repeat;
    min-height: 700px;
    padding: 100px 0 0 140px;
    position: relative;
}
.introWrap01 .title01{
    font-size: calc(26 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    line-height: 2;
    letter-spacing: 0.04em;
}
.introWrap01 .title01::after{
    content:"";
    width: 107px;
    height: 13px;
    background-image: url(../../img/title02.png);
    background-image: image-set(url(../../img/title02.png) 1x, url(../../img/title02@2x.png) 2x);
    background-image: -webkit-image-set(url(../../img/title02.png) 1x, url(../../img/title02@2x.png) 2x);
    background-repeat: no-repeat;
    display: block;
    margin: 20px 0 0;
}
.introWrap01 .text01{
    width: 440px;
    margin: 20px 0 0;
}
.introWrap01 .btn01 button{
    margin: 30px 0 0 0;
}
.introWrap01 .btn02{
    position: absolute;
    top: 480px;
    right: 140px;
}
.introWrap01 .btn02 a{
    width: 150px;
    height: 150px;
    border-radius: 50%;
}
.introWrap01 .btn02 a:hover{
    opacity: 0.7;
}
.introWrap01 .btn02 a img{
    display: block;
    margin: 0 auto 5px;
}
.introWrap01 .btn02 a::after{
    right: 50%;
    top: inherit;
    bottom: 20px;
    transform: translateX(50%);
}
.introWrap01 .box02{
    position: relative;
    display: none;
	padding-bottom: 100px;
}
.introWrap01 .box02::before{
    content:"";
    width: 298px;
    height: 420px;
    background-image: url(../../img/img03.png);
    background-image: image-set(url(../../img/img03.png) 1x, url(../../img/img03@2x.png) 2x);
    background-image: -webkit-image-set(url(../../img/img03.png) 1x, url(../../img/img03@2x.png) 2x);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -45px;
    right: 6.5%;
}
.introWrap01 .box02 .inner02{
    max-width: 800px;
    width: 100%;
    background: url(../../img/bg01.png) #FFF;
    border-radius: 35px;
    margin: 15px 0 0;
    padding: 40px 60px 32px 40px;
}
.introWrap01 .box02 .inner02::before{
    content:"";
    width: 71px;
    height: 71px;
    background-image: url(../../img/deco02.png);
    background-image: image-set(url(../../img/deco02.png) 1x, url(../../img/deco02@2x.png) 2x);
    background-image: -webkit-image-set(url(../../img/deco02.png) 1x, url(../../img/deco02@2x.png) 2x);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 60px;
    left: 8%;
}
.introWrap01 .box02 .inner02 .wrap01{
    display: flex;
    gap: 20px;
    margin: 10px 0 0;
    position: relative;
}
.introWrap01 .box02 .inner02 > .text01{
    font-size: calc(16 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    line-height: 2;
    width: 100%;
    position: relative;
    margin-top: 50px;
}
.introWrap01 .box02 .inner02 .img01{
    width: 132px;
}
.introWrap01 .box02 .inner02 .img01 img{
    border-radius: 10px;
}
.introWrap01 .box02 .inner02 .text02{
    flex: 1;
    font-size: calc(12 / var(--rootFontSize) * 1rem);
}
.introWrap01 .box02 .inner02 .text02 .post{
    display: block;
    margin-bottom: 15px;
}
.introWrap01 .box02 .inner02 .img01 .text01{
    font-size: calc(14 / var(--rootFontSize) * 1rem);
    text-align: center;
    margin: 5px 0 0;
    width: 100%;
}
.introWrap01 .box02 .inner02 .img01 .text02{
    font-size: calc(14 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    text-align: center;
}
.introWrap01 .box02 .inner02 .img01 .text02 strong{
    font-size: calc(18 / var(--rootFontSize) * 1rem);
}
.introWrap01 .box02 .inner02 .title02{
    font-size: calc(14 / var(--rootFontSize) * 1rem);
    color: var(--mainColor);
    font-weight: bold;
    text-align: center;
    width: 129px;
    height: 129px;
    background-image: url(../../img/bg02.png);
    background-image: image-set(url(../../img//bg02.png) 1x, url(../../img//bg02@2x.png) 2x);
    background-image: -webkit-image-set(url(../../img/bg02.png) 1x, url(../../img/bg02@2x.png) 2x);
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px 0 0;
}

.siteWrap01{
    padding: 90px 0 0;
}
.siteWrap01 .title01{
    font-size: calc(22 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    text-align: center;
}

/* お知らせ
--------------------------------------- */
.informationWrap01{
    padding: 100px 0 0;
}
.informationWrap01 .title01{
    font-size: calc(22 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    text-align: center;
}
.informationWrap01 .title01 img{
    display: block;
    margin: 0 auto 10px;
}
.informationWrap01 .frameArea01{
    margin: 40px 0 0;
    overflow-y: auto;
    max-height: 260px;
}
.scroll01::-webkit-scrollbar {
    width: 5px;
}
.scroll01::-webkit-scrollbar-track {
	border-radius: 2.5px;
	background-color: #fff;
}
.scroll01::-webkit-scrollbar-thumb {
	background-color: #dedddc;
	border-radius: 2.5px;
}
.informationWrap01 .frameArea01 dl{
    display: flex;
    border-bottom: 2px dotted #cfd8df;
    padding: 32px 20px;
}
.informationWrap01 .frameArea01 dl:first-of-type{
    padding-top: 0;
}
.informationWrap01 .frameArea01 dt{
    width: 110px;
}
.informationWrap01 .frameArea01 dd{
    flex: 1;
}
.informationWrap01 .frameArea01 dd a{
    color: #333;
    transition: color .4s;
}
.informationWrap01 .frameArea01 dd a:hover{
    color: var(--mainColor);
    text-decoration: underline;
}

.informationWrap01 ul li{
    border-bottom: 2px dotted #cfd8df;
    padding: 32px 20px;
}
.informationWrap01 ul li a{
    color: #333;
    transition: color .4s;
    text-decoration: underline;
}
.informationWrap01 ul li a:hover{
    color: var(--mainColor);
}
.contents01 .informationWrap01 .inner01{
    padding-bottom: 40px;
}
.contents01  .informationWrap01 .frameArea01 {
    margin-top: 10px;
}

/* 関連サイト
--------------------------------------- */
.bnrList01{
    margin: 30px 0 0;
    padding: 0 20px;
    overflow: auto;
}
.bnrList01 ul{
    display: flex;
    justify-content: center;
    gap: 20px;
    width: 1580px;
    margin: 0 auto;
}
.bnrList01 ul li{
    width: 300px;
}
.bnrList01 ul li img{
    width: 100%;
    height: auto;
}
.bnrList01 ul li a{
    transition: opacity .4s;
}
.bnrList01 ul li a:hover{
    opacity: 0.5;
}

/* SNS
--------------------------------------- */
.snsWrap01{
    padding: 90px 0;
}
.snsWrap01 .title01{
    font-size: calc(22 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    text-align: center;
}
.snsWrap01 .snsBtn01{
    display: flex;
    justify-content: center;
    gap: 10px;
    margin: 40px 0 0;
}
.btn01 a,.btn01 button{
    font-family: var(--mainFont);
    font-size: calc(16 / var(--rootFontSize) * 1rem);
    color: var(--mainColor);
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    display: block;
    width: 320px;
    border: 2px solid var(--mainColor);
    margin: 30px auto 0;
    padding: 10px;
    border-radius: 25px;
    transition: .4s;
    position: relative;
    background: #FFF;
    cursor: pointer;
}
.btn01 a::before,.btn01 button::before{
    content:"";
    width: 29px;
    height: 16px;
    background-image: url(../../img/arrow02.png);
    background-image: image-set(url(../../img/arrow02.png) 1x, url(../../img/arrow02@2x.png) 2x);
    background-image: -webkit-image-set(url(../../img/arrow02.png) 1x, url(../../img/arrow02@2x.png) 2x);
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    transition: opacity .4s;
    opacity: 0;
}
.btn01 a::after,.btn01 button::after{
    content:"";
    width: 29px;
    height: 16px;
    background-image: url(../../img/arrow01.png);
    background-image: image-set(url(../../img/arrow01.png) 1x, url(../../img/arrow01@2x.png) 2x);
    background-image: -webkit-image-set(url(../../img/arrow01.png) 1x, url(../../img/arrow01@2x.png) 2x);
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    transition: opacity .4s;
}
.btn01.anchor01 a::before{
    width: 12px;
    height: 19px;
    background-image: url(../img/arrow02.png);
    background-image: image-set(url(../img/arrow02.png) 1x, url(../img/arrow02@2x.png) 2x);
    background-image: -webkit-image-set(url(../img/arrow02.png) 1x, url(../img/arrow02@2x.png) 2x);
    right: 30px;
}
.btn01.anchor01 a::after{
    width: 12px;
    height: 19px;
    background-image: url(../img/arrow01.png);
    background-image: image-set(url(../img/arrow01.png) 1x, url(../img/arrow01@2x.png) 2x);
    background-image: -webkit-image-set(url(../img/arrow01.png) 1x, url(../img/arrow01@2x.png) 2x);
    right: 30px;
}
.btn01.more a::before,.btn01.more a::after,.btn01.more button::before,.btn01.more button::after{
    content: "";
    width: 14px;
    height: 2px;
    background: var(--mainColor);
    position: absolute;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
    transition: .4s;
    opacity: 1;
}
.btn01.more a::after,.btn01.more button::after{
    transform: translateY(-50%) rotate(90deg);
}
.btn01.more.current a::after,.btn01.more.current button::after{
    transform: translateY(-50%) rotate(0);
}
.btn01 a:hover,.btn01 button:hover{
    border-color: var(--subColor);
    color: var(--subColor);
}
.btn01:not(.more) a:hover::after,.btn01:not(.more) button:hover::after{
    opacity: 0;
}
.btn01:not(.more) a:hover::before,.btn01:not(.more) button:hover::before{
    opacity: 1;
}
.btn01.more a:hover::before,.btn01.more a:hover::after,.btn01.more button:hover::before,.btn01.more button:hover::after{
    background: var(--subColor);
}
.btn02 a{
    color: #FFF;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    display: block;
    width: 320px;
    background: var(--mainColor);
    border: 2px solid var(--mainColor);
    margin: 30px auto 0;
    padding: 10px;
    border-radius: 25px;
    transition: .4s;
    position: relative;
}
.btn02 a::after{
    content:"";
    width: 29px;
    height: 16px;
    background-image: url(../../img/arrow03.png);
    background-image: image-set(url(../../img/arrow03.png) 1x, url(../../img/arrow03@2x.png) 2x);
    background-image: -webkit-image-set(url(../../img/arrow03.png) 1x, url(../../img/arrow03@2x.png) 2x);
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}
.btn02 a:hover{
    background: var(--subColor);
    border-color: var(--subColor);
    color: #FFF;
}
.externalLink01{
	color: #333;
    transition: .4s;
    position: relative;
}
.externalLink01::after{
    content:"";
    width: 18px;
    height: 18px;
    background-image: url(../img/ico_link01.png);
    background-image: image-set(url(../img/ico_link01.png) 1x, url(../img/ico_link01@2x.png) 2x);
    background-image: -webkit-image-set(url(../img/ico_link01.png) 1x, url(../img/ico_link01@2x.png) 2x);
	background-size: contain;
    background-repeat: no-repeat;
	display: inline-block;
    transition: .4s;
}
.externalLink01::before{
    content:"";
    width: 18px;
    height: 18px;
    background-image: url(../img/ico_link02.png);
    background-image: image-set(url(../img/ico_link02.png) 1x, url(../img/ico_link02@2x.png) 2x);
    background-image: -webkit-image-set(url(../img/ico_link02.png) 1x, url(../img/ico_link02@2x.png) 2x);
	background-size: contain;
    background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
    transition: .4s;
    position: absolute;
    right: 0;
    top: 1px;
    opacity: 0;
}
.externalLink01:hover::after{
    opacity: 0;
}
.externalLink01:hover::before{
    opacity: 1;
}
.externalLink01:hover{
	color: var(--mainColor);
	text-decoration: underline;
}
.btn01 a.externalLink01{
	margin-top: 15px;
}
.btn01 a.externalLink01::after{
	content:"";
    width: 19px;
    height: 19px;
    background-image: url(../img/ico_link03.png);
    background-image: image-set(url(../img/ico_link03.png) 1x, url(../img/ico_link03@2x.png) 2x);
    background-image: -webkit-image-set(url(../img/ico_link03.png) 1x, url(../img/ico_link03@2x.png) 2x);
	background-size: contain;
    background-repeat: no-repeat;
	display: inline-block;
	right: 70px;
}
.btn01 a.externalLink01::before{
	content:"";
    width: 19px;
    height: 19px;
    background-image: url(../img/ico_link04.png);
    background-image: image-set(url(../img/ico_link04.png) 1x, url(../img/ico_link04@2x.png) 2x);
    background-image: -webkit-image-set(url(../img/ico_link04.png) 1x, url(../img/ico_link04@2x.png) 2x);
	background-size: contain;
    background-repeat: no-repeat;
	display: inline-block;
	right: 70px;
}
.btn01 a.externalLink01:hover{
	text-decoration: none;
}

/* フッタートップ
--------------------------------------- */
.footer01{
    background: #f2f6f8;
    padding: 40px 0;
}
.footer01 nav{
    display: flex;
    align-items: flex-start;
    gap: 20px 100px;
}
.footer01 .wrap01{
    display: flex;
    flex-wrap: wrap;
    gap: 20px 100px;
}
.footer01 .footerTitel01{
    font-weight: bold;
}
.footer01 .footList01{
    margin-top: 20px;
}
.footer01 .footLink01 a{
    font-size: calc(14 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    text-decoration: none;
    color: #333;
}
.footer01 .footLink02 a{
    font-size: calc(14 / var(--rootFontSize) * 1rem);
    text-decoration: none;
    color: #333;
    position: relative;
    padding: 0 0 0 15px;
    line-height: 2;
}
.footer01 .footLink02 a::before{
    content:"";
    position: absolute;
    top: calc(50% + 1px); 
    left: 0;
    transform: translateY(-50%); 
    border: 4px solid transparent;
    border-left: 6px solid var(--mainColor);
}
.footer01 .copyright01{
    font-size: calc(12 / var(--rootFontSize) * 1rem);
    margin: 50px 0 0;
}

#ct_bg .contents01 > .inner01{
    max-width: 1162px;
    width: 100%;
    padding: 30px 10px 80px;
}
#ct_bg .contents01 > .inner01 .logo01{
    text-align: center;
    margin: 0 0 40px;
}
#ct_bg .contents01 .wrap01 {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}
#ct_bg .contents01 .inner01 > .wrap01 {
    margin-bottom: 60px;
}
#ct_bg .contents01 .col01 {
    max-width: 570px;
    width: 100%;
    padding: 0 15px;
}
#ct_bg .contents01 .col01 .mainImg01 img{
    width: 100%;
    height: auto;
    border-radius: 10px;
    border: 1px solid #DCE2E7;
}
#ct_bg .contents01 .col01 .subImg01{
    position: relative;
    margin-top: 10px;
}
#ct_bg .contents01 .col01 .subImg01 ul{
    gap: 10px;
}
#ct_bg .contents01 .col01 .subImg01 .swiper-initialized ul{
    gap: 0;
}
#ct_bg .contents01 .col01 .subImg01 ul li{
    width: calc((100% - 40px) / 5);
    cursor: pointer;
}
#ct_bg .contents01 .col01 .subImg01 .swiper-button-prev{
    width: 30px;
    height: 30px;
    background: #CDD6DD;
    border-radius: 50%;
    top: 50%;
    left: -13px;
    right: inherit;
    transform: translateY(-50%);
    margin: 0;
}
#ct_bg .contents01 .col01 .subImg01 .swiper-button-prev,#ct_bg .contents01 .col01 .subImg01 .swiper-button-next{
    display: none;
}
#ct_bg .contents01 .col01 .subImg01 .swiper-initialized + .swiper-button-prev{
    display: flex;
}
#ct_bg .contents01 .col01 .subImg01 .swiper-initialized + .swiper-button-prev + .swiper-button-next{
    display: flex;
}
#ct_bg .contents01 .col01 .subImg01 .swiper-button-prev:after{
    content: "";
    width: 6px;
    height: 6px;
    border-left: 2px solid #FFF;
    border-bottom: 2px solid #FFF;
    transform: rotate(45deg);
}
#ct_bg .contents01 .col01 .subImg01 .swiper-button-next{
    width: 30px;
    height: 30px;
    background: #CDD6DD;
    border-radius: 50%;
    top: 50%;
    right: -13px;
    left: inherit;
    transform: translateX(2px) translateY(-50%);
    margin: 0;
}
#ct_bg .contents01 .col01 .subImg01 .swiper-button-next:after{
    content: "";
    width: 6px;
    height: 6px;
    border-right: 2px solid #FFF;
    border-top: 2px solid #FFF;
    transform: translateX(-2px) rotate(45deg);
}
#ct_bg .contents01 .col01 .subImg01 img{
    width: 100%;
    height: auto;
    border-radius: 10px;
    border: 1px solid #DCE2E7;
}
#ct_bg .contents01 .col01 .subImg01 ul li.current img{
    border-color: var(--mainColor);
}
#ct_bg .contents01 .col02 {
    max-width: 565px;
    width: 100%;
}
#ct_bg .contents01 .col02 > :first-child{
    margin-top: 0;
}
#ct_bg .col02 .heading01{
    font-size: calc(30 / var(--rootFontSize) * 1rem);
    line-height: 1.3;
    font-weight: bold;
    margin: 20px 0 0;
}
#ct_bg .col02 .heading01::after{
    content:"";
    width: 90px;
    height: 2px;
    display: block;
    border-bottom: 2px dotted #cfd8df;
    margin-top: 20px;
}
#ct_bg .col02 .text01{
    font-size: calc(20 / var(--rootFontSize) * 1rem);
    line-height: 1.3;
    font-weight: bold;
    margin: 20px 0 0;
}
#ct_bg .col02 .text02{
    font-size: calc(16 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    margin: 20px 0 0;
}
#ct_bg .col02 .text02 strong{
    font-size: calc(24 / var(--rootFontSize) * 1rem);
}
#ct_bg .col02 .text03{
    line-height: 2;
    margin-top: 40px;
}
#ct_bg .col02 .wrap02{
    display: flex;
    justify-content: space-between;
}
#ct_bg .col02 .wrap02 .col03 .list01{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
#ct_bg .col02 .wrap02 .col03 .list01 li{
    font-size: calc(12 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    color: #FFF;
    padding: 3px 10px;
    border-radius: 15px;
}
#ct_bg .col02 .wrap02 .col03 .list01 li.type01{
    background: var(--mainColor);
}
#ct_bg .col02 .wrap02 .col03 .list01 li.type02{
    background: #E3DA73;
}
#ct_bg .col02 .wrap02 .col04{
    display: flex;
    gap: 12px;
    align-items: center;
}
#ct_bg .col02 .wrap02 .col04 p{
    font-size: calc(14 / var(--rootFontSize) * 1rem);
    font-weight: bold;
}
#ct_bg .col02 .wrap02 .col04 .list02{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
#ct_bg .col02 .wrap02 .col04 .list02 li a{
    transition: opacity .4s;
}
#ct_bg .col02 .wrap02 .col04 .list02 li a:hover{
    opacity: 0.7;
}
#ct_bg .contents01 .button01 .cart01{
    font-size: calc(21 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    color: #FFF;
    text-align: center;
    background: var(--mainColor);
    position: relative;
    text-decoration: none;
    display: block;
    margin-top: 40px;
    padding: 9px 60px;
    border-radius: 25px;
    transition: background-color .4s;
}
#ct_bg .contents01 .button01 .cart01:hover{
    background: var(--subColor);
}
#ct_bg .contents01 .button01 .cart01::before{
    content:"";
    width: 35px;
    height: 29px;
    background-image: url(../img/ico_cart01.png);
    background-image: image-set(url(../img/ico_cart01.png) 1x, url(../img/ico_cart01@2x.png) 2x);
    background-image: -webkit-image-set(url(../img/ico_cart01.png) 1x, url(../img/ico_cart01@2x.png) 2x);
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    left: 25px;
    transform: translateY(-50%);
}
#ct_bg .contents01 .button01 .cart01::after{
    content:"";
    width: 29px;
    height: 16px;
    background-image: url(../../img/arrow03.png);
    background-image: image-set(url(../../img/arrow03.png) 1x, url(../../img/arrow03@2x.png) 2x);
    background-image: -webkit-image-set(url(../../img/arrow03.png) 1x, url(../../img/arrow03@2x.png) 2x);
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: 25px;
    transform: translateY(-50%);
}
#ct_bg .contents01 .button01 .cart02{
    font-size: calc(21 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    color: #FFF;
    text-align: center;
    background: var(--mainColor);
    position: relative;
    text-decoration: none;
    display: block;
    margin-top: 40px;
    padding: 9px 60px;
    border-radius: 25px;
    transition: background-color .4s;
}
#ct_bg .contents01 .button01 .cart02:hover{
    background: var(--subColor);
}
#ct_bg .contents01 .button01 .cart02::after{
    content:"";
    width: 29px;
    height: 16px;
    background-image: url(../../img/arrow03.png);
    background-image: image-set(url(../../img/arrow03.png) 1x, url(../../img/arrow03@2x.png) 2x);
    background-image: -webkit-image-set(url(../../img/arrow03.png) 1x, url(../../img/arrow03@2x.png) 2x);
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: 25px;
    transform: translateY(-50%);
}
#ct_bg .copyright03 {
    margin-top: 40px;
}
#ct_bg .copyright03 > .image01 {
    width: 100px;
}
#ct_bg .copyright03 > .image01 img{
    width: 100%;
    height: auto;
}
#ct_bg .copyright03 > .text02 {
    font-size: calc(12 / var(--rootFontSize) * 1rem);
    margin-top: 5px;
}
#ct_bg .youtube{
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    position: relative;
    overflow: hidden;
    margin-bottom: 30px;
}
#ct_bg .youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
#ct_bg .manualList01 > * + *{
    margin-top: 18px;
}
#ct_bg .manualList01 li a{
    font-size: calc(16 / var(--rootFontSize) * 1rem);
    color: #333;
    text-decoration: underline;
    position: relative;
    padding: 0 30px 0 20px;
    transition: color .4s;
    display: inline-block;
}
#ct_bg .manualList01 li a:hover{
    color: var(--mainColor);
}
#ct_bg .manualList01 li a::before{
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    top: 8px;
    left: 0;
    border: 5px solid transparent;
    border-left: 8px solid var(--mainColor);
}
#ct_bg .manualList01 li a::after{
    content: "";
    width: 18px;
    height: 18px;
    display: inline-block;
    background-image: url(../../common/img/ico_pdf01.png);
    background-image: image-set(url(../../common/img/ico_pdf01.png) 1x, url(../../common/img/ico_pdf01@2x.png) 2x);
    background-image: -webkit-image-set(url(../../common/img/ico_pdf01.png) 1x, url(../../common/img/ico_pdf01@2x.png) 2x);
    background-repeat: no-repeat;
    margin-left: 10px;
    position: absolute;
    top: 4px;
    right: 0;
}
#ct_bg .subSection01 .inner02{
    max-width: 960px;
    width: 100%;
    margin: 0 auto;
}
#ct_bg .subSectiontab01{
    margin-bottom: 25px;
}
#ct_bg .subSectiontab01 ul{
    display: flex;
    gap: 10px;
    border-bottom: 3px solid var(--mainColor);
}
#ct_bg .subSectiontab01 ul li{
    font-size: calc(16 / var(--rootFontSize) * 1rem);
    font-weight: bold;
    color: #FFF;
    background: #CDD6DD;
    border-radius: 10px 10px 0 0;
    text-align: center;
    padding: 9px 20px;
    cursor: pointer;
    transition: background-color .4s;
}
#ct_bg .subSectiontab01 ul li.current{
    background: var(--mainColor);
    cursor: auto;
}
#ct_bg .subSectionBox01{
    display: none;
}
#ct_bg .subSectionBox01.current{
    display: block;
}
#ct_bg .subSectionList01{
    display: flex;
    flex-wrap: wrap;
    gap: 24px 0;
}
#ct_bg .subSectionList01 li{
    width: calc(100% / 3);
}
#ct_bg .subSectionList01 li img{
    width: 100%;
    height: auto;
}
#ct_bg .subSection02:not(:first-of-type){
    margin-top: 30px;
}
#ct_bg .subSection02 .text01{
    line-height: 1.3;
    margin-bottom: 30px;
}
#ct_bg .subSection02 .text02{
    line-height: 1.3;
    margin-top: 30px;
}
#ct_bg .contents01 .col01 .subImg01 .swiper-pagination {
    display: none;
}
#ct_bg .contents01 .subSectionWrap01{
	background: url(../../img/bg01.png) #FFF;
	margin: 40px 0 0;
}
#ct_bg .contents01 .subSectionWrap01 .inner01 {
	max-width: 1280px;
	position: relative;
	padding: 15px 0 38px;
}
#ct_bg .contents01 .subSectionWrap01 .inner01::before {
	content: "";
    width: 260px;
    height: 412px;
    background-image: url(../../safety/img/img_safety10.png);
    background-image: image-set(url(../../safety/img/img_safety10.png) 1x, url(../../safety/img/img_safety10@2x.png) 2x);
    background-image: -webkit-image-set(url(../../safety/img/img_safety10.png) 1x, url(../../safety/img/img_safety10@2x.png) 2x);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: -35px;
    left: 6.5%;
}
#ct_bg .contents01 .subSectionWrap01 .inner01::after {
	content: "";
    width: 293px;
    height: 392px;
    background-image: url(../../safety/img/img_safety11.png);
    background-image: image-set(url(../../safety/img/img_safety11.png) 1x, url(../../safety/img/img_safety11@2x.png) 2x);
    background-image: -webkit-image-set(url(../../safety/img/img_safety11.png) 1x, url(../../safety/img/img_safety11@2x.png) 2x);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -30px;
    right: 6.5%;
}
#ct_bg .contents01 .subSectionWrap01 .inner01 .inner02 {
    position: relative;
	z-index: 1;
}
#ct_bg .contents01 .subSectionWrap01 .logo01 {
	text-align: center;
	position: relative;
	top: -35px;
}
#ct_bg .contents01 .subSectionWrap01 .title01 {
	font-size: calc(18 / var(--rootFontSize) * 1rem);
    font-weight: bold;
	text-align: center;
}
#ct_bg .contents01 .subSectionWrap01 h2.title01 {
	font-size: calc(30 / var(--rootFontSize) * 1rem);
	margin: 10px 0 15px;
}
#ct_bg .contents01 .subSectionWrap01 h2.title01::after {
    content: "";
    width: 107px;
    height: 13px;
    background-image: url(../../img/title02.png);
    background-image: image-set(url(../../img/title02.png) 1x, url(../../img/title02@2x.png) 2x);
    background-image: -webkit-image-set(url(../../img/title02.png) 1x, url(../../img/title02@2x.png) 2x);
    background-repeat: no-repeat;
    display: block;
    margin: 20px auto 0;
}
#ct_bg .contents01 .subSectionWrap01 .text01 {
	line-height: 2;
	text-align: center;
}
#ct_bg .contents01 .subSectionWrap01 .btn01 a{
    width: 410px;
	margin-top: 50px;
}
#ct_bg .contents01 .subSectionWrap02{
	padding: 100px 10px 0;
}
#ct_bg .contents01 .subSectionWrap02 p.title01{
	font-size: calc(20 / var(--rootFontSize) * 1rem);
    font-weight: bold;
	text-align: center;
	color: var(--mainColor);
	width: fit-content;
	margin: 0 auto 10px;
	padding: 0 25px;
	position: relative;
}
#ct_bg .contents01 .subSectionWrap02 p.title01::before,#ct_bg .contents01 .subSectionWrap02 p.title01::after{
	content:"";
	width: 3px;
	height: 30px;
	background: var(--mainColor);
	border-radius: 2px;
	position: absolute;
	top: 50%;
}
#ct_bg .contents01 .subSectionWrap02 p.title01::before{
	left: 0;
	transform: translateY(-50%) rotate(-30deg);
}
#ct_bg .contents01 .subSectionWrap02 p.title01::after{
	right: 0;
	transform: translateY(-50%) rotate(30deg);
}
#ct_bg .contents01 .subSectionWrap02 h2.title01{
	font-size: calc(24 / var(--rootFontSize) * 1rem);
    font-weight: bold;
	text-align: center;
	margin-bottom: 50px;
}
#ct_bg .contents01 .subSectionWrap02 h2.title01::after {
    content: "";
    width: 80px;
    height: 5px;
    display: block;
    border-bottom: 5px dotted var(--mainColor);
    margin: 20px auto 0;
}
#ct_bg .contents01 .subSectionWrap02 .wrap01 {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 40px;
	margin-bottom: 30px;
}
#ct_bg .contents01 .subSectionWrap02 .wrap01.reverse{
	flex-direction: row-reverse;
}
#ct_bg .contents01 .subSectionWrap02 .wrap01 .box01{
	flex: 1;
	display: flex;
	gap: 40px;
}
#ct_bg .contents01 .subSectionWrap02 .wrap01 .box01.reverse{
	flex-direction: row-reverse;
}
#ct_bg .contents01 .subSectionWrap02 .wrap01 .box02{
	width: 200px;
}
#ct_bg .contents01 .subSectionWrap02 .number01{
	font-size: calc(24 / var(--rootFontSize) * 1rem);
    font-weight: bold;
	color: var(--mainColor);
	line-height: 1;
	text-align: center;
}
#ct_bg .contents01 .subSectionWrap02 .number01 .strong01{
	font-size: calc(90 / var(--rootFontSize) * 1rem);
    font-weight: 900;
	color: #FFF;
	text-stroke: 2px var(--mainColor);
	-webkit-text-stroke: 2px var(--mainColor);
	display: block;
	line-height: 0.8;
}
#ct_bg .contents01 .subSectionWrap02 .description01 .title01{
	font-size: calc(20 / var(--rootFontSize) * 1rem);
    font-weight: bold;
	margin: 0 0 15px;
}
#ct_bg .contents01 .subSectionWrap02 .inner01 .text01{
	line-height: 2;
}
#ct_bg .contents01 .subSectionWrap02 .inner01 .text01 + .text01{
	margin-top: 30px;
}
#ct_bg .contents01 .subSectionWrap02 .inner01 .notes01{
	font-size: calc(12 / var(--rootFontSize) * 1rem);
}
#ct_bg .contents01 .subSectionWrap02 .wrap02 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 80px;
	margin: 40px 0 0;
}
#ct_bg .contents01 .subSectionWrap02 .wrap02 .box01{
	max-width: 380px;
}
#ct_bg .contents01 .subSectionWrap02 .wrap02 .box01 .text02{
	margin: 0 0 10px;
}
#ct_bg .contents01 .subSectionWrap02 .wrap02 .box01 .img01{
	text-align: center;
}
#ct_bg .contents01 .cautionWrap01{
	margin-top: 100px;
	padding: 0 10px;
}
#ct_bg .contents01 .cautionWrap01 .inner01{
	border: 10px solid rgba(237,216,220,0.3);
	background: #FFF;
	border-radius: 40px;
	padding: 40px 60px;
}
#ct_bg .contents01 .cautionWrap01 .inner01 .strong01{
	font-size: calc(20 / var(--rootFontSize) * 1rem);
	font-weight: bold;
	color: #E85672;
	text-align: center;
	margin: 0 0 40px;
}
#ct_bg .contents01 .cautionWrap01 .inner01 .strong01::before{
	content: "";
	width: 40px;
	height: 37px;
	background-image: url(../../safety/img/ico_safety01.png);
    background-image: image-set(url(../../safety/img/ico_safety01.png) 1x, url(../../safety/img/ico_safety01@2x.png) 2x);
    background-image: -webkit-image-set(url(../../safety/img/ico_safety01.png) 1x, url(../../safety/img/ico_safety01@2x.png) 2x);
    background-repeat: no-repeat;
	display: block;
	margin: 0 auto 15px;
}
#ct_bg .contents01 .cautionWrap01 .list01 > li{
	font-size: calc(16 / var(--rootFontSize) * 1rem);
	font-weight: bold;
	color: #E85672;
	padding: 0 0 0 20px;
	position: relative;
}
#ct_bg .contents01 .cautionWrap01 .list01 > * + *{
	margin-top: 20px;
}
#ct_bg .contents01 .cautionWrap01 .list01 > li::before{
	content:"";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #A6ADB3;
	position: absolute;
	top: 8px;
	left: 0;
}
#ct_bg .contents01 .cautionWrap01 .list01 > li ul{
	padding: 15px 20px 0;
}
#ct_bg .contents01 .cautionWrap01 .list01 > li ul > * + *{
	margin-top: 10px;
}
#ct_bg .contents01 .cautionWrap01 .list01 > li ul li{
	font-weight: 400;
	color: #333;
}
#ct_bg .contents01 .cautionWrap01 .list02 > li{
	position: relative;
	padding: 0 0 0 20px;
}
#ct_bg .contents01 .cautionWrap01 .list02 > li::before{
	content:"";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #A6ADB3;
	position: absolute;
	top: 8px;
	left: 0;
}
#ct_bg .contents01 .cautionWrap01 .text02{
	font-size: calc(14 / var(--rootFontSize) * 1rem);
	text-align: center;
	margin: 50px 0 0;
}
#ct_bg.detail .contents01{
    font-family: var(--subFont2);
}

@media (max-width:1200px){
    #ct_bg .contents01 .col01 {
        width: calc((100% - 7px) / 2);
    }
    #ct_bg .contents01 .col02 {
        width: calc((100% - 7px) / 2);
    }
}
@media (max-width:960px){
    .searchAreaList01 {
        gap: 40px;
    }
    .searchAreaList01 li {
        width: calc((100% - 40px) / 2);
    }
    .searchAreaList01 li span {
        padding-left: 40px;
    }
    .searchAreaList01 li:first-of-type span img {
        left: -20px;
    }
    .searchAreaList01 li span img {
        left: -20px;
    }
    .searchAreaList02{
        max-width: 570px;
        width: calc(570 / 800 * 100%);
    }
    .searchAreaList02:last-of-type{
        max-width: 170px;
        width: calc(170 / 800 * 100%);
    }
    .searchAreaList02 li a {
        padding: 10px 5px;
    }
    .searchAreaList02 li a::after {
        bottom: 10px;
    }
    .introWrap01 .inner01 {
        background-position: left 90px top, left 100px top 40px;
        padding: 100px 20px 0;
    }
    .introWrap01 .btn02 {
        right: 35px;
    }
	.introWrap01 .box02 {
		padding-bottom: 0;
	}
    .introWrap01 .box02::before {
        bottom: -125px;
        right: 0;
    }
    .introWrap01 .box02 .inner02 {
        padding-bottom: 80px;
    }
	#ct_bg .contents01 .subSectionWrap01 .inner01::before {
		left: 0;
	}
	#ct_bg .contents01 .subSectionWrap01 .inner01::after {
		right: 0;
	}
}

@media (max-width:768px){
    .searchWrap02 .wrap01 .wrap02 {
        flex-direction: column;
        gap: 60px;
    }
    .searchAreaList02 {
        width: 100%;
        max-width: 100%;
    }
    .searchAreaList02:last-of-type {
        width: 100%;
        max-width: 100%;
    }
    .searchAreaList02:last-of-type li {
        width: calc((100% - 60px) / 3);
    }
    .searchAreaList02 li a {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .searchAreaList02 li a span {
        position: absolute;
        top: 15px;
    }
    #ct_bg .headerBox01 {
        flex-direction: column;
        margin: 30px 0 0;
    }
    #ct_bg .headerBox01 .globalNav01 {
        width: 100%;
    }
    #ct_bg .headerBox01 .searchWrap01 {
        width: 100%;
        margin-top: 25px;
    }
    .bnrList01 ul{
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 19px;
        width: 100%;
    }
    .bnrList01 ul li{
        width: calc((100% - 19px) / 2);
    }
    .bnrList01 ul li img{
        width: 100%;
        height: auto;
    }
    #ct_bg .contents01 .wrap01 {
        display: block;
    }
    #ct_bg .contents01 .col01 {
        width: 100%;
        max-width: 100%;
        padding: 0;
    }
    #ct_bg .contents01 .col02 {
        width: 100%;
        max-width: 100%;
        margin-top: 25px;
    }
	#ct_bg .contents01 .subSectionWrap01 .inner01 {
		padding-bottom: 170px;
	}
	#ct_bg .contents01 .subSectionWrap01 .inner01::before {
		content: "";
		width: 332px;
		height: 211px;
		background-image: url(../../safety/img/img_safety10_sp.png);
		background-repeat: no-repeat;
		background-size: contain;
		position: absolute;
		top: inherit;
		bottom: -50px;
		left: 50%;
		transform: translateX(-50%);
	}
	#ct_bg .contents01 .subSectionWrap01 .inner01::after {
		display: none;
	}
    #ct_bg .headMenuWrap01 .headerWrap01 .wrap02 {
        flex-direction: column;
        gap: 60px;
    }
}

@media (max-width:640px){
    
.pcOnly{
    display: none;
}
.spOnly{
    display: block;
}

/* ヒーローエリア
--------------------------------------- */
#ct_bg .headTitleArea01 > .inner01 .title01,#ct_bg .headTitleArea01 > .inner01 .text01 {
    font-size: calc(13 / var(--rootFontSize) * 1rem);
}
.mainWrap01{
    padding: 0;
    max-width: 100%;
}
.mainAreaImg01 img{
    width: 100%;
    height: auto;
    border-radius: 0;
}
.mainAreaInfo01 {
    width: 85%;
    height: auto;
    position: absolute;
    padding: 10px;
    margin: 0;
}
.mainAreaInfo01 .title02 {
    font-size: calc(12 / var(--rootFontSize) * 1rem);
    padding: 0 10px 0 0;
    width: 60px;
}
.mainAreaInfo01 .list01 {
    display: block;
    padding-left: 10px;
}
.mainAreaInfo01 .list01 dt {
    font-size: calc(12 / var(--rootFontSize) * 1rem);
    margin-bottom: 3px;
}
.mainAreaInfo01 .list01 dd {
    font-size: calc(12 / var(--rootFontSize) * 1rem);
}
.mainAreaInfo01 .list01 dd a {
    -webkit-line-clamp: 2;
    line-height: 1.5;
    padding-right: 24px;
}
.mainAreaInfo01 .list01::after {
    width: 16px;
    height: 13px;
    background-size: cover;
    background-position: right center;
}
.menuBtnWrap01 {
    top: 130px;
}

/* メニュー
--------------------------------------- */
#ct_bg .headMenuWrap01.is-fixed{
    top: -50px;
}
#ct_bg .headMenuWrap01 .inner01{
    padding: 5px 0 0 10px;
}
#ct_bg .headMenuWrap01 .logo01{
    width: 113px;
}
#ct_bg .headMenuWrap01 .logo01 svg{
    width: 100%;
    height: auto;
}
#ct_bg .headMenuWrap01 .headerWrap01 .inner01 {
    padding: 20px 15px 40px;
}
#ct_bg .headMenuWrap01 .headerWrap01 .wrap02 {
    gap: 20px;
}
#ct_bg .headMenuWrap01 .headerWrap01 h2 {
    font-size: 20px;
    margin: 0 0 20px;
}
#ct_bg .headMenuWrap01 .headerMenuRight {
    width: auto;
}
#ct_bg .headMenuWrap01 .globalNavList01{
    gap: 0;
}
#ct_bg .headMenuWrap01 .globalNavList01 li{
    width: auto;
}
#ct_bg .headMenuWrap01 .globalNavList01 li:nth-child(1) img{
    width: 24px;
    height: auto;
}
#ct_bg .headMenuWrap01 .globalNavList01 li:nth-child(2) img{
    width: 21px;
    height: auto;
}
#ct_bg .headMenuWrap01 .globalNavList01 li:nth-child(3) img{
    width: 30px;
    height: auto;
}
#ct_bg .headMenuWrap01 .globalNavList01 li:nth-child(4) img{
    width: 18px;
    height: auto;
}
#ct_bg .headMenuWrap01 .globalNavList01 li:nth-child(1) a div::before{
    width: 24px;
    height: 25px;
}
#ct_bg .headMenuWrap01 .globalNavList01 li:nth-child(2) a div::before{
    width: 21px;
    height: 26px;
}
#ct_bg .headMenuWrap01 .globalNavList01 li:nth-child(3) a div::before{
    width: 30px;
    height: 24px;
}
#ct_bg .headMenuWrap01 .globalNavList01 li:nth-child(4) a div::before{
    width: 18px;
    height: 18px;
}
#ct_bg .headMenuWrap01 .globalNavList01 a{
    font-size: 10px;
    flex-direction: column;
    gap: 0;
    width: 56px;
    height: 50px;
}
#ct_bg .headMenuWrap01 .globalNavList01 a div{
    height: 27px;
}
#ct_bg .headMenuWrap01 .headerWrap01 .searchWrap01 .wrap01{
    flex-direction: row;
}
#ct_bg .headerWrap01 .inner01 {
    max-width: 100%;
    padding: 40px 28px;
}
#ct_bg .headerWrap01 .logo01 img{
    width: 240px;
    height: auto;
}
#ct_bg .headerWrap01 .closeBtn01 {
    top: 20px;
    right: 20px;
}
#ct_bg .headerBox01 {
    flex-direction: column;
    margin: 30px 0 0;
}
#ct_bg .headerBox01 .globalNav01 {
    width: 100%;
}
#ct_bg .headerBox01 .searchWrap01 {
    width: 100%;
    margin-top: 25px;
}
#ct_bg .headerBox01 .headerTitle01 {
    font-size: calc(20 / var(--rootFontSize) * 1rem);
    margin-top: 25px;
}
#ct_bg .headerBox01 .globalNavList02 li a {
    font-size: calc(18 / var(--rootFontSize) * 1rem);
}
#ct_bg .headerBox01 .headerTitle01::after {
    margin: 10px 0 15px;
}
#ct_bg .headerBox01 .globalNav01::before {
    margin-bottom: 25px;
}
#ct_bg .headerBox01 .searchWrap01::before {
    margin-bottom: 20px;
}
#ct_bg .globalNavList01{
    display: flex;
    gap: 20px;
}
#ct_bg .globalNavList01 li{
    width: calc((100% - 20px) / 2);
    text-align: center;
}
#ct_bg .headerBox01 .globalNavList01 li a {
    font-size: calc(18 / var(--rootFontSize) * 1rem);
    justify-content: center;
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    border-radius: 35px;
    padding: 35px 15px 15px;
    line-height: 1.5;
}
#ct_bg .headerBox01 .globalNavList01 li.type01 a::before {
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
}
#ct_bg .headerBox01 .globalNavList01 li.type02 a::before {
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
}
#ct_bg .headerBox01 .globalNavList01 li a::after {
    top: inherit;
    bottom: 12px;
    right: 50%;
    transform: translateX(50%);
}
#ct_bg .headerBox01 .globalNavList01 > * + * {
    margin-top: 0;
}
#ct_bg .searchWrap01 .title01 {
    font-size: calc(20 / var(--rootFontSize) * 1rem);
}
#ct_bg .searchWrap01 .searchAreaContent02 {
    margin: 20px 0 0;
}

/* スライダー
--------------------------------------- */
.sliderList01 .swiper-slide {
    width: 100% !important;
}
.sliderList01 .swiper-slide p {
    font-size: calc(16 / var(--rootFontSize) * 1rem);
}
.sliderList01.swiper-horizontal > .swiper-pagination-bullets {
    position: static;
}
.sliderList01 {
    margin-top: 10px;
    padding-bottom: 40px;
}

/* 検索
--------------------------------------- */
.searchWrap01 {
    padding: 30px 28px 60px;
}
.top .searchWrap01 {
    padding: 60px 28px;
}
.searchWrap01 .wrap01 {
    flex-direction: column;
    gap: 16px;
}
.searchWrap01 .wrap01 .wrapItem01 {
    width: 100%;
}
.searchWrap01 .logo01 {
    text-align: right;
    margin-bottom: 20px;
}
.searchAreaList01 {
    padding: 0 10px;
    gap: 24px;
}
.searchAreaList01 li {
    width: calc((100% - 24px) / 2);
    padding: 15px 10px 20px;
}
.searchAreaList01 li span{
    font-size: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.searchAreaList01 li span img {
    display: block;
    position: static;
    margin: 0 auto;
    transform: none;
    margin: 0 0 10px;
}
.searchAreaList01 li:last-of-type span img {
    margin: 5px 0 15px;
}
.searchAreaList01::after {
    height: 50%;
}
.searchWrap02 .wrap01 {
    margin: 20px 10px 0;
    padding: 32px 10px 42px;
}
.searchWrap02 .wrap01 .searchAreaContent01 .text01 {
    text-align: left;
}
.searchWrap02 .wrap01 .wrap02 {
    flex-direction: column;
    gap: 40px;
}
.searchAreaList02 {
    max-width: 100%;
    gap: 20px 0;
}
.searchAreaList02 li,.searchAreaList02:last-of-type li{
    width: 32%;
    margin-left: 2%;
	display: flex;
}
.searchAreaList02 li:nth-child(3n+1),.searchAreaList02:last-of-type li:nth-child(3n+1){
    margin-left: 0;
}
.searchAreaList02:last-of-type {
    max-width: 100%;
}
.searchAreaList02 li a {
    font-size: calc(16 / var(--rootFontSize) * 1rem);
	aspect-ratio: unset;
	flex-wrap: wrap;
	padding: 10px 5px 0;
	width: 100%;
}
.searchAreaList02 li a::after {
    display: none;
}
.searchAreaList02 li a span{
    position: static;
	width: 100%;
}
.searchAreaList02 li a em {
    font-size: calc(21 / var(--rootFontSize) * 1rem);
}
.searchAreaList02 li a img {
    margin: 0;
    transform: scale(0.9);
}
.searchAreaList02:last-of-type li a img {
    margin-top: 0;
}

/* 商品一覧
--------------------------------------- */
.itemWrap01 {
    padding: 25px 0;
}
.itemWrap01 .itemBoxList01{
    flex-wrap:wrap;
    padding: 0 10px;
    gap: 30px 11px;
}
.itemWrap01 .title01{
    font-size: calc(22 / var(--rootFontSize) * 1rem);
}
.itemWrap01 .itemBoxList01 > li {
    width: calc((100% - 11px) / 2);
}
.itemWrap01 .itemBoxList01 .category01 {
    margin-top: 10px;
}
.itemWrap01 .itemBoxList01 .category01 li {
    font-size: calc(10 / var(--rootFontSize) * 1rem);
}
.itemWrap01 .itemBoxList01 .title01 {
    line-height: 1.3;
    margin-top: 10px;
}
.itemWrap01 .itemBoxList01 .text02 {
    text-align: left;
}
.itemWrap01 .itemBoxList01.scrollSp01{
    overflow-x: auto;
    flex-wrap:nowrap;
    padding: 0 10px;
    margin-top: 25px;
    gap: 40px 20px;
}
.itemWrap01 .itemBoxList01.scrollSp01 > li {
    flex: 0 0 180px;
    width: 100%;
}
.itemWrap01 .itemBoxList01.scrollSp01 .text02 {
    text-align: right;
    margin-top: 10px;
}
.contents01 .itemWrap01 .itemBoxList01.scrollSp01{
    padding: 0;
}
.searchAreaList02:last-of-type li a {
    padding-top: 10px;
}

/* 概要
--------------------------------------- */
.introWrap01 {
    margin: 20px 0 0;
}
.introWrap01 .inner01 {
    max-width: 100%;
    background-image: url(../../img/deco01.png),url(../../img/img01_sp.jpg);
    background-image: image-set(url(../../img/deco01.png) 1x, url(../../img/deco01@2x.png) 2x),image-set(url(../../img/img01_sp.jpg) 1x, url(../../img/img01_sp.jpg) 2x);
    background-image: -webkit-image-set(url(../../img/deco01.png) 1x, url(../../img/deco01@2x.png) 2x),-webkit-image-set(url(../../img/img01_sp.jpg) 1x, url(../../img/img01_sp.jpg) 2x);
    background-position: left 28px top, left 10px top 40px;
    background-repeat: no-repeat;
    background-size: auto,calc(100% - 20px);
    padding: 98% 10px 0;
    position: relative;
}
.introWrap01 .title01 {
    font-size: calc(30 / var(--rootFontSize) * 1rem);
    letter-spacing: 0;
    padding-left: 18px;
}
.introWrap01 .title01::after {
    margin: 15px auto 0;
}
.introWrap01 .text01 {
    width: 100%;
    padding: 0 18px;
}
.introWrap01 .btn02 {
    top: 18px;
    right: 18px;
}
.introWrap01 .btn02 a {
    font-size: calc(14 / var(--rootFontSize) * 1rem);
    width: 116px;
    height: 116px;
    padding: 5px;
}
.introWrap01 .btn02 a::after {
    bottom: 10px;
    transform: translateX(50%) scale(0.7);
}
.introWrap01 .btn02 a img {
    width: 30px;
    height: auto;
}
.introWrap01 .box02 .inner02 {
    max-width: 100%;
    margin: 20px 0 0;
    padding: 35px 18px 210px;
}
.introWrap01 .box02 .inner02 > .text01 {
    padding: 0;
    margin: 50px 0 0;
}
.introWrap01 .box02 .inner02 .wrap01 {
    flex-wrap: wrap;
    gap: 16px 35px;
    position: relative;
    margin-top: 0;
}
.introWrap01 .box02 .inner02 .img01 {
    width: calc(100% - 164px);
}
.introWrap01 .box02 .inner02 .img01 img {
    width: 100%;
    height: auto;
}
.introWrap01 .box02::before{
    width: 309px;
    height: 275px;
    background-image: url(../../img/img03_sp.png);
    bottom: -85px;
    right: 6.5%;
}
.introWrap01 .box02 .inner02::before {
    display: none;
}
.introWrap01 .box02 .inner02 .wrap01::before {
    content: "";
    width: 71px;
    height: 71px;
    background-image: url(../../img/deco02.png);
    background-image: image-set(url(../../img/deco02.png) 1x, url(../../img/deco02@2x.png) 2x);
    background-image: -webkit-image-set(url(../../img/deco02.png) 1x, url(../../img/deco02@2x.png) 2x);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 140px;
    left: 18%;
}
.introWrap01 .btn01{
    padding: 0 18px;
}
.introWrap01 .btn01 button {
    width: 100%;
}
.introWrap01 .box02 {
    margin-bottom: 30px;
}
.contents01 .informationWrap01 .inner01 {
    padding-bottom: 30px;
}

/* お知らせ
--------------------------------------- */
.informationWrap01 .frameArea01 dt {
    font-size: calc(14 / var(--rootFontSize) * 1rem);
    width: 90px;
}
.informationWrap01 .frameArea01 dd {
    font-size: calc(14 / var(--rootFontSize) * 1rem);
}
.informationWrap01 .frameArea01 dd a{
    text-decoration: underline;
}
.informationWrap01 .frameArea01 {
    padding: 0 10px;
}
.contents01 .informationWrap01 {
    padding: 60px 0 0;
}
.contents01 .informationWrap01 ul li {
    padding: 25px 15px;
}
.siteWrap01 {
    padding: 50px 0 0;
}

/* 関連サイト
--------------------------------------- */
.bnrList01 {
    padding: 0 28px;
}

/* SNS
--------------------------------------- */
.snsWrap01 {
    padding: 50px 0;
}

/* フッタートップ
--------------------------------------- */
.footer01 {
    padding: 40px 28px 58px;
}
.footer01 nav {
    display: block;
}
.footer01 .wrap01 {
    display: block;
}
.footer01 .wrap01 .footCol01.type02{
    padding-left: 1em;
}
.footer01 .footLink01{
    margin: 20px 0 0;
}
.footer01 .footerTitel01 {
    margin: 20px 0 0;
}

#ct_bg .contents01 > .inner01 {
    padding: 20px 10px 60px;
}
#ct_bg .contents01 > .inner01 .logo01{
    text-align: right;
    margin-bottom: 30px;
    padding-right: 20px;
}
#ct_bg .subSectionList01{
    gap: 17px 0;
}
#ct_bg .subSectionList01 li{
    width: 50%;
}
#ct_bg .subSectiontab01 ul{
    overflow-x: auto;
}
#ct_bg .subSectiontab01 ul li{
    padding: 11px 40px;
    flex-shrink: 0;
}
#ct_bg .manualList01 li a {
    line-height: 1.5;
}
#ct_bg .contents01 .col01 .mainImg01 {
    display: none;
}
#ct_bg .col02 .heading01{
    font-size: calc(20 / var(--rootFontSize) * 1rem);
}
#ct_bg .col02 .text01 {
    font-size: calc(16 / var(--rootFontSize) * 1rem);
}
#ct_bg .col02 .text03 {
    margin-top: 25px;
}
#ct_bg .contents01 .button01 .cart01 {
    font-size: calc(16 / var(--rootFontSize) * 1rem);
    margin-top: 30px;
    padding: 14px 60px;
}
#ct_bg .contents01 .button01 .cart02 {
    font-size: calc(16 / var(--rootFontSize) * 1rem);
    margin-top: 30px;
    padding: 14px 60px;
}
#ct_bg .col02 .wrap02 .col04 p {
    display: none;
}
#ct_bg .contents01 .col01 .subImg01 .swiper-initialized + .swiper-button-prev,#ct_bg .contents01 .col01 .subImg01 .swiper-initialized + .swiper-button-prev +  .swiper-button-next{
    display: none;
}
#ct_bg .contents01 .col01 .subImg01 .swiper-pagination {
    position: static;
    margin-top: 5px;
    display: block;
}
#ct_bg .contents01 .col01 .subImg01 .swiper-pagination .swiper-pagination-bullet{
    width: 40px;
    height: 4px;
    border-radius: 2px;
    background: #CDD6DD;
    opacity: 1;
    margin: 0 5px;
}
#ct_bg .contents01 .col01 .subImg01 .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{
    background: var(--mainColor);
}
#ct_bg .col02 .wrap02 .col03 {
    flex: 1;
}
#ct_bg .col02 .wrap02 .col04 {
    width: 100px;
}
#ct_bg .col02 .wrap02 .col04 .list02 {
    gap: 10px;
}
#ct_bg .col02 .wrap02 .col03 .list01 li {
    padding: 3px 10px 5px;
}

#ct_bg .contents01 .subSectionWrap01 .inner01 {
    max-width: 100%;
    padding: 10px 25px 170px;
}
#ct_bg .contents01 .subSectionWrap01 .logo01 {
    text-align: right;
    position: relative;
    top: -30px;
}
#ct_bg .contents01 .subSectionWrap01 .title01 {
    font-size: calc(16 / var(--rootFontSize) * 1rem);
}
#ct_bg .contents01 .subSectionWrap01 h2.title01 {
    font-size: calc(24 / var(--rootFontSize) * 1rem);
}
#ct_bg .contents01 .subSectionWrap01 .text01 {
    font-size: calc(12 / var(--rootFontSize) * 1rem);
    text-align: left;
}
#ct_bg .contents01 .subSectionWrap01 .btn01 a{
    width: 100%;
	margin-top: 20px;
}
#ct_bg .contents01 .subSectionWrap01 .btn01.anchor01 a::before,#ct_bg .contents01 .subSectionWrap01 .btn01.anchor01 a::after {
    right: 12px;
}
#ct_bg .contents01 .subSectionWrap02 {
    padding: 40px 0 0;
}
#ct_bg .contents01 .subSectionWrap01 + .subSectionWrap02 {
    padding-top: 130px;
}
#ct_bg .contents01 .subSectionWrap02 .inner01{
    padding: 0 28px;
}
#ct_bg .contents01 .subSectionWrap02 .wrap01 {
	flex-direction: column;
    gap: 20px;
	margin-bottom: 50px;
}
#ct_bg .contents01 .subSectionWrap02 .wrap01.reverse {
	flex-direction: column;
}
#ct_bg .contents01 .subSectionWrap02 .wrap01 .box01 {
	flex-direction: column;
	gap: 30px;
}
#ct_bg .contents01 .subSectionWrap02 .wrap01 .box01.reverse {
	flex-direction: column;
}
#ct_bg .contents01 .subSectionWrap02 .wrap01 .box02 {
    width: 100%;
}
#ct_bg .contents01 .subSectionWrap02 .wrap01 .box02 .img01 img{
    width: 100%;
	height: auto;
}
#ct_bg .contents01 .subSectionWrap02 h2.title01 {
    margin-bottom: 40px;
}
#ct_bg .contents01 .subSectionWrap02 .inner01 .text01 {
    text-align: left;
}
#ct_bg .contents01 .subSectionWrap02 .inner01 .notes01 {
    margin-top: 10px;
}
#ct_bg .contents01 .subSectionWrap02 .wrap02 {
	flex-direction: column;
    gap: 30px;
    margin-top: 20px;
}
#ct_bg .contents01 .subSectionWrap02 .wrap02 .box01 .text02 {
    line-height: 1.5;
}
#ct_bg .contents01 .cautionWrap01 {
    padding: 0 10px;
}
#ct_bg .contents01 .cautionWrap01 .inner01 {
    padding: 40px 12px;
	border-width: 8px;
}
#ct_bg .contents01 .cautionWrap01 .inner01 .strong01 {
    text-align: left;
	line-height: 1.5;
	margin-bottom: 25px;
}
#ct_bg .contents01 .cautionWrap01 .list01 > li {
	line-height: 1.5;
}
#ct_bg .contents01 .cautionWrap01 .list01 > li ul {
    padding: 15px 0 0;
}
.btn01 a.externalLink01 {
    width: 100%;
}
#ct_bg .contents01 .subSectionWrap02 .wrap02 .box01 {
    max-width: 100%;
}

}

@media (max-width:480px){
    .searchAreaList02 li a {
        font-size: calc(12 / var(--rootFontSize) * 1rem);
    }
    .searchAreaList02 li a em {
        font-size: calc(17 / var(--rootFontSize) * 1rem);
    }
    .searchAreaList02 li a span {
        top: 10px;
    }
    .searchAreaList02 li a img {
        transform: scale(0.8);
    }
    .searchAreaList02 li a::after {
        bottom: 10px;
    }
}
@media (max-width:414px){
    .searchAreaList02 li a span {
        top: 5px;
    }
    .searchAreaList02 li a img {
        transform: scale(0.6);
    }
    .searchAreaList02 li a::after {
        bottom: 5px;
    }

}