@charset "UTF-8";
/*
    Template: kaetai
    Theme Name: kaetai CHILD
    Theme URI: https://swell-theme.com/
    Description: kaetaiの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/
    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
@font-face {
    font-family: 'icomoon';
    src:url('/kaetai/wp-content/themes/kaetai/assets/fonts/icomoon.ttf?7ojy2d') format('embedded-truetype'),
    url('/kaetai/wp-content/themes/kaetai/assets/fonts/icomoon.ttf') format('truetype'),
    url('/kaetai/wp-content/themes/kaetai/assets/fonts/icomoon.woff') format('woff'),
    url('/kaetai/wp-content/themes/kaetai/assets/fonts/icomoon.svg') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }
picture.aligncenter {display: block; text-align: center;}
.header-top {background: #024067;color: #fff;}
.header-top h1 {font-weight: normal;font-size: 12px;overflow: hidden;white-space: nowrap;}
.c-headLogo {margin-bottom: 5px;}
.-series .l-header__inner {
    position: fixed;
    top: 0;
    margin: auto;
    background: #fff;
    transform: translate(-50%, -50%);
    left: 50%;
    box-shadow: 0 0 10px rgba(36, 36, 36, .16);
    border-radius: 50px;
    margin-top: 4.5em;
}
.p-termHead{border:none;}
.c-gnav>.menu-item>a {font-weight: bold;}
.l-header {box-shadow: 0 1px 10px rgba(0, 0, 0, .05);}
.c-gnav>.menu-item>a .ttl{font-size: 18px;color: #024067;}
.nav-menu {
    display: flex;
    flex-direction: column;
    line-height: 24px;
    font-size: 17px;
}
.nav-menu span {
    font-size: 15px;
    font-weight: 400;
    color: #22a5e0;
}
.c-gnav li:not(:last-of-type) .ttl {
    border-right: 1px solid #e8e8e8;
    padding-right: 20px;
}
.c-gnav li:not(:last-of-type) a:after {
    width: 87% !important;
}
.l-content {
    padding-top: 5em !important;
}
/***おすすめ横並び広告CSS***/
.keen-slider__slide {
    padding: 10px;
    white-space: nowrap;
}
.keen-slider {
    gap: 50;
}
.osusume-title {
    text-align: center;
    margin: 20px auto 0;
}
.osusume {
    display: flex;
    list-style-type: none;
    padding-left: 0 !important;
    overflow: hidden !important;
}
.osusume li {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: stretch;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2), 0 4px 4px -4px rgba(0, 0, 0, .2);
    border-radius: 10px;
}
.osusume-sitename {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0051c2;
    cursor: pointer;
    text-decoration: underline;
    margin-bottom: 0.5em;
    border-bottom: 1px solid #e2e2e2;
    padding-bottom: 0.4em;
}
.osusume-imgbox img {
    object-position: 50% 0;
    object-fit: cover;
    height: 113px;
    width: 100%;
}
.osusume-info {
    text-align: center;
    letter-spacing: 0.05em;
}
.osusume-info div:not(.info_text):before {
    content: "";
    width: 17px;
    height: 17px;
    background-size: contain;
    vertical-align: middle;
    position: absolute;
    left: 0;
    top: calc(50% - 9px);
    background-repeat: no-repeat;
}
.osusume-info div {
    border-bottom: none;
    line-height: 1.4;
    padding: 3px 0 3px 20px;
    position: relative;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden; 
}
.osusume-info div:not(:last-of-type) {border-bottom: 1px solid #dedede;}
.osusume-info.num_big div {
    line-height: 1.4;
    padding: 0;
    letter-spacing: 0.1em;
}
.osusume-info div:not(.info_text):before {
    display: inline-block;
    margin-right: 8px;
    position: static;
    vertical-align: baseline;
}
.osusume-info div.info_text {
    display: flex;
    padding: 6px 0;
    font-weight: bold;
    font-size: .8rem;
}
.osusume-info span {
    font-size: 2em;
    font-weight: bold;
    color: #245faf;
}
.sitebtn {
    display: block;
    position: relative;
    font-size: 1.1rem;
    font-weight: 700;
    background: #2db4f8;
    border-radius: 8px;
    color: #fff;
    padding: 0.4em 0;
    border-bottom: solid 5px rgba(0,0,0,.2);
    background: #2db4f8;
    padding: .4em 0;
}
.sitebtn:hover {
    opacity: .8;
}
.sitebtn:after {
    content: "";
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    left:auto;
    width: 11px;
    height: 11px;
    border-top: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    transform: rotate(45deg);
}
.osusume span.sitebtn.jump {color: #fff;}
.rows-2 .osusume-sitename {
    position: absolute;
    left: calc(100% + 10px);
    white-space: nowrap;
    font-size: 15px;
}
.rows-2 .osusume-info {
    display: inline-block;
    padding: 0 0 5px;
    width: 100%;
}
.rows-2 .osusume-info div {
    line-height: 1.4;
    padding: 0 0 0 25px;
    border-right: none;
    margin: 0;
}
.osusume-info.num_big div.info_text {padding: 10px 0 10px; line-height: 1.6;}
.rows-2 .osusume-imgbox img {height: auto;}

@media screen and (max-width: 768px) {
    .nav-menu {
        flex-direction: row;
        justify-content: space-between;
        font-weight: 700;
    }
    .p-spHeadMenu .nav-menu {
        font-size: 12px;
        display: flex;
        flex-direction: column;
        line-height: 20px;
    }
    .nav-menu span {
        font-size: 10px;;
    }
    .p-spHeadMenu li:not(:last-child) a {
        border-right: 1px solid #e8e8e8;
    }
    .p-spHeadMenu .menu-item {
        font-size: 12px;
        height: 53px;
    }
    .top #content {
        padding-top: 0;
    }
    .-series .l-header__inner {
        position: relative;
        top: 0;
        transform: unset;
        left: 0;
        box-shadow: none;
        border-radius: 0;
        margin-top: 0;
    }
    .l-content {
        padding-top: 0em !important;
        margin-bottom: 0;
    }
}
@media screen and (min-width: 769px) {
    .osusume-title {margin: 40px auto 10px;}
    .osusume-info {
        width: 100%;
        padding: 0 0 5px;
        font-size: 1rem;
    }
    .osusume-info div {
        line-height: 1.6;
        padding: 6px 0;
        text-align: center;
        min-height: 4em;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .osusume-info span {margin: auto 5px;}
    .osusume-info span.bunto {margin: auto 5px auto 0;}
    .osusume-imgbox img {height: 140px; max-height: 140px;}
    img.rank_icon {
        height: 22px;
        width: auto;
        display: inline-block;
        position: static;
        margin-right: 5px;
    }
    .rows-2 .osusume-box {width: 100%;}
    .rows-2 .osusume-sitename {
        position: static;
        white-space: normal;
        font-size: 1.1rem;
    }
}
/***** フッター追尾広告CSS *****/
div#ff_box {
    position: fixed;
    bottom: 0;
    left: 0;
    background: rgb(255 255 255 / 70%);
    z-index: 1;
    width: 100%;
}
.ff_btn {
    background: linear-gradient(90deg, rgb(71 65 171) 0%, rgb(0 195 166) 100%);
    border-radius: 50px;
    padding: 0.7em;
    font-size: 1.4em;
    color: #fff;
    width: 84%;
    margin: 8px auto;
}
.ff_btn span {
    color: #fff;
}
.ff_btn .jump {
    display: block;
    text-align: center;
    font-weight: 700;
    font-size: 1.2rem;
    text-decoration: none;
} 
.ff_btn .jump:before {
    position: absolute;
    left: 52px;
    margin-top: -10px;
    content: "PR";
    border: solid 1px #fff;
    font-weight: 400;
    border-radius: 0;
    font-size: 10px;
    letter-spacing: .1em;
    line-height: 15px;
    padding: 0 4px 0 4px;
    color: #fff;
    text-decoration: none;
}
.ff_btn .jump:after {
    content: '';
    width: 8px;
    height: 8px;
    border-top: 2.5px solid #fff;
    border-right: 2.5px solid #fff;
    transform: rotate(45deg) translateY(-48%);
    position: absolute;
    top: 48%;
    right: 3.5em;
    border-radius: 1px;
}   
.ff_img {
    width: 98%;
    margin: 5px 5px 0 5px;
    position: fixed;
    bottom: 0;
    left: 0;
}
#close-button {
    position: absolute;
    top: 5px;
    right: 5px;
    background: none;
    border: none;
    cursor: pointer;
}

