@charset "utf-8";
/*
Theme Name:NihonIsanKentei2025
Description:responsive design
version： 0.0.1
*/

/* css reset */
html, body, div, span, object, iframe, 
h1, h2, h3, h4, h5, h6, p, blockquote, pre, ul
abbr, address, cite, code, 
del, dfn, em, img, ins, kbd, q, samp, 
small, strong, sub, sup, var, 
b, i, dl, dt, dd, ol, ul, li, 
fieldset, form, label, legend, 
table, caption, tbody, tfoot, thead, tr, th, td, 
article, aside, canvas, details, 
figcaption, figure, footer, header, hgroup, 
menu, nav, section, summary, time, mark, audio, video{
font-size:100%; margin:0; padding:0; vertical-align:baseline; border:0; outline:0; background:transparent; }

html{ overflow-y:scroll; -webkit-text-size-adjust:100%; }
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section{ display:block; }
nav ul{ list-style:none; }
blockquote, q{ quotes:none; }
blockquote:before, blockquote:after,
q:before, q:after{ content:""; content:none; }
a{ font-size:100%; display:inline-block; margin:0; padding:0; word-wrap:break-word; overflow-wrap:break-word; vertical-align:baseline; background:transparent; transition:all .3s ease; }
a::before, a::after{ transition:all .3s ease; }
ins{ text-decoration:none; color:#222; background-color:#f0f0f2; }
mark{ font-weight:bold; font-style:italic; color:#222; background-color:#f0f0f2; }
del{ text-decoration:line-through; }
abbr[title], dfn[title]{ cursor:help; border-bottom:1px dotted; }
table { border-spacing:0; border-collapse:collapse; }
hr { display:block; height:1px; margin:1em 0; padding:0; border:0; border-top:1px solid #f0f0f2; }

/* Text meant only for screen readers. */
.screen-reader-text{ border:0; clip:rect(1px, 1px, 1px, 1px); clip-path:inset(50%); position:absolute !important; height:1px; width:1px; margin:-1px; padding:0; overflow:hidden; word-wrap:normal !important; }

/* css basic */
body, input, textarea, select, button{ font-family:"Lora", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif; line-height:1.8; font-weight:400; font-size:clamp(1rem, calc(.75rem + .625vw), 1.125rem); color:#222; }
img{ display:block; max-width:100%; height:auto; }
@font-face{
    src: url("fonts/Lora-Regular.woff") format("woff"),
    url("fonts/Lora-Regular.ttf") format("ttf");
    font-family: "Lora";
    font-style: normal;
    font-weight: normal;
    font-display: swap;
}
@font-face{
    src: url("fonts/Lora-Bold.woff") format("woff"),
    url("fonts/Lora-Bold.ttf") format("ttf");
    font-family: "Lora";
    font-style: bold;
    font-weight: bold;
    font-display: swap;
}

.clearfix:after{ content:""; display:block; clear:both; }
.clearfix:before{ content:""; display:block; clear:both; }
.clearfix{ display:block; }

*, *::before, *::after{ box-sizing:border-box; }

/* ----------------------------------------------------------------------
 共通
---------------------------------------------------------------------- */
:root{
    --red-st:#a60321; --red:#d92546; --blue-st:#3b3c59; --blue-st2:#363f73; --gray:#f0f0f2;
    --red-sf:#ec4c69; --purple-sf:#b04da1; --blue-sf:#745daf;
}
footer{ z-index:0; }
#main{ flex:1; position:relative; }
#container{ position:relative; display:flex; flex-direction:column; min-height:100vh; min-height:calc(var(--vh, 1vh) * 100); }
#container .overlay{ position:absolute; z-index:-1; }
#container .overlay.overlay1{ position:fixed; top:0; left:0; width:100%; height:100vh; height:calc(var(--vh, 1vh) * 100); background:linear-gradient(135deg, rgba(255, 255, 196, 1.000) 0%, rgba(255, 97, 100, 1.000) 25%, rgba(176, 0, 18, 1.000) 50%);
    background:linear-gradient(135deg, #f43b47 0%, #453a94 100%);
    /*
background:linear-gradient( 135deg, #FEB692 10%, #EA5455 50%);
background:linear-gradient( 135deg, #F97794 10%, #623AA2 100%);
background:linear-gradient( 135deg,  rgba(248,142,0,1) 10%, rgba(255,24,105,1) 50% );
*/ }
#container .overlay.overlay3{ inset:0; background:#fff; z-index:-1; }
#container .overlay.overlay2{ inset:0; background:var(--gray); z-index:-2; }
.sp_visible{ display:block; }
.tab_visible{ display:block; }
.pc_sp_visible, .pc_tab_visible{ display:none; }

/* animation */
.js-title span{ display:inline-block; opacity:0; transform:scale(1.5); filter:blur(1em); }

/* textdeco */
.eng{ font-size:clamp(4rem, calc(2.545rem + 7.27vw), 8rem); }
.eng .eng1:first-of-type{ text-transform:capitalize; }
h1, .title{ font-size:clamp(2rem, calc(1.455rem + 2.73vw), 3.5rem); font-weight:bold; }
h2, .catch{ font-size:clamp(1.438rem, calc(0.938rem + 2.5vw), 2.813rem); font-weight:bold; }
h3, .side_title, .sub_title, .steptitle .title{ font-size:clamp(1.063rem, calc(0.722rem + 1.7vw), 2rem); font-weight:bold; }
h4, .sub_title2, .text_l{ font-size:clamp(1rem, calc(0.841rem + 0.8vw), 1.438rem); font-weight:bold; }
h1, h2, h3, h4, h5, h6, .title, .logotext, ul.menu{ line-height:1.3; }
.article h2, .article h3, .article h4, .catch, .side_title, .sub_title,
.article p + h2:first-of-type{ position:relative; margin:2em 0 1em; padding:.25em 0; }
.home #page_header .title_area .title{ font-size:clamp(1.625rem, calc(1.149rem + 1.78vw), 2rem); margin:.25em 0 !important; }
.article h2.first, .posttitle_area .catch, .catch.first, .side_title.first, .sub_title.first, .article .kyu-content-inner h3, .article .tab-content h3{ margin:0 0 1em !important; }
.side_title, .article h3{ padding-left:1em; }
.side_title::before, .article h3::before{ position:absolute; top:50%; transform:translate(0, -50%); content:""; width:.75em; height:3px; background:var(--red); margin-left:-1em; }
.page .article h3{ border:1px solid var(--red); border-radius:.5em; padding:.5em; }
.article .kyu-content-inner h3, 
.article .tab-content h3,
#point .article .sub_title{ padding:.25em 0; border:none; }
.page .article h3::before,
.article .kyu-content-inner h3::before,
.article .tab-content h3::before{ display:none; }
.article h2, .single-interview .posttitle_area .sub_title, #news .catch,
#point .article .sub_title,
.article h4{ color:var(--red-st); }
.article p{ margin-bottom:2em; }
.article ul{ padding:.5em .5em .5em 2em; }
.article ul li{ margin:0 0 .5em; }
.article p + ul{ margin:-1em 0 0; }
.article h2 + ul{ margin:-.5em 0 0; }
.article p + ol{ margin:-1em 0 1em 1.5em; }
.article table{ width:100%; }
.article dd p{ margin:0; }
a{ color:var(--blue-st2); }
a:hover{ text-decoration:none; }
.tap:active, a.page-numbers:active{ transform:scale(.95); }
ol{ margin:0 0 1em 1.5em; }
dt{ background:var(--gray); font-weight:bold; padding:.5em 1em; }
dt:not(:first-of-type){ margin-top:1em; }
dd{ padding:.5em 1em; }
.tags{ font-size:.85em; margin:.5em 0 0; }
.tags span{ display:inline-block; margin:0 1em 0 0; }
.tags span::before{ content:'#'; }
.tags span:not(:last-of-type)::after{ content:', '; }
.col3, .col2{ position:relative; }
.col3 > a, .col2 > a{ position:relative; display:block; }
@media screen and (max-width:428px) {
    table.sp_table_block{ display:block; width:100%; }
    table.sp_table_block tbody{ display:block; width:100%; }
    table.sp_table_block tr, table.sp_table_block th, table.sp_table_block td{ display:block; width:100%; }
    table.sp_table_block th, table.sp_table_block td{ padding:1em .5em; }
}
@media screen and (min-width:768px) {
	.sp_visible{ display:none; }
    .pc_sp_visible{ display:block; }
    .col3, .col2{ display:flex; align-items:center; }
    .col3 > a{ width:33.33%; }
    .col2 > a{ width:50%; }
}
@media screen and (min-width:1280px) {
    .tab_visible{ display:none; }
    .pc_tab_visible{ display:block; }
    .page .article h3{ padding:.5em 1em; }
    dl{ display:flex; flex-wrap:wrap; width:100%; }
    dt, dd{ width:30%; padding:1em 1em; }
    dd{ width:70%; }
    dt:not(:first-of-type), dd:not(:first-of-type){ margin-top:1em; }
}
@media screen and (min-width:1600px) {
    /* h1, .title{ font-size:clamp(4rem, calc(-4.125rem + 8.13vw), 5.625rem); } */
    h2, .catch{ font-size:clamp(2.813rem, calc(-3.125rem + 5.94vw), 4rem); }
    h3, .side_title{ font-size:clamp(2rem, calc(-2.063rem + 4.06vw), 2.813rem); }
    h4{ font-size:clamp(1.438rem, calc(-1.375rem + 2.81vw), 2rem); }
}

/* margin, text-align */
.mT05em{ margin-top:.5em !important; }
.mT1em{ margin-top:1em !important; }
.mT2em{ margin-top:2em !important; }
.mT3em{ margin-top:3em !important; }
.mT4em{ margin-top:4em !important; }
.mB05em{ margin-bottom:.5em !important; }
.mB1em{ margin-bottom:1em !important; }
.mB2em{ margin-bottom:2em !important; }
.mB3em{ margin-bottom:3em !important; }
.mB4em{ margin-bottom:4em !important; }

/* アイコン */
.icon_color{ width:1.1em; height:1.1em; fill:var(--red-st); }
.icon_color.gray{ fill:#606060; }
.icon_color.white{ fill:#fff; }
.buttons .icon_color{ width:2em; height:2em; }
.buttons a:hover .icon_color{ fill:var(--blue-st2); }

/* フワッと表示 jsとセットで使う */
.load-up{ opacity:0; transform:translateY(20px); transition:all 1.5s; }
.scroll-block{ opacity:0; transform:translateY(20px); transition:all 1.5s; }
.load-up.blockIn, .scroll-block.blockIn{ opacity:1; transform:translateY(0); }
.load-up-l{ opacity:0; transform:translateX(20px); transition:all 1.5s; }
.scroll-block-l{ opacity:0; transform:translateX(20px); transition:all 1.5s; }
.load-up-l.blockIn, .scroll-block-l.blockIn{ opacity:1; transform:translateX(0); }

/* linkアニメーション */
.arrow{ position:relative; }
.arrow::after{ display:block; position:absolute; top:50%; right:1.8em; transform:translateY(-50%) rotate(45deg); width:.75em; height:.75em; border-top:2px solid var(--red); border-right:2px solid var(--red); content:""; animation:move-arrow 1.75s linear infinite; z-index:5; }
.blog_list2 .arrow::after{ top:auto; bottom:.5em; transform:rotate(45deg); }
.footer_menu .arrow::after{ left:0; width:.5em; height:.5em; border-color:var(--blue-st2); animation:move-arrow-l 1.75s linear infinite; }
.footer_menu .arrow:hover::after{ left:.25em; }
.drawer_menu .arrow::after{ width:.5em; height:.5em; animation:move-arrow-2 1.75s linear infinite; }
@keyframes move-arrow{
    0% { right:2em; opacity:0;}
    30% { opacity:1;}
    60% { opacity:1;}
    100% { right:1em; opacity:0;}
}
@keyframes move-arrow-2{
    0% { right:1.5em; opacity:0;}
    30% { opacity:1;}
    60% { opacity:1;}
    100% { right:1em; opacity:0;}
}

/* ボタン */
.linkbutton{ position:relative; margin:0; z-index:1; }
button.btn, .linkbutton a, input[type=submit], .wpcf7 .wpcf7-submit{ text-decoration:none; cursor:pointer; position:relative; display:block; width:240px; text-align:center; padding:.75rem 1rem; margin:0 auto; font-size:1.125em; user-select:none; transition:all .3s ease; color:#fff; background:var(--blue-st); overflow:hidden; background-size:400% 400%; border:0; }
.wpcf7 .wpcf7-submit{ margin-top:2em; font-weight:bold; border-radius:0; border:none; }
button.btn:hover, .linkbutton a:hover, input[type=submit]:hover, .wpcf7 .wpcf7-submit:hover{ background:var(--red-st); }
.home #page_header .title_area .linkbutton a,
.stepwrap .linkbutton a{ max-width:240px; width:auto; }
.searchform button.btn{ width:auto; width:50px; height:50px; line-height:1; border:none; background:var(--blue-st); transition:all .3s ease; }
.searchform button.btn:hover{ background:var(--blue-st2); }
.wp-block-buttons{ margin:3em 0; font-weight:bold; }
a.wp-block-button__link{ position:relative; min-width:240px; background:var(--blue-st); color:#fff; border-radius:0; }
a.wp-block-button__link:hover{ background:var(--red-st); }
.is-style-outline a.wp-block-button__link{ border:1px solid var(--blue-st); background:none; color:var(--blue-st); }
.is-style-outline a.wp-block-button__link:hover{ background:var(--blue-st); color:#fff; }
.buttons{ position:relative; display:flex; }
.buttons a{ position:relative; display:flex; flex-direction:column; justify-content:center; align-items:center; text-decoration:none; transition:all .3s ease; }
.buttons a p{ font-weight:bold; font-size:.9em; }
#global_menu .buttons{ height:100%; }
#global_menu .buttons a{ height:100%; aspect-ratio:1; color:var(--red-st); }
#global_menu .buttons a:hover{ color:var(--blue-st2); }
@media screen and (min-width:1280px) and (max-width:1600px) {
    #global_menu .buttons a{ aspect-ratio:auto; width:100px; }
}

/* レイアウト */
.inner{ position:relative; padding:clamp(3.75rem, calc(2.386rem + 6.82vw), 7.5rem) clamp(1rem, calc(-0.75rem + 8.75vw), 6.25rem); }
.inner.pT0em{ padding-top:0; }
.inner.pB0em{ padding-bottom:0; }
.inner.pLR0em{ padding-right:0; padding-left:0; }
.inner2{ position:relative; margin:0 clamp(1rem, calc(-0.909rem + 9.55vw), 6.25rem); border-radius:clamp(1.875rem, calc(1.42rem + 2.27vw), 3.125rem); }
.inner2.pR0em{ margin:0 0 0 clamp(1rem, calc(-0.909rem + 9.55vw), 6.25rem); border-radius:clamp(1.875rem, calc(1.42rem + 2.27vw), 3.125rem) 0 0 clamp(1.875rem, calc(1.42rem + 2.27vw), 3.125rem); }
#archive_blog.inner2, #main_content.inner2,
#yotei.inner2, #point.inner2{ background:rgba(255,255,255,1); }
.vh100{ height:100vh !important; height:calc(var(--vh, 1vh) * 100) !important; }
.img_cover, .img_contain{ position:relative; overflow:hidden; z-index:0; }
.img_cover img, .img_contain img{ position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; z-index:-1; }
.img_contain img{ object-fit:contain; }
#wrap, #mainmenu{ position:relative; }
.wp-block-image{ margin:0 0 2em; }
.wp-block-image img{ margin:0 auto; }
.wp-block-image .wp-element-caption{ text-align:center; }
.anchor{ padding-top:60px; margin-top:-60px; }
/* header */
#header{ position:fixed; top:0; left:0; width:100%; height:clamp(3.75rem, calc(2.386rem + 6.82vw), 7.5rem); background:rgba(255,255,255,1); box-shadow:0px 0px 16px 8px rgba(17,17,26,0.1); z-index:100; }
#header.first{ position:absolute; box-shadow:none; }
#header_logo{ position:absolute; top:0; left:0; width:clamp(8.875rem, calc(5.313rem + 17.81vw), 23.125rem); height:100%; aspect-ratio:auto; border-radius:0 0 clamp(1.875rem, calc(1.42rem + 2.27vw), 3.125rem) 0; background:rgba(255,255,255,1); }
#header.first #header_logo{ width:clamp(5.625rem, calc(3.125rem + 12.5vw), 12.5rem); height:auto; aspect-ratio:1; }
#header_logo h1, #header_logo p.logotext{ position:relative; width:100%; height:100%; font-size:clamp(1.125rem, calc(0.982rem + .71vw), 1.5rem); font-weight:bold; z-index:2; }
#header_logo h1 a, #header_logo p.logotext a{ position:relative; display:flex; justify-content:center; align-items:center; width:100%; height:100%; z-index:1; }
#header_logo h1 a img, #header_logo p.logotext a img{ position:relative; width:clamp(6.875rem, calc(4.375rem + 12.5vw), 16.875rem); aspect-ratio:11 / 2; }
#header_logo h1 a img.logo1, #header_logo p.logotext a img.logo1{ display:none; }
#header_logo h1 a img.logo2, #header_logo p.logotext a img.logo2{ display:block; }
#header.first #header_logo h1 a img, #header.first #header_logo p.logotext a img{ width:clamp(3.75rem, calc(2.841rem + 4.55vw), 6.25rem); aspect-ratio:4 / 5; }
#header.first #header_logo h1 a img.logo1, #header.first #header_logo p.logotext a img.logo1{ display:block; }
#header.first #header_logo h1 a img.logo2, #header.first #header_logo p.logotext a img.logo2{ display:none; }
#header.upmove{ animation:UpAnime .2s forwards; }
    @keyframes UpAnime{
        from {
        opacity: 1;
        transform: translateY(0);
        }
        to {
        opacity: 0;
        transform: translateY(-90px);
        }
    }
    #header.downmove{ animation:DownAnime .2s forwards; }
    @keyframes DownAnime{
        from {
        opacity: 0;
        transform: translateY(-90px);
        }
        to {
        opacity: 1;
        transform: translateY(0);
        }
    }
/* footer */
#footer{ position:relative; }
#footer_contact .inner, #footer_menu_area .inner{ margin:0; }
#footer_contact ul{ list-style:none; }
#footer_contact ul li{ width:100%; margin:1em 0; }
#footer_contact ul a{ display:block; position:relative; width:100%; aspect-ratio:16 / 9; border-radius:clamp(1.875rem, calc(1.42rem + 2.27vw), 3.125rem); overflow:hidden; text-decoration:none; color:#fff;
background:url(img/footer_photo2.jpg) no-repeat center center; background-size:cover; }
#footer_contact ul li:first-of-type a{ background-image:url(img/footer_photo1.jpg); }
#footer_contact ul li:last-of-type a{ background-image:url(img/footer_photo3.jpg); }
#footer_contact ul a:hover{ transform:translateY(-.5em); box-shadow:rgba(50,50,93,.25) 0px 50px 100px -20px, rgba(0,0,0,.3) 0px 30px 60px -30px; }
#footer_contact .sub_title{ position:absolute; bottom:.5em; left:1em; margin:0 !important; z-index:2; }
#footer_contact .overlay{ position:absolute; inset:0; background:rgba(217,37,70,.2); z-index:1; }
#copyright{ position:relative; font-size:.75em; text-align:center; padding:1em 0; z-index:1; }
/* TOPへ戻るボタン */
.return_top{ display:none; text-align:center; position:fixed; right:0; bottom:6.25rem; width:60px; height:60px; border-radius:1em 0 0 1em; padding:1.25em 0; font-weight:bold; color:#fff; text-decoration:none; background:var(--red-st); z-index:50; }
.return_top::before{ content:""; position:absolute; top:1em; left:50%; width:10px; height:10px; border-top:2px solid #fff; border-right:2px solid #fff; transform:translate(-50%, 0) rotate(-45deg); }
.return_top:hover{ color:#fff; background:var(--blue-st2); }
/* 記事中のyoutube */
.wp-block-embed.wp-block-embed-youtube,
.wp-block-embed.wp-embed-aspect-16-9{ position:relative; aspect-ratio:16 / 9; max-width:1000px; margin:0 auto; }
.wp-block-embed.wp-block-embed-youtube .wp-block-embed__wrapper,
.wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper{ width:100%; height:100%; }
.wp-block-embed.wp-block-embed-youtube iframe,
.wp-block-embed.wp-embed-aspect-16-9 iframe{ position:absolute; top:0; left:0; width:100%; height:100%; }
/* 記事中のカラム */
.junbi1 .wp-block-column{ padding:1em; background:var(--gray); }
.junbi1 .wp-block-columns{ margin-bottom:2em; }
.junbi1 .wp-block-heading::before{ content:"01"; position:absolute; bottom:0; right:0; font-size:4em; color:#fff; font-weight:normal; line-height:1; }
.junbi1 .wp-block-columns:first-of-type .wp-block-column:nth-of-type(2) .wp-block-heading::before{ content:"02"; }
.junbi1 .wp-block-columns:last-of-type .wp-block-column:nth-of-type(1) .wp-block-heading::before{ content:"03"; }
.junbi1 .wp-block-columns:last-of-type .wp-block-column:nth-of-type(2) .wp-block-heading::before{ content:"04"; }
/* 記事中のフロー */
.stepwrap{ margin:2em 0; position:relative; }
.stepwrap .steptitle{ position:relative; display:flex; align-items:center; }
.steptitle .title{ margin:0 0 0 .5rem; color:var(--red); }
.steptitle .stepcircle{ display:inline-flex; flex-direction:column; justify-content:center; align-items:center; width:3rem; height:3rem; border-radius:5rem; background:var(--red-sf); color:#fff; text-align:center; line-height:1.5em !important; font-size:.75em; }
.steptitle .stepcircle span{ display:inline-block; font-size:2.125em; position:relative; }
.stepwrap .steptxt{ padding:1em 0 0 2.5rem; }
.stepwrap:not(:last-of-type) .stepline{ width:1px; height:calc(100% + 2em); background:#555; position:absolute; top:1em; left:1.5rem; z-index:-1; }
@media screen and (max-width:1279px) {
    .wp-block-image .alignright,
    .wp-block-image .alignleft{ float:none; margin:3em auto; }
}
@media screen and (min-width:429px) {
    .images.col3{ display:flex; flex-wrap:wrap; justify-content:center; }
    .images.col3 .img_cover{ width:32%; margin:0 0 3em; }
    .images.col3 .img_cover:not(:nth-of-type(3n)){ margin-right:2%; }
    #footer_contact ul{ list-style:none; display:flex; flex-wrap:wrap; justify-content:center; }
    #footer_contact ul li{ width:49%; }
    #footer_contact ul li:first-of-type{ margin-right:2%; }
    .stepwrap .steptxt{ padding-left:3.5rem; }
}
@media screen and (min-width:1280px) {
    .inner{ padding:120px 0; margin:0 clamp(6.25rem, calc(-6.25rem + 15.63vw), 9.375rem); }
    .return_top{ bottom:clamp(3.125rem, calc(2.173rem + 4.76vw), 5.625rem); width:70px; height:70px; }
    .wp-block-image .alignright{ margin:3em 0 3em 3em; }
    .wp-block-image .alignleft{ margin:3em 3em 3em 0; }
    #footer_contact ul li{ width:32%; margin:0; }
    #footer_contact ul li:first-of-type{ margin:0; }
    #footer_contact ul li:not(:first-of-type){ margin-left:2%; }
    .stepwrap .steptitle{ padding:.75em 1em; border:1px solid #ccc; background:#fff; border-radius:5rem; }
    .steptitle .title{ margin:0 0 0 .5em; }
    .steptitle .stepcircle{ flex-direction:row; width:auto; height:auto; border-radius:5rem; padding:.5em 1.5em; font-size:1em; }
    .steptitle .stepcircle span{ margin:0 0 0 .125em; }
    .stepwrap .steptxt{ padding:1em 2em 0 6.25em; }
    .stepwrap:not(:last-of-type) .stepline{ left:4.25em; }
}
@media screen and (min-width:1600px) {
    .stepwrap .steptxt{ padding:1em 4.5em 0 8.75em; }
}

/* nav */
/* drawer */
.hamburger{ display:block; text-decoration:none; position:absolute; top:0; right:0; width:clamp(3.75rem, calc(2.386rem + 6.82vw), 7.5rem); aspect-ratio:1; background:var(--red-st); display:flex; flex-direction:column; justify-content:center; align-items:center; cursor:pointer; transition:all .3s ease; z-index:2; }
.hamburger:hover{ background:var(--red); }
.hamburger_border{ display:inline-block; width:2em; height:2px; background:#fff; margin:4px 0; transition:all .3s ease; }
.h_sp_menu{ display:inline-block; text-align:center; text-transform:uppercase; margin:5px 0 0; padding:0; line-height:1; font-size:.85em; color:#fff; font-weight:bold; transition:all .3s ease; }
.nav-open .hamburger_border{ width:2em; }
.nav-open .hamburger_border_top{ transform:translateY(10px) rotate(45deg); }
.nav-open .hamburger_border_center{ width:0; }
.nav-open .hamburger_border_bottom{ transform:translateY(-10px) rotate(-45deg); }
#drawer_menu{ position:fixed; right:-100vw; top:0; width:100%; height:100vh; height:calc(var(--vh, 1vh) * 100); display:flex; align-items:flex-start; transition:all .3s ease; opacity:0; overflow-y:auto; z-index:99; }
.nav-open #drawer_menu{ right:0; opacity:1; }
.drawer_inner{ position:relative; width:100%; margin:0 clamp(1rem, calc(-2.758rem + 18.79vw), 6.25rem); padding:clamp(5.625rem, calc(3.58rem + 10.23vw), 11.25rem) 0; transition:opacity .3s .3s ease; opacity:0; z-index:1; }
.nav-open .drawer_inner{ opacity:1; }
.black_bg{ position:fixed; right:0; top:0; width:100%; height:100vh; height:calc(var(--vh, 1vh) * 100); z-index:-5 !important; opacity:0; visibility:hidden; cursor:pointer; background:rgba(255,255,255,.95); transition:all .3s ease; }
.nav-open .black_bg{ opacity:1; visibility:visible; }
#drawer_menu ul.menu{ margin:2em auto 0; display:flex; flex-wrap:wrap; justify-content:space-between; pointer-events:auto; }
#drawer_menu ul.menu li{ width:100%; display:flex; flex-wrap:wrap; }
#drawer_menu ul.menu > li:not(:first-of-type){ margin-top:1em; }
#drawer_menu ul.menu a{ position:relative; display:flex; align-items:center; width:calc(100% - 50px); height:50px; margin:0 10px 0 0; font-size:clamp(1rem, calc(0.952rem + 0.24vw), 1.125rem); font-weight:bold; text-decoration:none; border-radius:5rem; }
#drawer_menu ul.menu a:hover{ background:rgba(255,0,0,.05); color:var(--red-st); padding-left:1em; }
#drawer_menu ul.sub-menu{ margin:0 1em; }
#drawer_menu ul.sub-menu li{ margin:.5em 0; }
#drawer_menu ul.sub-menu a{ width:100%; margin:0; }
#global_menu{ position:relative; display:flex; justify-content:flex-end; height:100%; margin-right:clamp(3.75rem, calc(2.386rem + 6.82vw), 7.5rem); }
#global_menu ul.menu{ display:none; pointer-events:none; }
/* ドロワーアコーディオン */
.toggle{ display:none; }
.label_menu{ position:relative; display:inline-block; width:40px; height:40px; border:1px solid var(--red); border-radius:5rem; font-size:1.25em; color:var(--red); line-height:1; cursor:pointer; }
.label_menu::before{ content:"＋"; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); }
.label_menu,
#drawer_menu ul.sub-menu{ -webkit-backface-visibility:hidden; backface-visibility:hidden;
	transform:translateZ(0); transition:all .5s ease; }
#drawer_menu ul.sub-menu{ width:100%; height:0; overflow:hidden; }
#drawer_menu .toggle:checked + .label_menu + ul.sub-menu{ height:auto; padding:0 .5em; border-radius:1em; background:var(--gray); transition:all .5s ease; }
#drawer_menu .toggle:checked + .label_menu::before{ transform:translate(-50%,-50%) rotate(-45deg) !important; }
@media screen and (min-width:768px) {
    .drawer_inner{ margin:0 100px; }
    #drawer_menu ul.menu > li{ width:46%; }
    #drawer_menu ul.menu > li:first-of-type{ margin-top:1em; }
}
@media screen and (min-width:1280px) {
    .hamburger{ display:none; pointer-events:none; }
    .nav-open .black_bg{ opacity:0; visibility:hidden; }
    .nav-open #drawer_menu{ top:-100vh; top:calc(var(--vh, 1vh) * -100); opacity:0; pointer-events:none; }
    /* グロナビ */
    #global_menu{ margin:0; }
    #global_menu ul.menu{ pointer-events:auto; width:100%; display:flex; justify-content:flex-end; }
    #global_menu ul.menu li{ position:relative; display:flex; align-items:center; }
    #global_menu ul.menu li a{ position:relative; width:100%; height:100%; padding:0 clamp(0.5rem, calc(-1.5rem + 2.5vw), 1rem); font-weight:bold; text-decoration:none; display:flex; align-items:center; }
    #global_menu ul.menu li ul.sub-menu{ visibility:hidden; opacity:0; width:260px; z-index:99; text-align:left; overflow:hidden; background:var(--red-st); box-shadow:rgba(50, 50, 50, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; transition:all .3s ease; pointer-events:none; }
    #global_menu ul.menu li ul.sub-menu a{ background:var(--red-st); color:#fff; padding:1em; }
    #global_menu ul.menu li ul.sub-menu a:hover{ background:var(--blue-st2); }
    #global_menu ul.menu > li > ul.sub-menu{ position:absolute; top:100px; left:0; }
    #global_menu ul.menu > li:last-of-type > ul.sub-menu{ left:auto; right:0; }
    #global_menu ul.menu > li:hover > ul.sub-menu, 
    #global_menu ul.menu > li > ul.sub-menu > li:hover > ul.sub-menu{ visibility:visible; opacity:1; pointer-events:auto; }
    #global_menu ul.menu > li:hover > ul.sub-menu{ top:110px; }
    #global_menu ul.menu > li > ul.sub-menu > li > ul.sub-menu{ position:absolute; top:0; left:260px; }
    #global_menu ul.menu > li:last-of-type > ul.sub-menu > li > ul.sub-menu{ left:-260px; }
}

/* フッターメニュー */
.aboutus{ text-align:center; padding:0 0 2em; }
.aname{ font-weight:bold; }
.aname a{ text-decoration:none; }
.aname:before{ content: url(/wp/wp-content/themes/Nipponisankentei-child/img/icon_jha.png); position:relative; top:7px; left:0; margin:0 5px 0 0; }
.footer_menu ul.menu{ list-style:none; padding:2em 0; border-top:1px solid #ccc; }
.footer_menu ul.menu a{ display:block; padding:.25em 0 .25em 1em; text-decoration:underline; }
.footer_menu ul.sub-menu{ list-style:none; margin-left:1em; }
@media screen and (min-width:429px) {
    .footer_menu1 ul.menu{ display:flex; flex-wrap:wrap; justify-content:space-between; }
    .footer_menu1 ul.menu > li{ width:49%; }
}
@media screen and (min-width:768px) {
    .footer_menu2 ul.menu{ display:flex; }
    .footer_menu2 ul.menu li:not(:first-of-type){ margin-left:2em; }
}
@media screen and (min-width:1280px) {
    .footer_menu1 ul.menu > li{ width:auto; flex-wrap:nowrap; }
}

/* SNS */
ul.sns{ list-style:none; display:flex; justify-content:center; margin-top:2em; }
ul.sns li:not(:first-of-type){ margin-left:1em; }
ul.sns li a{ position:relative; display:block; height:40px; aspect-ratio:1; }
ul.sns img{ position:relative; height:100%; }
.article .interview_profile_text ul.sns{ justify-content:flex-start; margin:2em 0 0; padding:0; }
.article .interview_profile_text ul.sns li a{ height:2em; }

/* パンクズ */
.breadcrumb{ position:relative; z-index:1; }
.breadcrumb.inner2{ padding-top:clamp(1rem, calc(0.227rem + 3.86vw), 3.125rem); padding-bottom:clamp(1rem, calc(0.227rem + 3.86vw), 3.125rem); }
.breadcrumb ul{ display:flex; flex-wrap:wrap; align-items:center; list-style:none; }
.breadcrumb li{ display:flex; align-items:center; font-size:.85em; color:#fff; }
.breadcrumb li a{ display:inline-block; padding:.25em 0; text-decoration:underline; color:#fff; }
.breadcrumb li a span{ display:flex; align-items:center; }
.breadcrumb li span{ display:inline-block; padding:.25em 0; }

/* ページネーション */
.pagination{ margin:0 auto; }
ul.page-numbers{ list-style:none; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; }
ul.page-numbers li{ margin:0 .125em; }
ul.page-numbers a, ul.page-numbers .current{ display:flex; justify-content:center; align-items:center; width:32px; height:32px; border:1px solid var(--blue-st); border-radius:10px; }
ul.page-numbers .current{ background:var(--blue-st2); color:#fff; }
ul.page-numbers a:hover{ background:var(--blue-st2); border:1px solid var(--blue-st2); color:#fff; }
@media screen and (min-width:429px) {
    ul.page-numbers a, ul.page-numbers .current{ width:2.75em; height:2.75em; }
}
@media screen and (min-width:768px) {
    ul.page-numbers li{ margin:0 .25em; }
}

/* sidemenu */
#sidemenu{ position:relative; overflow:hidden; }
#sidemenu select{ -webkit-appearance:none; -moz-appearance:none; appearance:none; background:#fff; outline:none; border:1px solid #ccc; border-radius:4px; height:50px; padding:.5em 1em; font-size:1em; cursor:pointer; width:100%; }
#sidemenu select::-ms-expand{ display:none; }
.selectbox1{ position:relative; overflow:hidden; }
.selectbox1::after{ position:absolute; content:''; pointer-events:none; top:50%; right:1.4em; transform:translate(50%, -50%) rotate(45deg); width:.5em; height:.5em; border-bottom:2px solid var(--red); border-right:2px solid var(--red); content:''; }
#sidemenu ul.cat li{ display:block; margin:0; }
#sidemenu ul.cat li:not(:first-of-type){ margin-top:.5em; }
#sidemenu ul.cat li a{ padding:.5em 1em; border-radius:5rem; border:none; background:var(--gray); width:100%; }
#sidemenu ul.cat li a:hover{ background:var(--red-st); color:#fff; }
@media screen and (max-width:767px) {
    #sidemenu .inner > div:last-of-type{ margin-top:2em; }
}
@media screen and (min-width:768px) {
    #sidemenu > .inner{ display:flex; justify-content:space-between; }
    #sidemenu{ justify-content:space-between; }
    #sidemenu .inner > div{ width:48%; }
}

/* wpcf7 */
.wpcf7{ position:relative; }
.wpcf7 p{ margin-bottom:0 !important; }
.wpcf7 a{ text-decoration:underline; }
.wpcf7 input, .wpcf7 textarea{ width:100%; padding:.5em; border:1px solid #ccc; border-radius:4px; line-height:1.4; }
.wpcf7 select, .wpcf7 input[type=checkbox], .wpcf7 input[type=radio] { width:auto; max-width:97%; padding:8px; border:1px solid #ccc; border-radius:4px; }
.wpcf7 select, .wpcf7 .wpcf7-list-item-label{ line-height:1.4; }
.wpcf7 .wpcf7-list-item{ display:block; }
.wpcf7 textarea{ height:300px; }
.wpcf7 input:focus, .wpcf7 textarea:focus{ border:1px solid var(--blue-sf); outline:none; }
.hissu{ display:inline-block; background:var(--red); color:#fff; font-size:.9rem; font-weight:bold; padding:.1em .5em 0; margin:0 0 0 .5em; border-radius:4px; }
@media screen and (min-width:768px) {
    .wpcf7 .text_doui{ margin:0 1em; }
}
@media screen and (min-width:1280px) {
    .wpcf7 .text_doui{ margin:0 2em; }
}

/* search */
.searchform{ display:flex; justify-content:space-between; align-items:center; }
.searchform .keyword_text{ width:calc(100% - 65px); }
.searchform input{ width:100%; height:50px; padding:.5em 1em; border:1px solid #ccc; border-radius:4px; line-height:1.4; }
.searchform input:focus{ border:1px solid var(--blue-st2); outline:none; }

/* splide */
.splide{ z-index:0; }
.splide-controller{ margin-top:2em; }
.splide__pagination{ display:flex; gap:1.2em .5em; justify-content:center; margin:0 auto 2em 0; }
.splide__pagination>li{ font-size:0;
      /* liタグの下にある余白を消すため */ }
/* 前へ / 次へボタン */
.splide__arrows{ display:flex; justify-content:center; }
.splide__arrow--prev, .splide__arrow--next{ display:grid; place-content:center; width:50px; height:50px; margin:0 .25rem; cursor:pointer; background:#ccc; border-radius:50%; border:none; transition:all .3s ease; }
.splide__arrow--prev:hover, .splide__arrow--next:hover{ background:#eee; }
.splide__arrow--prev::after, .splide__arrow--next::after{ width:.8rem; height:.8rem; content:""; border:3px solid #fff; border-width:3px 3px 0 0; }
.splide__arrow--prev::after{ margin-left:.4rem; transform:rotate(-135deg); }
.splide__arrow--next::after{ margin-right:.4rem; transform:rotate(45deg); }
.splide__arrow>svg{ display:none; }
.splide__arrow:disabled{ pointer-events:none; opacity:0; }
.splide__arrow:focus-visible{ outline:3px solid #ccc; outline-offset:3px; z-index:1; transition:none; }
.splide__pagination__page{ border:none; width:1.6em; height:6px; cursor:pointer; vertical-align:top; background-color:#ccc; transition:all .3s ease; }
.splide__pagination__page:focus-visible{ outline:3px solid #ccc; outline-offset:3px; z-index:1; transition:none; }
.splide__pagination__page.is-active{ width:4em; background-color:#eee; }
.splide__slide:focus-visible{ outline: 3px solid #ccc; outline-offset:3px; z-index:1; transition:none; }
/* firefoxちらつき防止 */
@-moz-document url-prefix(){
    .slide{ outline:1px solid transparent; border:1px solid rgba(255,255,255,.1); }
}
.splide-wrapper{ position:relative; }
.card{ overflow:hidden; }
.card .splide{ position:relative; }
.card .splide__track{ overflow:visible; }
.card .splide__slide{ display:block; width:max-content; transition:all .3s ease; }
.card .slide{ overflow:hidden; transition:all .3s ease; }
@media screen and (min-width:429px) {
    .splide-controller{ position:relative; display:flex; }
}

/* 記事リスト1・記事リスト2 */
.blog_list2{ display:flex; flex-wrap:wrap; justify-content:space-between; }
.blog_list .item{ position:relative; width:100%; }
.blog_list2 .item{ position:relative; width:100%; margin:0 0 90px; }
.blog_list a,
.blog_list2 a{ display:block; position:relative; text-decoration:none; }
.blog_list a{ display:flex; justify-content:space-between; align-items:center; padding:2em 0; }
.blog_list .item:not(:first-of-type) > a{ border-top:1px solid #ccc; }
.blog_list a .img_cover{ width:100px; aspect-ratio:1 / 1; border-radius:clamp(1.875rem, calc(1.42rem + 2.27vw), 3.125rem); transition:all .3s ease; }
.blog_list.search_list a .img_cover{ width:150px; aspect-ratio:3 / 2; }
.blog_list2 a .img_cover{ width:100%; aspect-ratio:3 / 2; border-radius:clamp(1.875rem, calc(1.42rem + 2.27vw), 3.125rem); transition:all .3s ease; }
.blog_list a:hover .img_cover,
.blog_list2 a:hover .img_cover{ transform:translateY(-.5em); box-shadow:rgba(50,50,93,.25) 0px 50px 100px -20px, rgba(0,0,0,.3) 0px 30px 60px -30px; }
.blog_list a .img_cover > div,
.blog_list2 a .img_cover > div{ position:absolute; top:0; left:0; width:100%; height:100%; transition:all .3s ease; z-index:-1; }
.blog_list a:hover .img_cover > div,
.blog_list2 a:hover .img_cover > div{ transform:scale(1.1); }
.blog_list .title_area{ width:calc(100% - 110px); padding:0 2em 0 0; }
.blog_list .noimage .title_area{ width:100%; padding:0 2.5em 0 0; }
.blog_list.search_list .title_area{ width:calc(100% - 160px); }
.blog_list a .title_area .title,
.blog_list2 a .title_area .title{ font-size:clamp(1.125rem, calc(0.917rem + 0.69vw), 1.438rem); margin:1em 0 0 !important; overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; transition:all .3s ease; }
.blog_list2 a .title_area .title{ -webkit-line-clamp:3; line-clamp:3; }
.post-type-archive-interview .blog_list2 a .title_area .title{ -webkit-line-clamp:4; line-clamp:4; }
.blog_list a:hover .title_area .title,
.blog_list2 a:hover .title_area .title{ color:var(--red); }
.blog_list2 .meta_area{ margin-top:1em; }
ul.cat, ul.tag{ list-style:none; margin-top:.5em; }
ul.cat li, ul.tag li{ display:inline-block; margin:.25em 0; }
ul.cat li a{ padding:.1em 1em; border:1px solid var(--blue-st); color:var(--blue-st); font-weight:bold; border-radius:.5em; text-decoration:none; }
ul.cat li a:hover{ background:var(--blue-st2); color:#fff; }
.blog_list ul.cat{ margin-bottom:2em; }
ul.tag li a::before{ content:"#"; }
ul.tag li:not(:last-of-type) a::after{ content:", "; }
@media screen and (min-width:429px) {
    .blog_list2 .item{ width:48%; }
}
@media screen and (min-width:768px) {
    .blog_list.search_list a .img_cover,
    .blog_list.news_list a .img_cover{ width:210px; }
    .blog_list.search_list .title_area,
    .blog_list.news_list .title_area{ width:calc(100% - 230px); }
    #news .blog_list{ display:flex; }
    #news .blog_list > h2{ width:30%; }
    #news .blog_list > div{ width:70%; }
}
@media screen and (min-width:1280px) {
    .blog_list2{ justify-content:flex-start; }
    .blog_list2 .item{ width:30%; }
    .blog_list2 .item:not(:nth-of-type(3n)){ margin-right:5%; }
    .blog_list.search_list a .img_cover{ width:270px; }
    .blog_list.search_list .title_area{ width:calc(100% - 290px); }
}

/* 波型境界線 */
.customshape-bottom{ position:absolute; bottom:0; left:0; width:100%; overflow:hidden; line-height:0; transform:rotate(180deg); z-index:0; }
.customshape-bottom svg{ position:relative; display:block; width:calc(100% + 1.3px); height:60px; }
.customshape-bottom .shape-fill{ fill:#fff; }
#footer_contact .customshape-bottom{ bottom:0; }
#footer_contact .customshape-bottom .shape-fill{ fill:var(--red); }
@media screen and (min-width:768px) {
    #footer_contact .customshape-bottom svg{ height:clamp(3.75rem, calc(0.938rem + 5.86vw), 5.625rem); }
}
@media screen and (min-width:1280px) {
    #footer_contact .customshape-bottom svg{ height:90px; }
}

/* 投稿・固定 */
#page_header{ position:relative; overflow:hidden; width:100%; margin-top:clamp(3.75rem, calc(2.386rem + 6.82vw), 7.5rem); }
#page_header .title_area{ position:relative; padding-top:clamp(4rem, calc(2.545rem + 7.27vw), 8rem); color:#fff; }
#page_header .eng{ line-height:1.2; }
#page_header .title{ position:relative; line-height:1.2; }
#page_header .img_cover{ width:100%; aspect-ratio:16 / 9; }
.meta_area{ position:relative; display:flex; flex-wrap:wrap; align-items:center; list-style:none; padding:0; color:#777; }
.posttitle_area .meta_area{ padding:0; margin:2em 0 clamp(3.75rem, calc(2.386rem + 6.82vw), 7.5rem) !important; }
.posttitle_area .meta_area p{ display:flex; align-items:center; margin:.5em 0 0; width:100%; }
.single_cat a{ display:inline-block; padding:.125em 1em 0; border:1px solid var(--blue-st2); border-radius:.5em; text-decoration:none; transition:all .3s ease; }
.single_cat a:hover{ background:var(--blue-st2); color:#fff; }
.single_tags{ margin:1em 0 0 !important; }
.single_tags a{ display:inline-block; padding:.125em 0 0; margin:0 1em 0 0; }
.single_tags a::before{ content:'#'; }
.single_tags a:not(:last-of-type)::after{ content:', '; }
.posttitle_area .img_cover{ max-width:1000px; aspect-ratio:3 / 2; margin:3em auto; } 
.post_area{ padding:clamp(3.125rem, calc(1.935rem + 5.95vw), 6.25rem) 0; }
#prev_next{ list-style:none; display:flex; justify-content:space-between; align-items:center; }
#prev_next div{ position:relative; width:50%; }
#prev_next div a{ position:relative; display:flex; justify-content:flex-end; align-items:center; padding:.75em 2em .75em 1em; border:1px solid #ccc; }
#prev_next div a::after{ content:""; position:absolute; top:50%; transform:translateY(-50%) rotate(45deg); right:1em; width:.625em; height:.625em; border-top:2px solid var(--red); border-right:2px solid var(--red); z-index:1; }
#prev_next div a:hover::after{ right:.5em; }
#prev_next div:first-of-type a{ justify-content:flex-start; padding:.75em 1em .75em 2em; }
#prev_next div:first-of-type a::after{ right:auto; left:1em; transform:translateY(-50%) rotate(225deg); }
#prev_next div:first-of-type a:hover::after{ left:.5em; }
.scrolldown{ position:absolute; bottom:0; left:50%; transform:translateX(-50%); z-index:11; }
.scrolldown a{ display:inline-block; }
.scrolldown span{ display:inline-block; padding:.25em 1em 20px; }
.scrolldown::after{ content:""; position:absolute; top:25px; left:50%; transform:translateX(-50%); width:1px; height:20px; background:var(--blue-ltg); animation:pathmove 1.4s ease-in-out infinite; opacity:0; }
@keyframes pathmove{
    0%{
        height:0;
        top:25px;
        opacity: 0;
    }
    30%{
        height:20px;
        opacity: 1;
    }
    100%{
        height:0;
        top:50px;
        opacity: 0;
    }
}
/* 各級の案内 */
.kyu-wrap{ display:flex; flex-wrap:wrap; }
.kyu-content{ width:33%; }
.kyu-content:not(:last-of-type){ margin-right:.5%; }
.kyu-title{ color:#fff; font-weight:bold; white-space:nowrap; text-align:center; padding:.5em 1em; border-radius:.5em .5em 0 0; margin-bottom:0 !important; font-size:1.25em; background:var(--red-sf); }
.kyu-content:nth-of-type(2) .kyu-title{ background:var(--purple-sf); }
.kyu-content:last-of-type .kyu-title{ background:var(--blue-sf); }
.kyu-content-inner{ border:1px solid #ccc; border-top:none; padding:1em; }
.article .kyu-content-inner dt, .article .kyu-content-inner dd{ padding:.25em .5em; width:100%; }
.article .kyu-content-inner dt:not(:first-of-type){ margin-top:.5em; }
.article .kyu-content-inner dl{ margin:0; display:block; }
/* Interview プロフィール */
.posttitle_area .interview_profile .img_cover{ max-width:500px; aspect-ratio:1; border-radius:500px; }
/* FAQ */
.cp_qa .cp_actab{ position:relative; overflow:hidden; width:100%; margin:0 0 1em 0; color:#222; }
.cp_qa .cp_actab input{ position:absolute; opacity:0; }
/* 質問 */
.cp_qa .cp_actab label{ position:relative; display:block; padding:1em 3em; cursor:pointer; text-indent:1em; font-weight:bold; border-radius:.5em; background:var(--gray); }
.cp_qa .cp_actab label::before{ font-size:1.5em; margin-left:-2em; padding-right:.5em; content:'Q'; }
.cp_qa .cp_actab label:hover{ transition:all .3s ease; color:#a60321; }
.cp_qa .cp_actab label .plus{ display:inline-block; position:absolute; top:50%; right:1em; transform:translateY(-50%); transition:all .5s ease; }
.cp_qa .cp_actab label .plus.plus1{ width:1.5em; height:2px; background:var(--blue-st2); }
.cp_qa .cp_actab label .plus.plus2{ width:2px; height:1.5em; right:calc(1.75em - 1px); background:var(--blue-st2); }
/* 答え */
.cp_qa .cp_actab .cp_actab-content{ position:relative; overflow:hidden; max-height:0; padding:0 0 0 3em; border-radius: 0 0 .5em .5em; border:1px solid #ccc; visibility:hidden; opacity:0; transition:all .5s ease; }
.cp_qa .cp_actab .cp_actab-content::before{ font-size:1.5em; position:absolute; margin:.4em 0 0 -1em; padding:0; content:'A'; color:#d92546; }
.cp_qa .cp_actab .cp_actab-content p{ margin:1em 1em 1em 0; }
/* 質問を開いた時の仕様 */
.cp_qa .cp_actab input:checked ~ label{ border-radius:.5em .5em 0 0; }
.cp_qa .cp_actab input:checked ~ label .plus.plus2{ transform:translateY(-50%) rotate(90deg); }
.cp_qa .cp_actab input:checked ~ .cp_actab-content{ max-height:30em; border:1px solid #ccc; opacity:1; visibility:visible; }
@media screen and (max-width:1279px) {
    /* 各級の案内 */
    .tab-wrap{ display:flex; flex-wrap:wrap; }
    .tab-label{ color:#fff; background:#ccc; font-weight:bold; white-space:nowrap; text-align:center; font-size:1.25em; padding:.5em 1em; order:-1; position:relative; z-index:1; cursor:pointer; border-radius:.5em .5em 0 0; flex:1; }
    .tab-label:not(:last-of-type){ margin-right:5px; }
    .tab-content{ width:100%; height:0; overflow:hidden; opacity:0; }
    .article .tab-content dt, .article .tab-content dd{ padding:.25em .5em; }
    .article .tab-content dt:not(:first-of-type){ margin-top:.5em; }
    .article .tab-content dl{ margin:0; }
    /* ラジオボタン非表示 */
    .tab-switch{ display:none; }
    /* アクティブなタブ */
    .tab-switch:checked+.tab-label{ background:var(--red-sf); }
    .tab-switch:checked+.tab-label:nth-of-type(2){ background:var(--purple-sf); }
    .tab-switch:checked+.tab-label:last-of-type{ background:var(--blue-sf); }
    .tab-switch:checked + .tab-label + .tab-content{ height:auto; overflow:auto; padding:1em; opacity:1; transition:.5s opacity; border:1px solid var(--red-sf); border-top:3px solid var(--red-sf); }
    .tab-switch:checked + .tab-label:nth-of-type(2) + .tab-content{ border:1px solid var(--purple-sf); border-top:3px solid var(--purple-sf); }
    .tab-switch:checked + .tab-label:last-of-type + .tab-content{ border:1px solid var(--blue-sf); border-top:3px solid var(--blue-sf); }
}
@media screen and (min-width:768px) {
    .posttitle_area .meta_area p{ width:auto; }
    .posttitle_area .meta_area p:not(:last-of-type){ margin-right:1em; }
}
@media screen and (min-width:1280px) {
    .page #page_header{ overflow:visible; z-index:1; }
    .page #page_header .title_area{ width:50%; }
    #page_header .eyecatch{ position:absolute; top:0; right:0; width:calc(calc(100% - 100px) / 2); }
    #page_header .img_cover{ border-radius:0 0 0 50px; aspect-ratio:auto; min-height:420px; }
    .interview_profile{ display:flex; flex-direction:row-reverse; justify-content:space-between; align-items:center; margin:3em auto; }
    .posttitle_area .interview_profile .img_cover{ width:48%; max-width:none; margin:0; }
    .interview_profile_text{ width:48%; }
}

/* 円形の文字列 */
.circleText{ overflow:visible; }
.circleText__circle{ fill:none; }
.circleText__text{ fill:#999; letter-spacing:.1em; font-size:1rem; }
#point .circleText{ position:absolute; inset:0; }
#point .circleText__text{ letter-spacing:.12em; font-size:.95rem; }
#point .num:hover .circleText{ animation:rotation 18s linear infinite; }
@keyframes rotation{
    0% {
        transform:rotate(0deg);
    }
    100% {
        transform:rotate(360deg);
    }
}
@keyframes rotation-50{
    0% {
        transform:translateY(-50%) rotate(0deg);
    }
    100% {
        transform:translateY(-50%) rotate(360deg);
    }
}
@media screen and (min-width:429px) {
    #point .circleText__text{ font-size:.95rem; }
}
@media screen and (min-width:1280px) {
    #point .circleText{ top:50%; transform:translateY(-50%); }
    #point .num:hover .circleText{ animation:rotation-50 18s linear infinite; }
}

/* banners */
.banner a{ position:relative; display:block; border-radius:clamp(1.875rem, calc(1.42rem + 2.27vw), 3.125rem); overflow:hidden; height:200px; width:100%; }
.banner a:hover{ transform:translateY(-.5em); box-shadow:rgba(50,50,93,.25) 0px 50px 100px -20px, rgba(0,0,0,.3) 0px 30px 60px -30px; }
.banner a > *{ transition:all .3s ease; }
.banner a .text{ position:absolute; top:50%; left:1em; transform:translateY(-50%); color:#fff; z-index:2; }
.banner a .sub_title{ margin:0; }
.banner a .text.sub_title span{ display:block; font-size:.6em; }
.banner a .overlay2{ position:absolute; top:50%; left:-66%; width:100%; aspect-ratio:1; transform:translateY(-50%) rotate(45deg); background:rgba(54,63,115,.7); z-index:1; }
.banner a:hover .overlay2{ transform:translateY(-50%) rotate(45deg) scale(1.05); }
.banner a .overlay1{ position:absolute; inset:0; background:rgba(54,63,115,0); z-index:0; }
.banner a:hover .overlay1{ background:rgba(54,63,115,.3); }
.banner a .img_cover.image1{ width:100%; height:100%; }
.banner a .image1{ position:absolute; top:0; left:0; z-index:-2; }
@media screen and (min-width:768px) {
    .banner a{ height:clamp(12.5rem, calc(8.75rem + 7.81vw), 15rem); }
    .banner a .text{ left:50%; transform:translate(-50%, -50%); text-align:center; }
    .banner a .overlay2{ width:clamp(15.625rem, calc(10.938rem + 9.77vw), 18.75rem); left:50%; transform:translate(-50%, -50%) rotate(45deg); background:rgba(54,63,115,1); }
    .banner a:hover .overlay2{ transform:translate(-50%, -50%) rotate(45deg) scale(1.05); }
    .banner a .img_cover.image2{ width:45%; height:100%; }
    .banner a .image2{ position:absolute; top:0; left:55%; z-index:-1; }
    .banner a .img_cover.image1{ width:45%; }
}
@media screen and (min-width:1280px) {
    .banner a{ height:clamp(15.625rem, calc(8.125rem + 9.38vw), 17.5rem); }
    .banner a .img_cover.image2, .banner a .img_cover.image1{ width:50%; }
    .banner a .image2{ left:50%; }
}

/* TOP */
.home #page_header{ height:calc(100vh - clamp(3.75rem, calc(2.386rem + 6.82vw), 7.5rem)); height:calc(calc(var(--vh, 1vh) * 100) - clamp(3.75rem, calc(2.386rem + 6.82vw), 7.5rem)); margin-bottom:clamp(3.75rem, calc(2.386rem + 6.82vw), 7.5rem); }
.home #page_header .img_cover{ width:100%; aspect-ratio:auto; height:100%; }
.home #page_header .mv1,
.home #page_header .splide-wrapper,
.home #page_header .splide__track,
.home #page_header .splide__list,
.home #page_header .splide__slide,
.home #page_header .slide{ width:100%; height:100%; }
.home #page_header .splide{ height:50%; }
.home #page_header .title_area{ position:absolute; top:50%; left:50%; width:80vw; aspect-ratio:1; min-height:300px; transform:translate(-50%, -50%); padding:1em; color:#222; text-align:center; background:rgba(255,255,255,.75); z-index:5; transition:all .3s ease; }
.home #page_header .title_area:hover{ transform:translate(-50%, calc(-50% - .5em)); }
.home #page_header .title_area a{ position:relative; width:100%; height:100%; display:flex; flex-direction:column; justify-content:center; text-decoration:none; }
.home #page_header .title_area a:hover{ color:var(--red); }
.home #page_header .title_area .title span{ display:block; font-size:.6em; }
.home #page_header .title_area .title span.catch{ margin:0; padding:0; font-size:.75em; }
.home #page_header .title_area .logo{ margin:0 auto; height:180px; }
.home #page_header .title_area .kumo{ position:absolute; }
.home #page_header .title_area .kumo.kumo1{ top:40%; right:.5em; z-index:-1; animation:floating_topitem1 5s ease-in-out .5s infinite alternate-reverse; }
.home #page_header .title_area .kumo.kumo2{ top:30%; left:1em; z-index:-2; animation:floating_topitem1 5s ease-in-out infinite alternate-reverse; }
.home #page_header .title_area .kumo.kumo3{ top:55%; right:4em; z-index:-3; animation:floating_topitem1 5s ease-in-out infinite alternate-reverse; }
.home #page_header .title_area .bgimage{ position:absolute; inset:0; z-index:-4; }
.home section{ position:relative; }
#yotei .wp-block-column{ position:relative; border:1px solid #ccc; padding:0 1em; }
.shape{ position:relative; width:90px; aspect-ratio:1; }
.shape.shape0{ position:absolute; top:clamp(7.5rem, calc(5.833rem + 8.33vw), 12.5rem); right:1.5em; width:75px; animation:floating_topitem1 5s ease-in-out infinite alternate-reverse; z-index:2; }
.shape p{ position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); width:100%; text-align:center; z-index:1; }
.shape svg{ position:absolute; top:0; left:0; width:100%; height:100%; z-index:0; fill:var(--red); }
.article #yotei .shape p{ margin:0 !important; color:#fff; font-size:1.125em; transform:translate(-50%, -50%) rotate(10deg); }
.article #yotei h3{ padding-right:calc(75px + .5em); }
/* aboutの中 */
.shape.shape1{ position:absolute; top:3em; left:calc(clamp(1rem, calc(0.667rem + 1.67vw), 2rem) * -1); width:clamp(7.5rem, calc(5.625rem + 9.38vw), 13.125rem); z-index:-3; animation:floating_topitem1 5s ease-in-out infinite alternate-reverse; }
.shape.shape2{ position:absolute; bottom:0; right:calc(clamp(1rem, calc(0.667rem + 1.67vw), 2rem) * -1); width:clamp(8.75rem, calc(6.667rem + 10.42vw), 15rem); z-index:-2; animation:floating_topitem1 5s ease-in-out .5s infinite alternate-reverse; }
.shape.shape3{ position:absolute; bottom:-3em; right:clamp(5.625rem, calc(4.167rem + 7.29vw), 10rem); width:clamp(6.875rem, calc(5.208rem + 8.33vw), 11.875rem); z-index:-1; animation:floating_topitem1 5s ease-in-out 1s infinite alternate-reverse; }
@keyframes floating_topitem1{
    0%{
        transform:translateY(-10px);
    }
    100%{
        transform:translateY(10px);
    }
}
#news .image1{ position:absolute; bottom:30px; left:0; height:120px; animation:floating_topitem1 5s ease-in-out infinite alternate-reverse; }
#news .image2{ position:absolute; bottom:30px; left:70px; height:120px; animation:floating_topitem1 5s ease-in-out .5s infinite alternate-reverse; }
#point .num{ position:relative; width:100px; aspect-ratio:1; display:flex; justify-content:center; align-items:center; margin:2em auto; }
#point .num span{ display:block; font-size:3.5em; }
#point{ overflow:hidden; }
@media screen and (max-width:428px) {
    .home #page_header .title_area .bgimage{ visibility:hidden; }
}
@media screen and (min-width:429px) {
    .home #page_header .title_area{ max-width:500px; background:rgba(255,255,255,0); }
    .home #page_header .title_area .logo{ height:clamp(11.25rem, calc(6.49rem + 17.75vw), 15rem); }
    .shape.shape0{ width:90px; }
    .article #yotei h3{ padding-right:calc(90px + .5em); }
    #news .image1{ height:150px; }
    #news .image2{ left:90px; height:150px; }
    #point .num{ width:120px; }
}
@media screen and (min-width:768px) {
    .shape.shape1{ position:absolute; top:auto; bottom:4em; }
    #news .image1{ bottom:260px; height:150px; }
    #news .image2{ bottom:220px; left:90px; height:150px; }
}
@media screen and (max-width:1279px) {
    #about.inner2{ padding-bottom:clamp(3.75rem, calc(2.5rem + 6.25vw), 7.5rem); }
    #top_banners .inner{ padding-right:0; padding-left:0; }
}
@media screen and (min-width:1280px) {
    .home #page_header .img_cover{ border-radius:0; aspect-ratio:auto; min-height:auto; }
    .shape.shape0{ width:120px; right:2em; }
    #about .inner{ position:sticky; top:0; }
    .shape.shape1{ position:relative; top:0; left:-1vw; width:210px; }
    .shape.shape2{ position:relative; top:1em; right:auto; left:calc(100vw - 470px); width:280px; }
    .shape.shape3{ position:relative; top:1em; left:4vw; width:240px; }
    #news .image1{ left:70px; height:200px; }
    #news .image2{ left:200px; height:200px; }
    #point .inner > div{ display:flex; justify-content:space-between; } 
    #point .inner > div:not(:first-of-type){ margin-top:4em; }
    #point p{ margin:0 !important; }
    #point .sub_title{ margin:0 0 .5em !important; }
    #point .text{ width:calc(100% - 180px); }
    #point .num{ width:120px; }
}

/* google reCAPTCHA */
.grecaptcha-badge{ z-index:101; }