@charset "utf-8";

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 homeSlider 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.homeSlider { background-color: #f5f5f5; padding-bottom: 80px; }
.homeSlider div.sliderType0 { background-color: #3970b3; }
.homeSlider div.sliderType1 { background-color: #abdbf1; }
.homeSlider div.sliderType2 { background-color: #ddada1; }
.homeSlider div.sliderType3 { background-color: #ffd03a; }
.homeSlider div.sliderType4 { background-color: #a7e568; }
.homeSlider div.sliderType5 { background-color: #66cead; }
.homeSlider div.sliderType6 { background-color: #ff87e0; }
.homeSlider div a { display: block; max-width: 1150px; margin-right: auto; margin-left: auto; }
.homeSlider div a span { position: relative; display: block; background-repeat: no-repeat; background-position: left top; background-size: cover; font-size: 0; line-height: 0; padding-top: calc( 340 / 1150 * 100% ); }
.homeSlider div.typeAbout a span { background-image: url(/cms/cwc/research/images/home_slider1_about.jpg); }
.homeSlider div.type20251121 a span { background-image: url(/cms/cwc/research/images/home_slider1_20251121.jpg); }
.homeSlider div.type20250610 a span { background-image: url(/cms/cwc/research/images/home_slider1_20250610.jpg); }
.homeSlider div.type20241213 a span { background-image: url(/cms/cwc/research/images/home_slider1_20241213.jpg); }
.homeSlider div.type20240610 a span { background-image: url(/cms/cwc/research/images/home_slider1_20240610.jpg); }
.homeSlider div.type20231129 a span { background-image: url(/cms/cwc/research/images/home_slider1_20231129.jpg); }
.homeSlider div.type20230531 a span { background-image: url(/cms/cwc/research/images/home_slider1_20230531.jpg); }
.homeSlider div.type20221128 a span { background-image: url(/cms/cwc/research/images/home_slider1_20221128.jpg); }
.homeSlider div a span::before,
.homeSlider div a span::after { position: absolute; bottom: 0; left: 0; overflow: hidden; display: block; border-radius: 20px; width: calc( 220 / 1150 * 100% ); height: 0; background-size: cover; content: ""; padding-top: calc( 40 / 1150 * 100% ); margin-bottom: calc( 25 / 1150 * 100% ); margin-left: calc( 125 / 1150 * 100% ); }
.homeSlider div a span::before { background-image: url(/cms/cwc/research/images/home_slider_btn2.gif); opacity: 0; }
.homeSlider div a span::after { background-image: url(/cms/cwc/research/images/home_slider_btn1.gif); }

@media screen and (min-width: 821px) {
	.homeSlider a span::before,
	.homeSlider a span::after { transition: 0.2s ease; }
	.homeSlider a:hover span::before { opacity: 1; }
	.homeSlider a:hover span::after { opacity: 0; }
}

@media screen and (max-width: 767px) {
	.homeSlider { padding-bottom: 50px; }
	.homeSlider div a { max-width: 500px; }
	.homeSlider div a span { padding-top: calc( 180 / 375 * 100% ); }
	.homeSlider div.typeAbout a span { background-image: url(/cms/cwc/research/images/home_slider2_about.jpg); }
	.homeSlider div.type20251121 a span { background-image: url(/cms/cwc/research/images/home_slider2_20251121.jpg); }
	.homeSlider div.type20250610 a span { background-image: url(/cms/cwc/research/images/home_slider2_20250610.jpg); }
	.homeSlider div.type20241213 a span { background-image: url(/cms/cwc/research/images/home_slider2_20241213.jpg); }
	.homeSlider div.type20240610 a span { background-image: url(/cms/cwc/research/images/home_slider2_20240610.jpg); }
	.homeSlider div.type20231129 a span { background-image: url(/cms/cwc/research/images/home_slider2_20231129.jpg); }
	.homeSlider div.type20230531 a span { background-image: url(/cms/cwc/research/images/home_slider2_20230531.jpg); }
	.homeSlider div.type20221128 a span { background-image: url(/cms/cwc/research/images/home_slider2_20221128.jpg); }
	.homeSlider div a span::before { display: none; }
	.homeSlider div a span::after { border-radius: 30px; width: calc( 155 / 320 * 100% ); padding-top: calc( 28 / 320 * 100% ); margin-bottom: calc( 10 / 320 * 100% ); margin-left: calc( 20 / 320 * 100% ); }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 homeMain 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.homeMain { overflow: hidden; background-color: #f5f5f5; font-feature-settings: "palt";  }
.homeMain .mainInner { padding: 0 calc( 50 / 1100 * 100% ) 60px; }
.homeList { max-width: 1150px; margin-right: auto; margin-left: auto; }

@media screen and (max-width: 767px) {
	.homeMain .mainInner { padding: 0 calc( 15 / 320 * 100% ) 40px; }
	.homeList { max-width: 500px; }
}



/* ――――――――――――――――――――――――――――――
［ homeRanking ］
―――――――――――――――――――――――――――――― */

.homeRanking { margin-bottom: 100px; }
.homeRanking .rankingTitle { font-size: 3rem; line-height: 4rem; font-weight: 700; text-align: center; font-feature-settings: "palt"; margin-bottom: 40px; }
.homeRanking .rankingList { font-size: 0; line-height: 0; }
.homeRanking .rankingList a { position: relative; display: inline-block; width: calc( 214 / 1150 * 100% ); text-decoration: none; }
.homeRanking .rankingList a:not(:last-child) { margin-right: calc( 20 / 1150 * 100% ); }
.homeRanking .rankingList a::before,
.homeRanking .rankingList a::after { position: absolute; display: block; content: ""; margin-left: calc( 8 / 214 * 100% ); }
.homeRanking .rankingList a::before { top: -14px; left: 0; width: 36px; height: 33px; background-color: #514642; font-size: 2.2rem; line-height: 4rem; color: #ffffff; text-align: center; }
.homeRanking .rankingList a::after { top: 12px; left: 0; width: 0; height: 0; border-style: solid; border-width: 7px 0 7px 36px; border-color: transparent transparent transparent #514642; }
.homeRanking .rankingList a:nth-child(1)::before { content: "1"; }
.homeRanking .rankingList a:nth-child(2)::before { content: "2"; }
.homeRanking .rankingList a:nth-child(3)::before { content: "3"; }
.homeRanking .rankingList a:nth-child(4)::before { content: "4"; }
.homeRanking .rankingList a:nth-child(5)::before { content: "5"; }
.homeRanking .rankingList a dl dt { background-color: #ffffff; padding: calc( 12 / 214 * 100% ); margin-bottom: 10px; }
.homeRanking .rankingList a dl dd { font-size: 1.5rem; line-height: 1; padding-right: calc( 12 / 214 * 100% ); padding-left: calc( 12 / 214 * 100% ); }

@media screen and (min-width: 821px) {
	.homeRanking .rankingList a { transition: 0.2s ease; }
	.homeRanking .rankingList a:hover { opacity: 0.7; }
}

@media screen and (max-width: 767px) {
	.homeRanking { margin-bottom: 40px; }
	.homeRanking .rankingTitle { font-size: 1.8rem; line-height: 2.8rem; margin-bottom: 30px; }
	.homeRanking .rankingList a { width: calc( 140 / 290 * 100% ); }
	.homeRanking .rankingList a:nth-child(n+3) { margin-top: 30px; }
	.homeRanking .rankingList a:not(:last-child) { margin-right: 0; }
	.homeRanking .rankingList a:nth-child(odd) { margin-right: calc( 10 / 290 * 100% ); }
	.homeRanking .rankingList a::before,
	.homeRanking .rankingList a::after { margin-left: 5px; }
	.homeRanking .rankingList a::before { top: -8px; width: 23px; height: 21px; font-size: 1.4rem; line-height: 2.5rem; }
	.homeRanking .rankingList a::after { top: 9px; border-width: 4px 0 4px 23px; }
	.homeRanking .rankingList a dl dt { margin-bottom: 6px; }
	.homeRanking .rankingList a dl dd { font-size: 1.4rem; }
}



/* ――――――――――――――――――――――――――――――
［ search-type1 ］
―――――――――――――――――――――――――――――― */

.search-type1 { position: relative; font-size: 0; line-height: 0; font-feature-settings: "palt"; margin-bottom: 24px; }
.search-type1::after { position: absolute; bottom: -4px; left: 0; display: block; width: 100%; height: 5px; background-color: #306fb5; content: ""; }
.search-type1 .search-type1__item { position: relative; display: inline-block; width: calc((100% - 8px) / 2); background-color: #d9d9d9; border-radius: 6px 6px 0 0; font-size: 3rem; line-height: 3rem; font-weight: 700; text-align: center; vertical-align: top; cursor: pointer; padding: 11px 9px 8px; }
.search-type1 .search-type1__item::after { position: absolute; top: 0; right: 16px; bottom: 0; display: block; width: 15px; height: 15px; border: solid #6e6e6e; border-width: 0 3px 3px 0; content: ""; transform: rotate(-45deg); margin-top: auto; margin-bottom: auto; }
.search-type1 .search-type1__item:nth-child(2) { margin-left: 8px; }
.search-type1 .search-type1__item.active { background-color: #306fb5; color: #ffffff; }
.search-type1 .search-type1__item.active::after { border-color: #ffffff; }

@media screen and (max-width: 1100px) {
	.search-type1 .search-type1__item { font-size: 2.2rem; }
}

@media screen and (min-width: 821px) {
	.search-type1 .search-type1__item,
	.search-type1 .search-type1__item::after { transition: 0.2s ease; }
	.search-type1 .search-type1__item:hover { background-color: #306fb5; color: #ffffff; font-weight: 700; }
	.search-type1 .search-type1__item:hover::after { border-color: #ffffff; }
}

@media screen and (max-width: 767px) {
	.search-type1 .search-type1__item span { display: none; }
	.search-type1 .search-type1__item { width: calc((100% - 2px) / 2); font-size: 1.6rem; line-height: 2.2rem; padding: 6px 5px 5px; }
	.search-type1 .search-type1__item::after { right: 10px; width: 7px; height: 7px; border-width: 0 1px 1px 0; }
	.search-type1 .search-type1__item:nth-child(2) { margin-left: 2px; }
	.search-type1 .search-type1__item.active { font-size: 1.6rem; }
}



/* ――――――――――――――――――――――――――――――
［ search-type2 ］
―――――――――――――――――――――――――――――― */

.search-type2 { overflow: hidden; font-size: 0; line-height: 0; font-feature-settings: "palt"; margin: 0 -5px 90px; }
.search-type2 .search-type2__item { position: relative; display: none; width: calc((100% - 40px) / 4); background-color: #ffffff; border: solid 1px #828282; border-radius: 6px; font-size: 1.8rem; line-height: 2rem; font-weight: 700; cursor: pointer; padding: 18px calc( 29 / 1150 * 100% ); margin: 0 5px 10px; }
.search-type2 .search-type2__item::before,
.search-type2 .search-type2__item::after { position: absolute; bottom: 0; display: block; content: ""; margin-top: auto; margin-bottom: auto; }
.search-type2 .search-type2__item::before { top: 0; right: 14px; width: 21px; height: 21px; background-color: #514642; border-radius: 50%; }
.search-type2 .search-type2__item::after { top: -2px; right: 21px; width: 7px; height: 7px; border: solid #ffffff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.search-type2 .search-type2__item.active { display: inline-block; }
.search-type2 .search-type2__item.onbtn { background-color: #707070; color: #ffffff; }
.search-type2 .search-type2__item.onbtn::before,
.search-type2 .search-type2__item.onbtn::after { opacity: 0; }

@media screen and (max-width: 1265px) {
	.search-type2 .search-type2__item { width: calc((100% - 30px) / 3); }
}

@media screen and (min-width: 821px) {
	.search-type2 .search-type2__item::before,
	.search-type2 .search-type2__item::after,
	.search-type2 .search-type2__item { transition: 0.2s ease; }
	.search-type2 .search-type2__item:hover { background-color: #707070; color: #ffffff; }
	.search-type2 .search-type2__item:hover::before,
	.search-type2 .search-type2__item:hover::after { opacity: 0; }
}

@media screen and (max-width: 767px) {
	.search-type2 { margin: 0 -2px 50px; }
	.search-type2 .search-type2__item { width: calc((100% - 8px) / 2); border-radius: 4px; font-size: 1.4rem; line-height: 2rem; padding: 10px calc( 29 / 1150 * 100% ); margin: 0 2px 4px; }
	.search-type2 .search-type2__item span { display: none; }
	.search-type2 .search-type2__item::before { right: 8px; width: 11px; height: 11px; }
	.search-type2 .search-type2__item::after { top: -1px; right: 12px; width: 3px; height: 3px; border-width: 0 1px 1px 0; }
}



/* ――――――――――――――――――――――――――――――
［ result-title ］
―――――――――――――――――――――――――――――― */

.result-title { position: relative; height: 60px; }
.result-title .result-title__name { position: absolute; width: 100%; font-size: 3rem; line-height: 1; font-weight: 700; text-align: center; opacity: 0; }
.result-title .result-title__name.active { opacity: 1; }
.result-title .result-title__name span { font-size: 2.6rem; font-weight: 500; }

@media screen and (max-width: 767px) {
	.result-title { position: relative; height: 40px; }
	.result-title .result-title__name { font-size: 2rem; }
	.result-title .result-title__name span { font-size: 2rem; }
}



/* ――――――――――――――――――――――――――――――
［ result-list ］
―――――――――――――――――――――――――――――― */

.result-list { position: relative; overflow: hidden; margin-right: auto; margin-left: auto; --transtime: .25s; }
.result-list .result-item { position: absolute; top: 0; left: 0; inline-size: calc((100% - 40px) / 3); opacity: 0; pointer-events: none; transition: calc(var(--transtime) * 1); }
.result-list .result-item.active { opacity: 1; pointer-events: all; }
.result-list .result-item .result-list__btn { display: block; text-decoration: none; }
.result-list .result-item .result-list__btn div { background-color: #ffffff; padding: 20px; margin-bottom: 15px; }
.result-list .result-item .result-list__btn dl { padding-right: 20px; padding-left: 20px; }
.result-list .result-item .result-list__btn dl dt { font-size: 1.7rem; line-height: 2.5rem; font-weight: 700; }
.result-list .result-item .result-list__btn dl dd { font-size: 1.4rem; line-height: 2rem; }

@media (max-width: 1200px) {
	.result-list { max-width: 728px; }
	.result-list .result-item { inline-size: calc((100% - 20px) / 2); }
}

@media screen and (min-width: 821px) {
	.result-list .result-item .result-list__btn { transition: 0.2s ease; }
	.result-list .result-item .result-list__btn:hover { opacity: 0.7; }
}

@media (max-width: 767px) {
	.result-list { max-width: 350px; }
	.result-list .result-item { inline-size: calc((100%)); }
	.result-list .result-item .result-list__btn div { padding: 10px; margin-bottom: 10px; }
.result-list .result-item .result-list__btn dl { padding-right: 10px; padding-left: 10px; }
	.result-list .result-item .result-list__btn dl dt { font-size: 1.5rem; line-height: 2.2rem; }
}



/* ――――――――――――――――――――――――――――――
［ morebtn ］
―――――――――――――――――――――――――――――― */

.morebtn { width: 100%; background-color: #555555; font-size: 2.4rem; line-height: 1; color: #ffffff; font-weight: 700; text-align: center; cursor: pointer; padding-top: 38px; padding-bottom: 38px; margin-bottom: 80px; }
.morebtn span { position: relative; padding-right: 40px; }
.morebtn span::after { position: absolute; top: -10px; right: 0; bottom: 0; display: block; width: 18px; height: 18px; border: solid #ffffff; border-width: 0 2px 2px 0; transform: rotate(45deg); content: ""; margin: auto 0; }
.morebtn.closed { display: none; }

@media screen and (min-width: 821px) {
	.morebtn,
	.morebtn span::after { transition: 0.2s ease; }
	.morebtn:hover { background-color: #ffffff; color: #000000; }
	.morebtn:hover span::after { border-color: #000000; }
}

@media screen and (max-width: 767px) {
	.morebtn { font-size: 1.6rem; padding-top: 25px; padding-bottom: 25px; margin-bottom: 60px; }
	.morebtn span { position: relative; padding-right: 25px; }
	.morebtn span::after { top: -6px; width: 10px; height: 10px; }
}
