/* import */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&family=Noto+Sans+JP:wght@200..900&display=swap');

/* common */
* {box-sizing:border-box;}
html, html a, * {-webkit-font-smoothing:antialiased; font-smoothing:antialiased; text-rendering:optimizeLegibility;}
body {position:relative; margin:0; padding:0; padding-right:0 !important; color:#333; -webkit-text-size-adjust:none; font-family:'Noto Serif JP', serif; font-weight:400; font-size:1.25vw; line-height:2.2; letter-spacing:0; word-wrap:break-word;}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {margin:0; font-weight:400; font-family:'Noto Serif JP', serif; line-height:2.2; color:#333; letter-spacing:0;}
p {margin:0; text-align:justify;}
ul, ol {margin:0; padding:0 0 0 1.5em;}
a {color:#333; transition:all .2s ease-in-out;}
a:link, a:visited {text-decoration:none;}
a:hover:not(.button) {text-decoration:none; color:#333;}
figure {margin:0;}
img {vertical-align:middle;}
button {background:none; border:none; color:inherit; transition:all .2s ease-in-out; cursor:pointer;}

/* util */
#wrapper {padding-top:14.06vw;}
body.home #wrapper {padding-top:19.14vw;}
#content {position:relative; display:block; padding:5.47vw 0 7.81vw;}
#content::before {position:absolute; content:''; top:0; left:0; width:100%; height:100%; background:#F5F5F5 url(../images/bg-main.png) 0 0 / 80vw auto repeat; z-index:-1;}
body.home #content {padding:0 0 7.81vw;}
.container {z-index:10; max-width:89.06vw; width:89.06vw; margin:auto; padding:0 2.34vw;}
.container-sm {z-index:10; max-width:70.31vw; width:70.31vw; margin:auto; padding:0 2.34vw;}
.container-xs {z-index:10; max-width:31.25vw; width:31.25vw; margin:auto; padding:0 2.34vw;}
.container-fluid {width:100%; margin:auto; padding:0 2.34vw;}
.img-fluid {max-width:100%; height:auto;}
.img-full {width:100%; height:auto;}
.more {display:flex; justify-content:center; margin-top:3.39vw; gap:1.04vw;}
.button {position:relative; display:inline-flex; flex-direction:column; justify-content:center; align-items:center; width:17.5vw; height:4.38vw; padding:0 1.56vw; border-radius:0; background-color:#188AE6; border:none; color:#fff; font-size:1.09vw; font-family:'Noto Sans JP', sans-serif; font-weight:700; cursor:pointer;}
.button.dark {background-color:#000; border:none;}
.button-full {width:100%;}
.breadcrumbs {padding:1.04vw 0;}
.breadcrumb {display:flex; justify-content:flex-end; align-items:center; font-size:0.94vw; line-height:1;}
.breadcrumb span > a {color:#000;}
.breadcrumb span > span {color:#35b5d0;}
.breadcrumb i {margin:0 0.26vw; font-size:0.63vw;}
.pager {min-height:1.56vw;}
.pagination {display:flex; justify-content:center; margin-top:3.13vw;}
.pagination ul {display:flex; justify-content:center; gap:1.04vw; list-style:none; padding-left:0;}
.pagination ul > li {}
.pagination ul > li > span,
.pagination ul > li > a {display:flex; justify-content:center; align-items:center; width:3.13vw; height:3.13vw; border-radius:3.13vw;}
.pagination ul > li > span,
.pagination ul > li > a:hover {background-color:#5d5bc9; color:#fff;}
.text-center {text-align:center !important;}

/* header */
.header {position:fixed; top:0; left:0; display:flex; flex-direction:column; width:100%; height:auto; z-index:9999;}
.header-primary {order:1; display:flex; align-items:center; z-index:0;}
.header-primary-inner {display:flex; justify-content:center; padding-bottom:3.13vw;}
.header-secondary {order:0; z-index:10;}
.header-secondary-inner {display:flex; justify-content:flex-end; align-items:center; gap:1.56vw; height:4.69vw;}
.header-brand {width:27.34vw; margin:0; padding:0; z-index:100;}
.header-brand-link {display:block; line-height:1;}
.header-sns {z-index:100;}
.sns-list {display:flex; gap:1.56vw; padding-left:0; list-style:none;}
.sns-list > li {line-height:1;}
.sns-list > li img {width:1.88vw;}
.header-button-search {position:relative; width:1.88vw; height:1.88vw; margin-left:0.78vw; font-size:1.56vw; line-height:1; z-index:100;}
.header-search {display:none; position:absolute; top:6.25vw; right:2.34vw; padding:0; z-index:100;}
.header-search input {width:27.34vw; height:auto; padding:1.09vw; border:2px solid #ddd; border-radius:0.47vw; outline:none; line-height:1.3;}
.button-hamburger {position:relative; width:1.88vw; height:1.88vw; margin:0; padding:0; background:none; border:none; z-index:100;}
.button-hamburger-bar {position:absolute; content:''; right:0.23vw; width:1.25vw; height:2px; background-color:#333; border-radius:2px; transition:all .2s ease-in-out;}
.button-hamburger .button-hamburger-bar:nth-child(1) {top:calc(50% - 7px);}
.button-hamburger .button-hamburger-bar:nth-child(2) {top:calc(50% - 1px); width:1.02vw;}
.button-hamburger .button-hamburger-bar:nth-child(3) {top:calc(50% + 5px); width:0.78vw;}
.button-hamburger.open .button-hamburger-bar:nth-child(1) {transform:rotate(45deg); top:calc(50% - 1px); width:1.25vw; left:calc(50% - 0.63vw); right:inherit;}
.button-hamburger.open .button-hamburger-bar:nth-child(2) {opacity:0;}
.button-hamburger.open .button-hamburger-bar:nth-child(3) {transform:rotate(-45deg); top:calc(50% - 1px); width:1.25vw; left:calc(50% - 0.63vw); right:inherit;}
.header-nav {display:none; position:fixed; top:0; left:0; width:100%; height:100vh; padding:0; background-color:#fff;}
.header-nav-global {display:flex; flex-direction:column; justify-content:center; height:100%;}
.header-nav-global-list {display:flex; flex-direction:column; justify-content:center; padding-left:0; list-style:none;}
.header-nav-global-list > li:not(:last-child) {margin-bottom:3.52vw;}
.header-nav-global-list > li a {display:block; font-size:2.34vw; line-height:1;}
.header-nav-global-child {display:none;}
.header-nav-global-child.open {display:block;}
.header-nav-global-child ul {display:flex; flex-wrap:wrap; gap:1.56vw; padding-top:1.88vw; padding-left:0; list-style:none;}
.header-nav-global-child ul > li a {display:flex; justify-content:center; align-items:center; height:3.52vw; padding:0 1.56vw; border:1px solid #333; font-size:1.25vw;}
.header-nav-global-child ul.post-tag > li a::before {font:var(--fa-font-solid); content:'\23'; margin-right:0.26vw;}
body.scrolling .header {background-color:#fff;}
body.scrolling .header-primary {height:4.69vw;}
body.scrolling .header-primary-inner {padding-bottom:0;}
body.scrolling .header-secondary {position:absolute; top:0; right:0;}
body.scrolling .header-brand {width:11.72vw;}

/* footer */
.footer {padding:3.13vw 0;}
.footer-inner {display:flex; justify-content:space-between; gap:3.13vw;}
.footer-logo {flex:0 0 19.53vw;}
.footer-about {flex:0 0 35.16vw; margin-right:auto;}
.footer-about p {font-size:1.09vw;}
.footer-about .term {font-size:0.94vw;}
.footer-copyright {display:flex; flex-direction:column; justify-content:space-between;}
.footer-sns {justify-content:flex-end;}
.footer-copyright p {text-align:right; font-size:0.94vw;}
.footer-copyright p a {font-size:1.09vw;}

/* mod */
.section {position:relative; z-index:10;}
.section:not(:last-child) {margin-bottom:7.81vw;}
.heading {margin-bottom:7.81vw;}
.heading h1 {text-align:center; font-size:3.75vw; line-height:1.3;}
.heading h2 {font-size:2.66vw; line-height:1;}
.content {position:relative;}
.fadeUp {animation-name:fadeUpAnime; animation-duration:0.5s; animation-fill-mode:forwards; opacity:0;}
@keyframes fadeUpAnime {from {opacity:0; transform:translateY(100px);} to {opacity:1; transform:translateY(0);}}

.-pc {display:block;}
.-sp {display:none;}

/* content */
.pickup {padding-top:0;}
.pickup .content {}
.pickup .heading {transform:translateY(-5vw); margin-bottom:6.72vw;}
.pickup-article-heading {display:flex; flex-direction:column; align-items:flex-start; gap:0.78vw; font-size:2.66vw;}
.pickup-article-heading span {padding:0.94vw 2.34vw; background-color:#fff; line-height:1;}
.pickup-article-text {width:33.98vw; padding:1.17vw 0 0 2.34vw;}
.pickup-article-date {display:block; margin-bottom:1.56vw; color:#999; font-size:1.09vw;}
.pickup-article-excerpt {margin-bottom:1.56vw; font-size:1.09vw; line-height:2;}
.pickup-article-category-list {display:flex; gap:1.17vw; padding-left:0; list-style:none;}
.pickup-article-category-list__item {font-size:1.09vw;}
.pickup-article-thumbnail {position:absolute; top:-5vw; right:0; width:60.16vw; height:calc(100% + 5vw); overflow:hidden; z-index:-1;}
.pickup-article-thumbnail img {object-fit:cover; width:100%; height:100%;}
.article-list {display:grid; grid-template-columns:repeat(3, 1fr); gap:4.69vw;}
.article-list__item {position:relative; display:flex; flex-direction:column;}
.article-list__item::before {position:absolute; content:''; top:-2.34vw; left:-2.34vw; width:calc(100% + 4.69vw); height:calc(100% + 4.69vw); background-color:#fff; opacity:0; transition:all .2s ease-in-out; z-index:-1;}
.article-list__item:hover::before {opacity:1;}
.article-list__item-thumbnail {margin-bottom:1.56vw;}
.article-list__item-meta {display:flex; flex-wrap:wrap; gap:0.78vw; margin-bottom:0.78vw;}
.article-list__item-meta > span {display:flex; justify-content:center; align-items:center; height:1.72vw; padding:0 0.78vw; border:1px solid #333; font-size:0.94vw; line-height:1;}
.article-list__item-meta > .new {background-color:#333; color:#fff;}
.article-list__item-heading {margin-bottom:1.17vw; font-size:1.56vw; line-height:1.5;}
.article-list__item-date {display:block; margin-bottom:1.17vw; color:#999; font-size:1.09vw;}
.article-list__item-excerpt {margin-bottom:1.17vw; font-size:1.09vw; line-height:2;}
.article-list__item-category-list {display:flex; gap:1.17vw; padding-left:0; list-style:none;}
.article-list__item-category-list__item {font-size:1.09vw;}

/* post */
.post-feature {display:flex; flex-wrap:wrap; gap:0.78vw; margin-bottom:1.17vw;}
.post-feature > span {display:flex; justify-content:center; align-items:center; height:2.19vw; padding:0 1.17vw; border:1px solid #333; font-size:1.09vw; line-height:1;}
.post-feature > .new {background-color:#333; color:#fff;}
.post-title {margin-bottom:2.34vw; font-size:3.28vw; line-height:1.3;}
.post-meta-category-list {display:flex; gap:1.17vw; margin-bottom:0.78vw; padding-left:0; list-style:none;}
.post-meta-category-list__item {font-size:1.09vw;}
.post-meta-date {display:block; margin-bottom:2.34vw; text-align:right; color:#999; font-size:1.09vw;}
.post-editor {padding:5vw; background-color:#fff;}
.post-thumbnail {margin-bottom:3.91vw; text-align:center;}
#toc_container {margin-bottom:4.69vw; padding:3.13vw; background-color:#f5f5f5;}
#toc_container ul {list-style-type:decimal;}
.post-editor p:not(:last-child) {margin-bottom:3.91vw;}
.post-editor h1,
.post-editor h2,
.post-editor h3,
.post-editor h4,
.post-editor h5,
.post-editor h6 {line-height:1.3;}
.post-editor h1 {margin-bottom:3.91vw; font-size:3.28vw;}
.post-editor h2 {margin-bottom:3.91vw; font-size:3.28vw;}
.post-editor h3 {margin-bottom:3.91vw; font-size:2.34vw;}
.comments {margin-top:7.81vw;}
.comments-title {display:flex; align-items:center; gap:1.56vw; margin-bottom:2.34vw; font-size:1.56vw; font-family:'Noto Sans JP', sans-serif; font-weight:700; line-height:1.3;}
.comments-title span {display:flex; justify-content:center; align-items:center; height:2.03vw; padding:0 1.56vw; background-color:#333; border-radius:2.03vw; color:#fff; font-size:1.25vw; line-height:1;}
.comment-reply-link {color:#188AE6 !important; text-decoration:underline !important;}
.comment-reply-link:hover {text-decoration:none !important;}
.comments-list {margin:0; padding:3.91vw; background-color:#fff; list-style:none; font-family:'Noto Sans JP', sans-serif;}
.comments-list .children {margin:3.13vw 0 0 1.56vw; padding:0 0 0 2.34vw; list-style:none; border-left:2px solid #ddd;}
.comment-author img {display:none;}
.comment-metadata time {color:#999; font-size:1.09vw;}
.comment-content {line-height:2;}
.comment-respond {margin-top:5.47vw;}
.comment-reply-title {margin-bottom:2.34vw; font-size:1.56vw; font-family:'Noto Sans JP', sans-serif; font-weight:700; line-height:1.3;}
.comment-respond p {font-family:'Noto Sans JP', sans-serif;}
.comment-form {padding:3.91vw; background-color:#fff; font-family:'Noto Sans JP', sans-serif;}
.comment-form p:not(:last-child) {margin-bottom:1.56vw;}
.comment-form label {display:block; margin-bottom:0.78vw; text-align:inherit; line-height:1.3;}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form textarea {width:100%; height:auto; padding:1.09vw; border:2px solid #ddd; border-radius:0.47vw; outline:none; line-height:1.3;}
.comment-form input[type="checkbox"] {margin:0 0.39vw 0 0; display:inline-block;}
.comment-form-cookies-consent label {display:inline; cursor:pointer;}
.comment-notes {margin-bottom:1.56vw;}
.comment-form-comment {line-height:1;}
.form-submit {text-align:center;}

/* page */
.page p {line-height:1.8;}
.page p:not(:last-child) {margin-bottom:1.56vw;}
.page h2 {margin-top:3.13vw; margin-bottom:1.56vw; font-size:2.19vw; line-height:1.3;}

.form-group:not(:last-child) {margin-bottom:1.56vw;}
.form-group-label {display:flex; align-items:center; gap:0.39vw; font-weight:700;}
.form-group-label .required {display:inline-flex; flex-direction:column; justify-content:center; align-items:center; height:1.33vw; padding:0 0.39vw; border-radius:0.16vw; background-color:#970101; color:#fff; font-size:0.94vw; line-height:1;}
.wpcf7 input,
.wpcf7 textarea {width:100%; height:auto; padding:1.09vw; border:1px solid #ddd; border-radius:0.47vw; outline:none; line-height:1.3;}
.wpcf7 p {font-size:1.02vw;}
.wpcf7 p a {color:#188AE6 !important; text-decoration:underline !important;}
.wpcf7 p a:hover {text-decoration:none !important;}

@media (max-width:767px) {
    /* common */
    body {min-width:inherit; font-size:16px;}

    /* util */
    #wrapper {padding-top:60px;}
    body.home #wrapper {padding-top:60px;}
    #content {padding:50px 0 90px;}
    #content::before {background-size:1024px auto;}
    body.home #content {padding:0 0 90px;}
    .container,
    .container-sm,
    .container-xs,
    .container-fluid {max-width:inherit; width:auto; padding-left:25px; padding-right:25px;}
    .button {width:100%; height:50px; padding:0 20px; border-radius:50px; font-size:14px;}

    /* header */
    .header {background-color:#fff;}
    .header-primary {height:60px;}
    .header-primary-inner {padding-bottom:0;}
    .header-secondary {position:absolute; top:0; right:0;}
    .header-secondary .container-fluid {padding-left:20px; padding-right:20px;}
    .header-secondary-inner {gap:20px; height:60px;}
    .header-brand {width:150px;}
    .header-sns {display:none;}
    .sns-list {gap:30px;}
    .sns-list > li img {width:30px;}
    .header-button-search {width:24px; height:24px; margin-left:5px; font-size:20px;}
    .header-search {top:80px; right:20px;}
    .header-search input {width:200px; padding:10px; border-radius:10px;}
    .button-hamburger {width:24px; height:24px;}
    .button-hamburger-bar {right:3px; width:16px; height:2px; border-radius:2px;}
    .button-hamburger .button-hamburger-bar:nth-child(1) {top:calc(50% - 7px);}
    .button-hamburger .button-hamburger-bar:nth-child(2) {top:calc(50% - 1px); width:13px;}
    .button-hamburger .button-hamburger-bar:nth-child(3) {top:calc(50% + 5px); width:10px;}
    .button-hamburger.open .button-hamburger-bar:nth-child(1) {top:calc(50% - 1px); width:16px; left:calc(50% - 6.5px);}
    .button-hamburger.open .button-hamburger-bar:nth-child(3) {top:calc(50% - 1px); width:16px; left:calc(50% - 6.5px);}
    .header-nav-global > .container-sm {width:100%;}
    .header-nav-global-list > li:not(:last-child) {margin-bottom:30px;}
    .header-nav-global-list > li a {font-size:25px;}
    .header-nav-global-child ul {gap:10px; padding-top:20px;}
    .header-nav-global-child ul > li a {height:22px; padding:0 10px; font-size:12px;}
    .header-nav-global-child ul.post-tag > li a::before {margin-right:5px;}
    body.scrolling .header-primary {height:60px;}
    body.scrolling .header-brand {width:150px;}

    /* footer */
    .footer {padding:80px 0 10px;}
    .footer-inner {flex-direction:column; align-items:center; gap:30px;}
    .footer-logo {flex:1; width:150px;}
    .footer-about {flex:1;}
    .footer-about p {font-size:14px;}
    .footer-about .term {font-size:12px;}
    .footer-sns {position:fixed; bottom:15px; right:15px; width:100%; z-index:100;}
    .footer-copyright p {text-align:center; font-size:12px;}
    .footer-copyright p a {font-size:14px;}

    /* mod */
    .section:not(:last-child) {margin-bottom:90px;}
    .heading {margin-bottom:50px;}
    .heading h1 {font-size:38px;}
    .heading h2 {font-size:28px;}
    .-pc {display:none;}
    .-sp {display:block;}

    /* content */
    .pickup {padding-top:265px;}
    .pickup .content {padding-top:45px;}
    .pickup .heading {transform:none; margin-bottom:20px;}
    .pickup-article-heading {gap:10px; margin:0 -25px; font-size:24px;}
    .pickup-article-heading span {padding:10px 30px; line-height:1.3;}
    .pickup-article-text {width:auto; padding:35px 0 0;}
    .pickup-article-date {margin-bottom:20px; font-size:14px;}
    .pickup-article-excerpt {margin-bottom:20px; font-size:14px;}
    .pickup-article-category-list {gap:10px;}
    .pickup-article-category-list__item {font-size:14px;}
    .pickup-article-thumbnail {top:0; left:0; right:inherit; width:100%; height:265px;}
    .article-list {grid-template-columns:repeat(1, 1fr); gap:60px;}
    .article-list__item::before {top:-25px; left:-25px; width:calc(100% + 50px); height:calc(100% + 50px);}
    .article-list__item-thumbnail {margin-bottom:20px;}
    .article-list__item-meta {gap:10px; margin-bottom:10px;}
    .article-list__item-meta > span {height:22px; padding:0 10px; font-size:12px;}
    .article-list__item-heading {margin-bottom:10px; font-size:20px; line-height:1.6;}
    .article-list__item-date {margin-bottom:10px; font-size:14px;}
    .article-list__item-excerpt {margin-bottom:10px; font-size:14px; line-height:2;}
    .article-list__item-category-list {display:flex; gap:10px; padding-left:0; list-style:none;}
    .article-list__item-category-list__item {font-size:14px;}

    /* post */
    .post-feature {gap:10px; margin-bottom:10px;}
    .post-feature > span {height:28px; padding:0 10px; font-size:14px;}
    .post-title {margin-bottom:20px; font-size:24px; line-height:1.6;}
    .post-meta-category-list {gap:10px; margin-bottom:0.78vw; padding-left:0; list-style:none;}
    .post-meta-category-list__item {font-size:14px;}
    .post-meta-date {margin-bottom:20px; font-size:14px;}
    .post-editor {margin:0 -25px; padding:0 30px 50px;}
    .post-thumbnail {margin:0 -25px 50px;}
    #toc_container {margin:0 -25px 50px; padding:30px;}
    .post-editor p:not(:last-child) {margin-bottom:50px;}
    .post-editor h1,
    .post-editor h2,
    .post-editor h3,
    .post-editor h4,
    .post-editor h5,
    .post-editor h6 {line-height:1.6;}
    .post-editor h1 {margin-bottom:30px; font-size:24px;}
    .post-editor h2 {margin-bottom:30px; font-size:24px;}
    .post-editor h3 {margin-bottom:30px; font-size:20px;}
    .comments {margin-top:50px;}
    .comments-title {gap:5px; margin-bottom:30px; font-size:20px; line-height:1;}
    .comments-title span {height:26px; padding:0 20px; border-radius:26px; font-size:16px;}
    .comments-list {margin:0 -25px; padding:30px;}
    .comments-list .children {margin:30px 0 0 0; padding:0 0 0 10px;}
    .comment-metadata time {font-size:14px;}
    .comment-respond {margin-top:50px;}
    .comment-reply-title {margin-bottom:30px; font-size:20px; line-height:1;}
    .comment-form {padding:30px;}
    .comment-form p {line-height:1.6;}
    .comment-form p:not(:last-child) {margin-bottom:20px;}
    .comment-form label {margin-bottom:10px;}
    .comment-form input[type="text"],
    .comment-form input[type="email"],
    .comment-form textarea {padding:10px; border-radius:10px;}
    .comment-form input[type="checkbox"] {margin-right:5px;}
    .comment-notes {margin-bottom:20px;}

    /* page */
    .page h2 {margin-top:50px; margin-bottom:20px; font-size:24px;}
    .form-group:not(:last-child) {margin-bottom:20px;}
    .form-group-label {gap:5px;}
    .form-group-label .required {height:20px; padding:0 5px; border-radius:2px; font-size:12px;}
    .wpcf7 input,
    .wpcf7 textarea {padding:10px; border-radius:6px;}
    .wpcf7 p {font-size:12px;}
}
