@charset "UTF-8";

@media screen and (min-width: 769px) {

	/* ========================================================
ベース設定
=========================================================*/
@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 700;
	src: url("../fonts/Noto_Sans_JP_Bold.woff") format("woff");
	font-display: swap;
}

@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 500;
	src: url("../fonts/Noto_Sans_JP_Medium.woff") format("woff");
	font-display: swap;
}

@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/Noto_Sans_JP_Regular.woff") format("woff");
	font-display: swap;
}

@font-face {
	font-family: "Zen Maru";
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/Zen_Maru_Medium.woff") format("woff");
	font-display: swap;
}

@font-face {
	font-family: "Zen Maru";
	font-style: bold;
	font-weight: 700;
	src: url("../fonts/Zen_Maru_Bold.woff") format("woff");
	font-display: swap;
}

html {
	font-family: "Noto Sans JP";
	line-height: 1.5;
	color: var(--Text);
	font-size: var(--FontSizeSP);
}

body {
	font-family: "Noto Sans JP";
	font-size: 1.5rem;
	background-color: #fff;
	color: var(--Text);
	padding: 0;
	margin: 0;
	line-height: 1.5;
	box-sizing: border-box;
	word-break: break-word;
	/* break-wordは非推奨のため、word-breakを使用 */
	font-feature-settings: "palt";
}

.forSP {
	display: none;
}

.forPC {
	display: block;
}

a {
	font-weight: bold;
	text-decoration: underline;
	color: var(--Text_blue);
	transition: all ease 0.3s;
}

a:hover {
	opacity: 0.6;
	text-decoration: none;
}

img {
	max-width: 100%;
	height: auto;
}

/* ========================================================
共通
=========================================================*/
.header{
	width: 750px;
	margin: 0 auto;
}

section {
	width: 750px;
	margin: 0 auto;
}

/* ========================================================
SECTION TYPE
=========================================================*/
section.type{
	margin-top: 20px;
}
.type__table{
	width: 100%;
}
.type__table thead tr:first-of-type th{
	font-size: 18px;
}
.type__table thead tr:first-of-type th:first-of-type {
    width: 7%;
}
.type__table thead tr:first-of-type th:nth-of-type(2) {
    width: 16%;
}
.type__table tbody tr th:first-of-type {
    padding: 10px 6px;
}
.type__table tbody td{
	font-size: 16px;
}
.type__logo__wrap {
    width: 110px;
    height: 110px;
}

/* ========================================================
SECTION IDEAL
=========================================================*/
.ideal__small {
    font-size: smaller;
    padding-right: 0px;
    margin-top: -24px;
}
.ideal__box__ttl {
    font-size: 45px;
}
.ideal__box.kigu .ideal__box__ttl {
    top: -7%;
}
.ideal__box.ai .ideal__box__ttl {
    top: -21%;
}
.ideal__box.ai .ideal__box__ttl {
    font-size: 58px;
}
.ideal__box.kigu .ideal__logo__wrap:nth-of-type(3){
    bottom: -8%;
}
.ideal__box.kigu .ideal__logo__wrap:nth-of-type(4){
    bottom: -8%;
    right: 22%;
}
.ideal__box.kigu .ideal__logo__wrap:nth-of-type(5){
    bottom: -8%;
}
.ideal__ico {
    width: 70px;
    height: 70px;
}
.ideal__box.kigu::before {
    width: 25%;
}
.ideal__box.ai::before {
    width: 44%;
}
.ideal__wrap p {
    font-size: 16px;
}
/* ========================================================
SECTION FORM
=========================================================*/
.form {
    margin-top: 60px;
}
.Refine_Search_Box_Ttl {
    font-size: 16px;
}

.condition_ttl {
    font-size: 16px;
}
.Refine_Search_conditions_Area:not(:first-of-type) {
    margin-top: 26px;
}
.multi-available {
    font-size: 15px;
}
.radiobtn_text, .checkbox_text {
    font-size: 16px;
}

/* ========================================================
SECTION HIKAKU
=========================================================*/
section.hikaku {
    margin-top: 20px;
}

.hikaku__logo {
    height: 78px;
    width: 83%;
}
.hikaku__logo.tcb {
    width: 60%;
    object-fit: cover;
    display: block;
    margin-inline: auto;
    height: 80px;
}

.hikaku__name{
	font-size: 15px;
}

.hikaku__eva {
    width: 35px;
    height: 35px;
}
.hikaku__eva.bad {
    width: 28px;
}
.hikaku__table th {
    font-size: 14px;
}
.hikaku__table td {
    font-size: 15px;
	padding: 14px 2px;
}
.hikaku__cta__btn {
    font-size: 15px;
	padding: 16px 0;
}
.hikaku__cta__btn::before {
    width: 8px;
    height: 8px;
    top: 21.5px;
}
/* ========================================================
SECTION COMPARISON
=========================================================*/
section.comparison {
    margin-top: 40px;
}
.comparison__table thead th {
    padding: 8px 0;
    font-size: 20px;
}
.comparison__table tbody th {
    font-size: 15px;
    width: 13%;
}
.comparison__table tbody td {
    font-size: 15px;
    width: calc(87% / 2);
	padding: 10px 6px;
}
/* ========================================================
ポジショニングマップ
=========================================================*/
section.map{
    margin-top: 70px;
}
.map__small{
    font-size: smaller;
    padding-right: 0px;
}
.positioningMap{
    margin-top: 14px;
}
.positioningMap__top-subTtl {
    font-size: 1.4rem;
}
.positioningMap__top-ttl {
    font-size: 1.8rem;
    line-height: 54px;
    height: 54px;
}
.positioningMap__top {
    padding: 0 40px;
}


