@charset "utf-8";
/* CSS Document */

/* homVisual */
#homVisual {position: relative;}
.mainSlider {background: #fff; aspect-ratio: 1366/496;}
.mainSlider div a {display: block; width: 100%; height: 100%; position: relative; aspect-ratio: 1366/496; overflow: hidden;}
.mainSlider div a img {width: 100%; height: 100%; object-fit: cover;}
.mainSlider div a:hover::before {content: ""; width: 100%; height: 100%; position: absolute; left: 0; top: 0; background: rgba(255,255,255,0.1); z-index: 10;}

.homVis__prev,.homVis__next {position: absolute; bottom: max(-2.6vw, -32px); left: 50%; background: url("../img/common/ic-arrow-06.svg") center center / cover no-repeat; aspect-ratio: 96/150; width: min(0.75vw,9px); cursor: pointer;}
.homVis__pause {position: absolute; bottom: max(-3.6vw, -38px); left: 50%; center center / cover no-repeat; aspect-ratio: 96/150; width: min(0.75vw,9px); cursor: pointer;}

.homVis__prev {transform: translateX(-300%) rotate(-180deg); }
.homVis__next {transform: translateX(200%);}
.homVis__pause {transform: translateX(200%);}

@media (max-width: 767px) {
 .mainSlider {background: #fff; aspect-ratio: 750/469;}
 .mainSlider div a {aspect-ratio: 750/469;}
 .homVis__prev,.homVis__next {bottom: max(-6vw, -50px); width: min(2.1vw,16px); }
 .homVis__pause {bottom: max(-8vw, -50px); width: min(2.1vw,16px); }

}


/* homLinks */
#homLinks {margin: min(10vw,120px) auto 0;}
.homLinks__btn {column-gap: min(5vw,60px); margin-bottom: min(4.58vw ,55px);}
.homLinks__btn li {width: min(39%,386px); text-align: center; font-size: min(2.5vw,3rem); font-weight: 600; line-height: 1.1; height: min(7.92vw,9.5rem); align-items: center; border-radius: min(0.83vw, 10px);}
.homLinks__btn li a {color: #fff; display: block; width: 100%; height: 100%; border-radius: min(0.83vw, 10px); padding: min(0.83vw, 10px)  min(2.92vw,35px) min(0.83vw, 10px) 0; position: relative; }
.homLinks__btn li a span {font-size: min(1.83vw,2.2rem);}
.homLinks__btn li.homLinks__btn__life a {background: rgb(0,70,140); background: linear-gradient(0deg, rgba(0,70,140,1) 0%, rgba(0,57,140,1) 50%, rgba(0,140,214,1) 100%);}
.homLinks__btn li.homLinks__btn__cancer a {background: rgb(0,103,199); background: linear-gradient(0deg, rgba(0,103,199,1) 0%, rgba(0,127,197,1) 40%, rgba(0,174,255,1) 100%);}
.homBtn__apply {width: min(24vw,289px); margin: 0 auto;}
.homBtn__apply a {background: var(--c-red); color: #fff; align-items: center; font-size: min(2.5vw,3rem); height: min(5.83vw,70px); padding: min(0.4vw, 5px) min(2.92vw,35px) min(0.4vw, 5px) 0; position: relative; border-radius: min(0.83vw, 10px); font-weight: 600;}

.homLinks__btn li a::before, .homBtn__apply a::before {content: ""; background: url("../img/common/ic-arrow-02.svg") center center / cover no-repeat; aspect-ratio: 240/150; position: absolute; width: min(2vw,24px); right: min(2.08vw,25px); top: 50%; transform: translateY(-50%) rotate(-90deg);}

@media (max-width: 767px) {
  #homLinks {margin: min(15vw,120px) auto 0;}
 .homLinks__btn {column-gap:0; margin-bottom:0;}
 .homLinks__btn li {width: 100%; font-size: min(5.2vw,3.9rem); height: min(13.6vw,10.2rem); border-radius: min(2vw, 10px); margin-bottom: min(4vw,30px);}
 .homLinks__btn li a {padding:min(3.5vw, 20px) min(4vw, 30px) 0 0; border-radius: min(2vw, 10px); }
 .homLinks__btn li a span {font-size: min(3.7vw,2.8rem); margin-right: 0.5em;}
 .homBtn__apply {width: 100%;}
 .homBtn__apply a {font-size: min(5.2vw,3.9rem); height: min(13.6vw,10.2rem);padding:0 min(4vw, 30px) 0 0;  border-radius: min(2vw, 10px);}
 .homLinks__btn li a::before, .homBtn__apply a::before {width:min(4vw,30px); right: min(2.7vw,20px);}
}

/* homNotice */
#homNotice {margin: min(5.4vw,65px) auto 0;}
#homNotice h2 {text-align: center; font-size: min(2vw,2.5rem); font-weight: 600; margin-bottom: min(1.66vw, 20px);}
.homNotice__wrap {border: 1px solid var(--c-red); padding: min(2.08vw,25px) min(4.58vw,55px);}
.homNotice__wrap ul li {position: relative; padding-left: 11em; margin: min(1.25vw,15px) 0; line-height: 1.5;}
.homNotice__wrap ul li span {position: absolute;  left: 1.5em; }
.homNotice__wrap ul li::before {content: ""; background: url("../img/common/ic-arrow-01.svg") center center / cover no-repeat; aspect-ratio: 24/15; height: min(0.75vw, 9px); position: absolute; left: 0; top: 0.5em; transform: rotate(-90deg);}

@media (max-width: 767px) {
 #homNotice {margin: min(6.7vw,50px) auto 0;}
 #homNotice h2 {font-size: min(3.9vw,2.9rem); margin-bottom: min(2vw, 15px);}
 .homNotice__wrap { padding:min(2.7vw,20px);}
 .homNotice__wrap ul li {padding-left: 1.25em; margin: min(2vw,15px) 0; font-size: min(2.8vw,2.1rem); }
 .homNotice__wrap ul li span {position: relative; left: inherit; display: block;}
 .homNotice__wrap ul li::before {height: min(1.6vw, 12px);}
}

/* homBnr */
#homBnr {margin: min(5.83vw,70px) auto 0;}
.homBnr__list {column-gap: 2%;}
.homBnr__list li {width: 32%; margin-bottom: 2%;}
.homBnr__list li a {display: block; position: relative;}

@media (max-width: 767px) {
 #homBnr {margin: min(9.3vw,70px) auto 0; width: 84%;}
 .homBnr__list {column-gap: 0;}
 .homBnr__list li {width: 100%; margin-bottom: 4%; }
 .homBnr__list li:nth-child(n+5) {display: none;}
 .homBnr__btn {margin: min(2.7vw,20px) auto 0; width: 55%; display: block; border-radius: 30vw; border: 1px solid var(--c-red); text-align: center; padding: min(1.3vw, 10px); position: relative;}
 .homBnr__btn::before, .homBnr__btn::after{content: ""; width: min(3.9vw,27px); height: 1px; background: var(--c-red); position: absolute; right: min(2.7vw,20px); top: 50%; transform: translateY(-50%); transition: 0.3s all ease-in-out;}
 .homBnr__btn::after {transform: translateY(-50%) rotate(90deg);}
 .homBnr__btn.close::after {transform: translateY(-50%) rotate(0);}
}

/* homBrand */
#homItem {margin: min(10vw,120px) auto 0;}
.homItem__tab li {width: 50%; text-align: center; background: #e6e6e6; color: #989898; font-weight: 700; font-size: min(2.17vw,2.6rem); padding: min(1.25vw, 15px); border-radius: min(0.8vw, 10px) min(0.8vw, 10px) 0 0; cursor: pointer;}
.homItem__tab li.is_active {background: var(--c-red); color: #fff; box-shadow:3px 1px 5px 0 rgba(0,0,0,0.4); position: relative; z-index: 1;}

.homItem__wrap {border-top: min(0.5vw,6px) solid var(--c-red); position: relative; z-index: 1;}
.homItem {display: none; }
.homItem.is_active {display: block;}

.homItem--customer {background: #faf6ec; padding: min(3.75vw,45px) 0 min(6.25vw, 75px);}
.homItem--customer h2 {font-size: min(3.08vw,3.7rem); font-weight: 600; margin-bottom: min(1.66vw, 20px);}
.homBrand {width: 48.7%;  background: #fff; box-shadow: 2px 2px 5px 0 rgba(0,0,0,0.2); padding: min(1.83vw,22px); border-radius: min(0.83vw,10px); display: flex; display: -webkit-flex; flex-direction: column; margin-bottom: 2.6%;}
.homBrand__outline {position: relative; flex-grow: 1; min-height: min(15vw,18rem);}
.homBrand__catch {font-size: min(1.83vw,2.2rem); line-height: 1.2; margin-bottom: min(0.83vw,10px); font-weight: 600;}
.homBrand__img {position: absolute; right: 0; top: 0;}
.homBrand__name p {line-height: 1.3;}
.homBrand__more a{display: block; background: #fff; border: 2px solid var(--c-red); border-radius: 30vw; width: 70%; margin: 0 auto; font-size: min(1.5vw, 1.8rem); text-align: center; padding: min(0.4vw, 5px); font-weight: 700; position: relative;}
.homBrand__more a::before{content: ""; background: url("../img/common/ic-arrow-01.svg") center center / cover no-repeat; aspect-ratio: 240/150; height: min(0.75vw,9px); position: absolute; right: min(2vw,25px); top: 50%; transform: translateY(-50%) rotate(-90deg);}

.homBrand__btn ul {margin-top: min( 1.25vw , 15px); column-gap: min(1.66vw, 20px);}
.homBrand__btn ul li {flex: 1; text-align: center; }
.homBrand__btn ul li a{display: block; background: var(--c-red); color: #fff; font-weight: 600; padding:min(0.66vw, 8px); position: relative; border-radius: min(0.4vw,5px);}
.homBrand__btn ul li a::before{content: ""; background: url("../img/common/ic-arrow-02.svg") center center / cover no-repeat; aspect-ratio: 240/150; height: min(0.66vw,8px); position: absolute; right: min(1vw,12px); top: 50%; transform: translateY(-50%) rotate(-90deg);}

.homBrand__btn ul li a.btn--disable {cursor: default; background: #fff; border:1px solid #e2e2e2; color:#e2e2e2; }
.homBrand__btn ul li a.btn--disable:hover{opacity: 1;}
.homBrand__btn ul li a.btn--disable::before{background-image: url("../img/common/ic-arrow-04.svg"); aspect-ratio: 75/150; width: min(0.66vw,8px); height: auto;transform: translateY(-50%); opacity: 0.1;}

.homBrand--01 .homBrand__name h3 img {width: min(12.5vw, 150px);}
.homBrand--01 .homBrand__img {width: min(14vw,168px);}
.homBrand--02 .homBrand__name h3 img {width: min(20.67vw, 248px);}
.homBrand--02 .homBrand__img {width: min(6.67vw,80px); top: inherit; bottom: 0; right:  min(6.67vw,80px);}
.homBrand--03 .homBrand__name h3 img {width: min(20.67vw, 248px);}
.homBrand--03 .homBrand__img {width: min(15.42vw,185px);}
.homBrand--04 .homBrand__name h3 img {width: min(15.17vw, 182px);}
.homBrand--04 .homBrand__img {width: min(14vw,168px);}
.homBrand--05 .homBrand__name h3 img {width: min(16.83vw, 202px);}
.homBrand--05 .homBrand__img {width: min(11.33vw,136px);}

.homItem--member {background: #fdebe7; padding: min(8.3vw,100px) 0 min(6.25vw, 75px);}
.homItem__cont {width: 48.7%; background: #fff; padding: min(1.25vw,15px) min(1.83vw,22px); border-radius: min(0.83vw,10px);  margin-bottom: 2.6%; box-shadow: 2px 2px 5px 0 rgba(0,0,0,0.2); }
.homItem__title {align-items: center; margin-bottom: min(0.8vw, 10px); transition: 0.3s all ease-in-out;}
.homItem__title h3 {font-size: min(2.08vw,2.5rem); font-weight: 600; line-height: 1.3;}
.homItem__icon {width: min(10vw,120px)}
.homItem__link {border-top: 1px solid #c0c0c0; text-align: center; padding-top: min(0.83vw, 10px); transition: 0.3s all ease-in-out;}
.homItem__link span {font-size: min(1.42vw,1.7rem); padding-right: 2em; position: relative; display: inline-block; line-height: 1; font-weight: 500;}
.homItem__link span::before {content: ""; background: url("../img/common/ic-arrow-01.svg") center center / cover no-repeat; aspect-ratio: 240/150; height: min(0.75vw,9px); position: absolute; right: 0; top: 50%; transform: translateY(-50%) rotate(-90deg);}

@media (max-width: 767px) {
 #homItem {margin: min(10vw,120px) auto 0;}
 .homItem__tab li {font-size: min(3.9vw,2.9rem); padding: min(2vw, 15px); border-radius: min(2vw, 10px) min(2vw, 10px) 0 0; }
 .homItem__wrap {border-top-width: min(0.8vw,6px);}

 .homItem--customer {padding: min(4vw,30px) 0 min(8vw, 60px);}
 .homItem--customer h2 {font-size: min(6vw,4.6rem);  margin-bottom: min(2.7vw, 20px);}
 .homBrand {width: 100%; padding: min(4vw,30px); border-radius: min(2vw,10px); margin-bottom: 2.6%;}
 .homBrand__outline { min-height: inherit; display: flex; display: -webkit-flex; justify-content: space-between; margin-bottom: min(2.7vw,20px);}
 .homBrand--02  .homBrand__outline {margin-bottom: 0;}
 .homBrand__catch {font-size: min(4.3vw,3.2rem); margin-bottom: min(2.5vw,20px); }
 .homBrand__name p {font-size: min(3vw,2.3rem);}
 .homBrand__more a{ width: 100%; font-size: min(4vw, 3rem); padding: min(1.3vw, 10px);}
 .homBrand__more a::before{height: min(1.9vw, 14px); right: min(4.7vw, 35px);}

 .homBrand__btn ul {margin-top: min(3.3vw , 25px); column-gap: min(1.5vw, 20px);}
 .homBrand__btn ul li a{padding:min(1.7vw, 13px); border-radius: min(1vw,5px); border: 1px solid var(--c-red);}
 .homBrand__btn ul li a::before{height: min(1.5vw,11px); right:  min(2.7vw, 20px); }
 .homBrand__btn ul li a.btn--disable::before{width: min(1.5vw,11px);}

 .homBrand .homBrand__img {position: relative; right: inherit; top: inherit;} 
 .homBrand--01 .homBrand__name h3 img {width: min(29.1vw, 218px);}
 .homBrand--01 .homBrand__img {width: 36%;}
 .homBrand--02 .homBrand__name h3 img {width: min(47.9vw, 359px);}
 .homBrand--02 .homBrand__img {width: 38%; text-align: center;}
 .homBrand--02 .homBrand__img img {width: min(14.7vw,110px);}
 .homBrand--03 .homBrand__name h3 img {width: min(47.9vw, 359px);}
 .homBrand--03 .homBrand__img {width: 38%;}
 .homBrand--04 .homBrand__name h3 img {width: min(35.1vw, 263px);}
 .homBrand--04 .homBrand__img {width: 40%;}
 .homBrand--05 .homBrand__name h3 img {width: min(39.1vw, 293px);}
 .homBrand--05 .homBrand__img {width: 32%;}

 .homItem--member {padding: min(9.3vw,70px) 0 min(8vw, 60px);}
 .homItem__cont { padding: min(4vw,30px) 0; border-radius: min(2vw,10px);}
 .homItem__title {margin-bottom: min(4vw, 15px); display: flex; display: -webkit-flex; flex-direction: column;}
 .homItem__title h3 {font-size: min(4.3vw,3.2rem);text-align: center; min-height: 5em;}
 .homItem__icon {width: min(20vw,150px);}
 .homItem__link {width:79%; margin: 0 auto; padding-top: min(2vw, 10px);}
 .homItem__link span {font-size: min(4vw,3rem); padding-right: 1em; }
 .homItem__link span::before {height: min(1.9vw, 14px);}

}

/* homTopics */
#homTopics{ margin: min(5vw, 60px) auto 0;}
.homNews {margin: min(2.5vw, 30px) 0 0; }
.homNews h2 {font-size: min(2.67vw,3.2rem); border-bottom: 1px solid var(--c-red); padding-bottom: min(0.4vw, 5px); margin-bottom: min(1.66vw, 20px); font-weight: 600;}
.homNews__list li {padding: min(1.25vw,15px) 0; border-bottom: 1px dotted #8c8c8c; font-size: min(1.25vw, 1.5rem);}
.homNews__list li a {font-weight: 600;}
a.link--pdf {padding-right: 2em; position: relative; display: inline-block;}
a.link--pdf::before {content: ""; background: url("../img/common/ico_pdf.png") center center / contain no-repeat; aspect-ratio: 14/16; width: 14px; position: absolute; right: 0; top: 50%; transform: translateY(-50%);}

.homNews__list li dt {font-weight: 600;}
.homNews__list li dd {padding-left: 1em; text-indent: -1em; line-height: 1.5; margin: min(0.4vw, 5px) 0;}
.homNews__list li dd::before{content: "・"; }
.homNews__list li dd a {font-weight: normal;}

@media (max-width: 767px) {
 #homTopics{ margin: min(5vw, 60px) auto 0;}
 .homNews {margin:0; position: relative;}
 .homNews:not(:first-child) {margin-top:5vw;}
 .homNews h2 {font-size: min(4.5vw,3.4rem); padding-bottom: min(1vw, 10px); margin-bottom:0;}
 .homNews__list li {padding: min(2.7vw,20px) 0; font-size: min(2.8vw, 2.1rem);}
 .homNews__list li dd {margin: min(0.8vw, 5px) 0;}
 .homNews__btn {position: absolute; right: 0; top: 0; border: 1px solid var(--c-red); font-size: min(2.8vw, 2.1rem);}
 .homNews__btn a {color: var(--c-red); display: block; line-height: 1;  padding: min(1.3vw,10px) min(2.6vw,20px) min(1.3vw,10px) 1.5em; position: relative;}
 .homNews__btn a::before {content: ""; background: url("../img/common/ic-arrow-01.svg") center center / cover no-repeat; aspect-ratio: 240/150; height: min(1.7vw, 13px); position: absolute; left: 0.5em; top: 50%; transform: translateY(-50%) rotate(-90deg);}
}

@media (min-width:768px) {
 .homLinks__btn li:hover,
 .homBtn__apply a:hover,
 .homBrand__btn ul li a:hover,
 .homBnr__list li a:hover,
 .homItem__cont:hover .homItem__title, .homItem__cont:hover .homItem__link{
  opacity: 0.75;
  }
 .homBrand__more a:hover {opacity: 0.7;}
 .homNews__list li a:hover,.homNotice__wrap ul li a:hover {text-decoration: underline;}
}