/***** ステマ対策 *****/
.ff_img:before {
    content: url(https://sugureta.co.jp/public_html/kaetai/wp-content/uploads/2024/02/pr-icon.png);
    position: absolute;
    top: -8px;
    left: 8px;
}
.btn_close #close-button {
    top: -6px;
    background: #fff;
    padding: 2px;
    height: 21px;
    width: 7%;
}
h1.c-pageTitle,h2.c-pageTitle{position:relative;margin-bottom:1.0em;}
h1.c-pageTitle:before,h2.c-pageTitle:before {
    content:url(https://sugureta.co.jp/public_html/kaetai/wp-content/uploads/2024/02/icon_pr_header.gif);
    position:absolute;
    top:-24px;
    left:0px;
}
/***** 会話（sayショートコード） *****/
.say_left {display: flex; width: 100%;}
.chara_img {width: 100%; text-align: center;}
span.chara_name {display: block;}
.chara_comment {
    background: #f5f5f5;
    padding: 0.7em;
    border-radius: 8px;
    margin-left: 15px;
	position:relative;
}
.chara_comment::before{
  content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  margin-top: -15px;
  border: 15px solid transparent;
  border-right: 15px solid #f5f5f5;
}
@media screen and (min-width:700px) {
.chara_img {width: 300px;}
}
/******************************************************************************************
筆者紹介
******************************************************************************************/
.writer_list {width: 85%; margin: auto;}
.writer-icon img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
}
.writer_ttl {
    padding-bottom: 10px;
    position: relative;
    margin-bottom: 2em;
    border-bottom: 1px solid #0051c2;
    color: #0051c2;
    font-weight: 700;
}
.speech-bal_ttl {
    position: relative;
    background: linear-gradient(90deg,#10aeff,#ffda8c);
    text-align: center;
    width: 54%;
    color: #fff;
    font-size: 20px;
    padding: 8px 0;
    font-weight: 700;
    margin: auto;
    border-radius: 4rem;
    margin-top: 2em;
    margin-bottom: 2em;
}
.speech-bal_ttl:after {
    border-top: 20px solid #96c5c6;
    position: absolute;
    bottom: -14px;
    left: 50%;
    content: '';
    border-right: 20px solid transparent;
    border-left: 20px solid transparent;
    transform: translateX(-50%);
}
.jump {color: #0076ff;text-decoration: underline;}
@media screen and (max-width: 540px) {
    .speech-bal_ttl {width: 100%; font-size: 15px;}
    .l-container {
        padding-left: 0;
        padding-right: 0;
    }
}
/*YOUTUBE動画*/
lite-youtube {margin: 0 auto;}

/*サイドバープロフィールCSS*/
#sidebar h4.widgettitle {
    margin: 0 0 20px;
    font-size: 1.2rem;
    border-bottom: 1px solid;
}
.sidebar_profile {border: 1px solid var(--color_border); padding: 0.5em .5em 1.7em;}
.profile-background {
    background: #ccc;
    border-radius: var(--swl-radius--2, 0);
    height: 160px;
    margin: 0;
    overflow: hidden;
    width: 100%;
}
.profile-img {
    margin: 1em 0 0;
    text-align: center;
    margin-top: -60px;
}
.profile-img img {
    border-radius: 50%;
    height: 120px;
    -o-object-fit: cover;
    object-fit: cover;
    width: 120px;
}
.yourname.dfont {
    text-align: center;
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 2px;
}
.profile-content {margin: 0 1em;}

/*サイドバー地域リンクCSS*/
.areatext a {
    background-color: #f1e1e1;
    margin: 4px -3px;
    padding: 0px 8px;
    font-size: 1.1em;
    border-radius: 3px;
    border: 1px solid #8b0c0c;
    color: #8b0c0c;
    display: inline-block;
    text-decoration: none;
}
.areatext strong a, .sidebar p a {
    font-size: 1em !important;
    color: #333 !important;
    margin: 0;
    padding: 0 !important;
    background-color: unset !important;
    border: unset !important;
}
.areatext a:hover {opacity: .7;}
.areatext p {font-size: 1.2em;}
.sidebar div:not(:first-child) p, .areatitle strong a {margin-top: 1em;}

/*地域リンクボタンCSS*/
.lcp_catlist li {
    position: relative;
    padding: .4em .4em 0.4em 2.2em;
    margin-bottom: 0;
}
.lcp_catlist li:before {
    content: "\e921";
    display: block;
    position: absolute;
    height: 2.2em;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    font-family: 'icomoon';
    margin-left: .5em;
}
.lcp_catlist li:hover {background-color: #eef6fe;}
@media screen and (max-width:768px) {
    .lcp_catlist li {padding: 0 0 0 1.5em; margin-bottom: 1em;}
    .lcp_catlist li:before {margin-left: 0;}
}

/*luminous(画像拡大)*/
#body_wrap {
    z-index: 0;
}
/**/
.grecaptcha-badge { visibility: hidden; }
.-frame-on .p-breadcrumb {background: #f7f7f7;}
#fix_header {box-shadow: 0 1px 3px 1px rgba(0, 0, 0, .08);}
.p-blogCard__thumb.c-postThumb.blogcard {height: 120px;}

/*TOPランキングCSS*/
.top-ranking {
    position: relative;
    box-shadow: 0 0 7px rgba(0, 0, 0, .1);
    margin-bottom: 2em;
    padding: 2em 1em;
    border-radius: 10px;
    font-size: 16px;
    color: #024067;
}
.top-ranking h3 {
    font-size: 22px;
    font-weight: bold;
    margin: 0em 0 1em;
}
.top-ranking p {
    line-height: 2.2;
    width: 94%;
    margin: auto;
}
.ribbon {
    --f: 0.5em;
    --r: 0.8em;
    position: absolute;
    right: 20px;
    top: calc(-1* var(--f));
    padding: 0.2em;
    background: #cf0802;
    border-right: var(--f) solid #0005;
    border-bottom: var(--r) solid #0000;
    clip-path: polygon(calc(100% - var(--f)) 0, 0 0, 0 100%, calc(50% - var(--f) / 2) calc(100% - var(--r)), calc(100% - var(--f)) 100%, calc(100% - var(--f)) var(--f), 100% var(--f));
    font-size: 23px;
    font-weight: bold;
    color: #fff;
}
.top-ranking img {
    margin-bottom: 10px;
    height: 270px;
    width: auto;
}
.top-ranking table {
    font-size: 16px;
    line-height: 1.2;
    width: 94%;
    margin: 0 auto 10px;
}
.top-ranking table td:first-of-type {
    background: #fafafa;
}
.top-ranking-btn {
    display: flex;
    justify-content: space-evenly;
    margin-top: 1em;
}
.top-ranking-btn a, .top-ranking-btn span {
    position: relative;
    width: 47%;
    text-align: center;
    color: #fff;
    padding: 7px 0;
    border-radius: 9px;
    font-weight: 700;
    font-size: 1.2rem;
    text-decoration: none;
}
.top-ranking-btn a {
    background: #bfbfbf;
    box-shadow: 0 4px 0 #a3a3a3;
}
.top-ranking-btn span {
    background: linear-gradient(177deg, rgb(15 124 220) 0%, rgb(39 187 255) 100%);
    box-shadow: 0 4px 0 #2e74a8;
}
.top-ranking-btn a:hover, .top-ranking-btn span:hover {
    transform: translateY(4px);
    box-shadow: 0px 0px 1px rgba(0, 0, 0, .2);
    transition: .1s;
    cursor: pointer;
}
.top-ranking-btn a:after, .top-ranking-btn span:after {
    content: "";
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    left: auto;
    width: 11px;
    height: 11px;
    border-top: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    transform: rotate(45deg);
}
@media screen and (max-width:768px) {
    .top-ranking {
        width: 100vw;
        left: 50%;
        transform: translateX(-50%);
        padding: 1.5em 1em;
        font-size: 14px;
    }
    .top-ranking p {
        line-height: 2;
        width: 100%;
    }
    .top-ranking h3 {
        font-size: 18px;
        margin: 0em 0 .5em;
    }
    .ribbon {
        right: 6px;
        font-size: 19px;
    }
    .top-ranking img {
        height: 170px;
    }
    .top-ranking table {
        width: 100%;
        font-size: 13px;
    }
    .top-ranking table td:nth-of-type(1) {
        width: 40%;
    }
    .top-ranking-btn {
        justify-content: space-between;
        margin-top: .5em;
    }
    .top-ranking-btn a, .top-ranking-btn span {
        width: 48%;
        padding: 6px 0;
        font-size: 1.1rem;
    }
    .top-ranking-btn a:after, .top-ranking-btn span:after {
        right: 15px;
        width: 8px;
        height: 8px;
    }
}