.positioningMap__inner{
    width:82%;
    margin: 0 auto;
    aspect-ratio: 3 / 3.1;
}
.positioningMap__inner::after{
    background: url(../img/positioningmap_bg_pc.svg) no-repeat center / 100% 95%;
    width: 89%;
    height: 100%;
    top: 9%;
    left: 48%;
    transform: translateX(-50%);
}
.positioningMap__subLabel {
    font-size: 1.5rem;
    top: 1%;
}
.positioningMap__label-01 {
    font-size: 2rem;
    top: 4%;
    width: 42px;
    height: 42px;
}
.positioningMap__label-02 {
    font-size: 1.4rem;
    right: -31px;
    top: 52%;
}
.positioningMap__label-03{
    font-size: 1.7rem;
    right: -16px;
    top: 64%;
}
.positioningMap__inner::before {
    top: 4%;
    right: 2.5%;
    width: 43%;
}
.positioningMap__item-catch {
    font-size: 1.3rem;
}
.positioningMap__item {
	padding: 6px 10px 0px;
}
.positioningMap__item-01 img {
    width: auto;
    height: 125px;
}
.positioningMap__item-01 {
    padding: 6px 6px 0px;
    z-index: 1;
    top: 16%;
    right: 10%;
}
.positioningMap__item-01_tx {
    font-size: 15px;
    position: absolute;
    top: 10%;
    right: 6%;
    text-align: center;
}
.positioningMap__item-02 {
	padding: 10px 10px 0;
}
.positioningMap__item-02 .positioningMap__item-logo {
    height: 32px;
}
.positioningMap__item-03 {
    left: 57%;
    top: 41%;
}
.positioningMap__item-logo {
    height: 53px;
}
.positioningMap__item-04 {
    top: 35%;
    left: 22%;
}
.positioningMap__item-05 {
    left: 22%;
}
/* ========================================================
SECTION RANKING
=========================================================*/
section.ranking {
    margin-top: 30px;
}
.ranking__head a {
    font-size: 25px;
}
.ranking__head__tx {
    font-size: 17px;
}
.ranking__point__wrap {
    font-size: 15px;
}
.ranking__point__wrap ul li::before {
    width: 16px;
    height: 16px;
}
.ranking__txt__wrap {
    font-size: 16px;
}
.ttl--txt {
    font-size: 20px;
}
.shop__inner {
    font-size: 16px;
}
.ranking__box:not(:first-of-type) {
    margin-top: 60px;
}
.ranking__box{
    padding: 30px;
}
.rank__cta__btn {
    font-size: 19px;
}

.official__link{
	font-size: 19px;
}

/* ========================================================
SECTION SUMMARY
=========================================================*/
.summary__txt {
    font-size: 16px;
}
.summary__cta__ttl {
    font-size: 16px;
}

.summary__cta__logo {
    width: 44%;
    object-fit: cover;
    height: 194px;
}
.summary__cta__btn {
    font-size: 19px;
}

	/* ========================================================
FOOTER
=========================================================*/
.footer {
    margin-top: 100px;
}

.footer__links-wrapper {
	margin: 0 auto;
}

.inner.footer__links-inner {
	display: flex;
	justify-content: space-between;
	padding: 0 320px;
}

.inner.footer__links-inner dl {
	width: 45%;
	margin-top: 0;
}

	/* ========================================================
検索結果ページ
=========================================================*/
.result_page #CONTENTS {
	width: 750px;
	margin: 0 auto;
	/* padding: 0 54px; */
}

#PANKUZU {
	padding: 13px 0;
}

.contents.clearfix {
	margin-top: 40px;
}

.searchConditions__wrap dl {
	gap: 16px;
}

.searchConditions__wrap dt {
	width: 27%;
}

.searchConditions__wrap {
	padding: 24px 50px 30px;
}

.card__inner::after {
	width: 100%;
	height: 4px;
	top: -33px;
	left: 0;
	margin: 0;
}

.result.ng-scope {
	margin-top: 50px;
	padding: 0;
}

.imgttl_searchresult,
.contents.clearfix,
.card__rank,
.card__bnr,
.card__table-container {
	padding: 0 55px;
}

.contents.clearfix:last-of-type {
	padding-bottom: 70px;
}

/* .result_page .ranking__box__table {
	width: calc(100% - 120px);
} */

/* .result_page .ranking__cta {
	padding: 60px 0px;
	margin-top: 40px;
} */
/* 
.result_page .ranking__cta-wrap {
	width: calc(100% - 220px);
	margin: 0 auto;
} */

.result_page .ranking__cta-logo {
	width: auto;
	margin: 24px auto 0;
	display: block;
}

/* .result_page .ranking__ofiicial-wrap {
	width: calc(100% - 120px);
} */

.result_page section.ng-scope {
	width: auto;
}
/* ========================================================
症例コンテンツ
=========================================================*/
.shorei {
    margin-top: 40px;
}
.case__sectioin-wrap{
	width: calc(100% - 152px);
	margin: 30px auto 0;
}
.slider-wrap {
    margin-top: 20px;
    position: relative;
}
.ranking_shorei_top{
	font-size: 25px;
    padding: 8px 0px;
}
.swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 66px !important;
}
.case__sectioin-wrap{
    width: 100%;
}
.slider__inside__ttl {
    font-size: 18px;
    margin: 16px auto 0;
}
.sample-slider img{
	width: 400px;
    margin: 6px auto 0;
}
.slider__inside__txt {
    font-size: 15px;
}
.case__sectioin__cta {
    padding: 20px 0;
}
.case__sectioin__cta::before {
    width: 8px;
    height: 8px;
    top: 27.5px;
}
.case__sectioin__txt {
    margin: 36px auto 0;
    padding-right: 14px;
}
.case__sectioin__link {
    font-size: 17px;
    padding-right: 14px;
}
}