@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    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---- */
body {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
}
.post_content h2,
.post_content h3 {
	margin: 0;
}
.dis_none {
	display: none;
}

/* ----font---- */
.en_ft {
	font-family: "Arsenal", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.min_ft {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-style: normal;
}

/* ----改行・整形---- */
.br_pc {
	display: block;
}
.br_sp {
	display: none;
}

/* ----見出し---- */
.h2_ttl {
	font-family: "Arsenal", sans-serif;
    font-size: clamp(2.2rem, 0.4rem + 3vw, 2.8rem) !important;
    font-weight: bold !important;
    letter-spacing: 0.4rem;
    line-height: 1 !important;
    position: relative;
    padding: 0 80px;
    max-width: 1000px;
    margin: 0 auto 70px !important;
}
.h2_ttl .s_ttl {
	font-family: "Noto Serif JP", serif;
    font-size: 1.2rem;
    font-weight: bold;
    letter-spacing: 0.2rem;
    display: block;
    border-top: 1px solid #333;
    margin-top: 10px;
    padding-top: 25px;
}
.h2_ttl.wh .s_ttl {
    border-top: 1px solid #fff;
} 

/* ----ボタン---- */
.cmn_btn {
	font-family: "Arsenal", sans-serif;
    min-width: 260px;
	margin: 0 auto;
}
.cmn_btn a {
	min-width: 260px;
    box-shadow: none;
	background: none;
    border: 1px solid #333;
    padding: 8px 20px;
    position: relative;
    transition: .3s;
    color: #333 !important;
    font-size: 1.2rem !important;
    letter-spacing: 0.6rem;
    font-weight: bold;
    text-align: center;
}
.cmn_btn.wh a {
    border: 1px solid #333;
	background: #fff; 
}
.cmn_btn a::after {
	content: "";
	width: 40px;
	height: 1px;
	background: #333;
	right: -20px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	transition: .2s;
}
.cmn_btn a:hover {
	background: rgba(112, 161, 224, .3);
	transition: .2s;
}
.cmn_btn.wh a:hover {
	background: rgba(255, 255, 255, .2);
	color: #fff !important;
	border: 1px solid #fff;
}
.cmn_btn.wh a:hover::after {
    background: #fff;	
	transition: .2s;
}

/* ----ヘッダー---- */
.l-header {
	position: absolute;
	background: rgba(255, 255, 255, 0.8);
}
.l-header .l-container {
	max-width: 100%;
}
.l-fixHeader {
	background: rgba(255, 255, 255, 0.8);
}
.l-fixHeader .l-container {
	max-width: 100%;
}
.-series .l-header__logo {
	min-width: 150px;
	margin-right: 1vw;
	padding: 20px 0;
}
.-series .c-headLogo {
	margin-right: 0;
}
.c-gnav>.menu-item.n_dis {
	display: none;	
}
.c-gnav>.menu-item>a{
	padding: 0 1vw;
	transition: .2s;
}
.c-gnav>.menu-item>a .ttl {
	font-weight: 500;
	font-style: normal;
	font-size: clamp(0.9rem, 0.6rem + 0.5vw, 1rem);
	order: 2;
}

.c-gnav .sub-menu {
	background: rgba(255, 255, 255, .8);
	border: 1px solid var(--color_main);
	width: 14em;
}
.c-gnav .sub-menu a {
	color: var(--color_main);
	transition: .3s;
	border-bottom: 1px solid var(--color_main);
	font-size: clamp(0.8rem, 0.35rem + 0.75vw, 0.95rem);
}
.c-gnav .sub-menu a:before,
.c-listMenu a:before {
	top: 55%;
}
.c-gnav .sub-menu a:last-child {
	border-bottom: none;
}
.c-gnav .sub-menu a:hover {
	background: var(--color_main);
	color: #fff;
	transition: .2s;
}
.l-fixHeader__logo {
	min-width: 130px;
	padding: 10px 0;
}
.l-fixHeader .c-gnav {
	margin-top: 0;
	height: 100%;
}

/* ----コンテンツヘッダー---- */
.l-topTitleArea {
    height: 40vh;
    color: #fff !important;
	position: relative;
}
.l-topTitleArea div.l-topTitleArea__body {
    text-shadow: unset;
    color: #fff;
	padding: 0;
}
.c-pageTitle,
.c-postTitle__ttl {
	font-family: "Noto Serif JP", serif;
	display: flex;
	flex-direction: column;
	font-style: normal;
    font-weight: 500;
	margin-top: 80px;
    font-size: 1.2rem !important;
    letter-spacing: 0.2rem;
}
.c-pageTitle__subTitle {
	font-family: "Arsenal", sans-serif;
	font-style: normal;
	visibility: visible;
    display: block;
    font-size: 3rem;
	font-weight: bold;
    letter-spacing: 0.4rem;
    opacity: 1;
    position: relative;
    margin: 0;
    order: -1;
    margin-bottom: 5px;
}

/* ----パンくずー---- */
.p-breadcrumb__text .__home:before {
	display: none;
}

/* ----コンテンツ---- */
.swell-block-fullWide + .swell-block-fullWide {
	margin-top: 0;
}
.swell-block-fullWide__inner {
	padding: 0;
}
.swell-block-columns__inner {
	justify-content: space-between;
}

/* ----概要---- */
.outlineBox {
	max-width: 800px;
	margin: 0 auto;
}
.outlineBox {
	justify-content: space-between;
}
.outlineBox .swell-block-dl__dt{
	width: 200px;
	background: #70A1E0;
	padding: 10px 15px;
    color: #fff;
	font-weight: 500;
    display: flex;
    align-items: stretch;
	margin-bottom: 5px;
	border: 1px solid var(--color_main);
}
.outlineBox .swell-block-dl__dt:after{
    display: none;
}
.outlineBox .swell-block-dl__dd{
	width: calc(100% - 200px - 5px);
	background: #fff;
	padding: 10px 15px;
	margin-bottom: 5px;
	border: 1px solid var(--color_main);
}

/* ----実績---- */
.cateArea {
    padding-bottom: 0em !important;
}
.cateArea .swell-block-fullWide__inner {
    width: 90vw;
}
.cateArea .swell-block-columns {
	max-width: 850px;
	margin: 0 auto;
}
.cate_btn.focus a {
    background: var(--color_main);
	color: #fff;
}
.cate_btn a {
    font-family: "Zen Old Mincho", serif;
    background: #fff;
	color: var(--color_main);
    border: 1px solid var(--color_main);
    padding: 5px 0;
    box-shadow: none;
    font-size: 0.9rem;
	letter-spacing: 0.1rem;
	line-height: 1.5;
	transition: .2s;
}
.cate_btn a:after {
    display: none;
}
.cate_btn a:hover {
    background: rgba(159, 173, 189, .4);
	color: var(--color_main) !important;
	transition: .2s;
}
.cate_btn a .en_ft {
	font-weight: bold;
}
.cate_btn a .min_ft {
	font-size: 1.3rem;
}

/* post_query */
.post_queryBox ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	padding: 0;
	width: 90vw;
	margin: 0 auto;
}
.post_queryBox ul::before{
	content: "";
	display: block;
	width: calc(100% / 4 - 0.8vw);
	order: 1;
}
.post_queryBox ul::after{
	content: "";
	display: block;
	width: calc(100% / 4 - 0.8vw);
}
.post_queryBox ul li.wp-block-post {
	width: calc(100% / 4 - 0.8vw) !important;
    padding: 0;
	list-style: none;
	margin-bottom: 40px;
	position: relative;
    display: flex;
    flex-direction: column;
}
.post_queryBox ul li.wp-block-post figure {
    aspect-ratio: 3 / 2;
	overflow: hidden;
	margin-bottom: 20px;
}
.post_queryBox ul li.wp-block-post figure img {
    object-fit: cover;
    object-position: center;
    height: -webkit-fill-available;
	transition: .2s;
}
.post_queryBox ul li.wp-block-post figure:hover img {
	transform: scale(1.05);
	transition: .2s;
	opacity: .8;
}
.post_queryBox ul li.wp-block-post:hover .wp-block-post-date,
.post_queryBox ul li.wp-block-post:hover h2.wp-block-post-title{
	opacity: 1 !important;
}
.post_queryBox ul li.wp-block-post .wp-block-post-date {
	font-size: 0.8rem;
	color: #474B53;
    order: 2;
}
.post_queryBox ul li.wp-block-post h2.wp-block-post-title {
	font-size: 1rem !important;
	font-weight: 400;
	transition: .2s;
    margin: 0 0 8px;
}
.post_queryBox .wp-block-query-pagination {
	justify-content: center;
	margin-top: 2em;
}
.post_queryBox .wp-block-query-pagination-numbers {
	display: flex;
    align-items: center;	
}
.post_queryBox .wp-block-query-pagination-numbers .page-numbers {
	margin: 0 6px 0 0;
}
.p-articleThumb__img,
.p-articleThumb__youtube {
	box-shadow: none;
}

/* ----link_bnArea---- */
.link_bnArea {
    border-top: 1px solid var(--color_main);
}
.link_bnArea .swell-block-fullWide__inner {
	width: 100%;
}
.link_bnArea .swell-block-column {
	border-right: 1px solid #333;
	padding: 0 1.5vw;
}
.link_bnArea .swell-block-column:last-child {
	border-right: 0;
}
.link_bnArea .h2_ttl {
	font-size: 1.3rem !important;
    letter-spacing: 0.1rem;
    max-width: 305px;
    padding: 0;
	margin-bottom: 60px !important;
}
.link_bnArea .h2_ttl .s_ttl {
	font-size: 1rem;
	margin-top: 15px;
    padding-top: 15px;
}

/* ----フッター---- */
.f-bn .swell-block-columns {
	max-width: 1050px;
	margin: 0 auto;
}
.f-bn h2 {
	letter-spacing: 0.3rem;
}
.f-bn .cmn_btn {
	min-width: 410px;
}
.f-bn .cmn_btn a {
	min-width: 410px;
	padding: 12px 20px;
}
.f-bn .inR {
	position: relative;
	padding-left: 2vw;
}
.f-bn .inR::before {
    position: absolute;
    content: "";
    background: #fff;
    width: 1px;
    height: 80%;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto 0;
}
.f-bn .inR .tel_num {
	font-size: clamp(2.7rem, 1.8rem + 1.5vw, 3rem) !important;
    line-height: 1;
    margin-bottom: 20px !important;
}
.c-widget+.c-widget {
	margin: 0 auto;
}
.w-beforeFooter{
	margin: 0 auto;
}
.w-footer {
	margin: 0 auto;
    padding: 0;
    width: 100%;
}
.l-footer {
    margin-top: 10px;
}
.l-footer__widgetArea {
	padding: 0;
}
.w-footer__box {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}
.w-footer__box .swell-block-fullWide {
	padding-bottom: 8em !important;
}
.w-footer__box .swell-block-columns__inner {
	max-width: 85vw;
	margin: 0 auto;
}
.footer_in {
	border-top: 1px solid var(--color_main);
	padding-top: 60px;
}
.footer_in .swell-block-columns__inner {
	justify-content: space-between;	
}
.w-footer__box .wp-block-list{
    list-style: none;
}
.w-footer__box .footer-list {
	max-width: 1200px;
    margin: 0 auto;
    padding: 0;
    justify-content: space-between;
}
.w-footer__box .footer-list li a {
	font-size: 0.9rem;
}
.l-footer .copyright {
	font-size: 0.7rem;
	font-weight: normal;
	padding: 0 30px 50px;
	letter-spacing: 0.05rem;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 0px;
}

/*---------------------------------------------pc_small---*/
@media screen and (max-width: 1279px) {	
.swell-block-fullWide__inner {
	width: 90vw;
    margin: 0 auto;
}
.l-topTitleArea__body {
	padding: 0 4vw !important;
}
.w-footer__box .footer-list {
	justify-content: flex-start;
}
}

/*---------------------------------------------------tb---*/
@media screen and (max-width: 959px) {
.br_pc {
	display: none;
}
.br_sp {
	display: block;
}
.h2_ttl {
	font-size: clamp(1.8rem, 1.1315rem + 1.7827vw, 2.2rem) !important;
	letter-spacing: 0.3rem;
	padding: 0 20px;
	margin: 0 auto 50px !important;
}
.l-header {
	background: rgba(255, 255, 255, 0.8) !important;
}
	
.-series .l-header__inner {
    transform: none;
	justify-content: space-between;
	height: 50px;
}
.-series .l-header__logo {
	padding: 8px 0 8px 3vw;
	margin: 0;
}
.p-spMenu__inner::before {
	background: rgba(1, 54, 123, .9);
}
.p-spMenu__inner .icon-close-thin:before {
	color: #fff;
}
.c-widget__title.-spmenu {
	color: #fff;
	font-family: "Arsenal", sans-serif;
	font-weight: normal;
	font-size: 3rem;
	line-height: 1;
	margin-bottom: 20px;
	padding: 0.3em .45em;
	background: none;
}
.c-spnav>.menu-item>a {
	font-size: clamp(1rem, 0.8569rem + 0.5725vw, 1.2rem);
}
.c-spnav a {
	color: #fff;
	border-bottom: none;
	font-size: 1.4rem;
	padding: 0.5em 1em .5em 1.5em;
}
.l-topTitleArea {
	min-height: 180px;
    height: 30vh;
	margin-top: -50px;
}
.c-pageTitle,
.c-postTitle__ttl {
	font-size: 0.9rem !important;
	margin-top: 40px;
	letter-spacing: 0.3rem;
}
.c-pageTitle__subTitle {
	font-size: 2rem;
	margin-bottom: 5px;
}

.post_queryBox ul::after{
	width: calc(100% / 2 - 1.5vw);
}
.post_queryBox ul li.wp-block-post {
	width: calc(100% / 2 - 1.5vw) !important;
}

/* ----link_bnArea---- */
.link_bnArea {
	padding: 3em 0 4em !important;
}
.link_bnArea .swell-block-column {
	border-bottom: 1px solid #333;
	border-right: 0;
	padding-bottom: 50px;
}
.link_bnArea .swell-block-column:nth-child(n+2) {
	padding-top: 50px;
}
.link_bnArea .swell-block-column:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}
.link_bnArea .h2_ttl {
	max-width: 60vw;
	margin-bottom: 30px !important;
}
.link_bnArea figure {
	margin-bottom: 30px !important;
}
.link_bnArea figure img {
	width: 60vw !important;
}
	
.f-bn .swell-block-columns {
	max-width: 700px;
	text-align: center;
}
.f-bn h2 {
	margin-bottom: 30px !important;
}
.f-bn .cmn_btn {
	text-align: center;
}
.f-bn .inR {
	padding: 30px 0 0 0;
}
.f-bn .inR::before {
	width: 100%;
    height: 1px;
	bottom: auto;
}
.f-bn .inR .tel_num {
	margin-bottom: 5px !important;
}
.w-footer__box figure {
	margin-bottom: 0 !important;
}
.footer-list {
	display: none !important;
}
.l-footer .copyright {
	padding: 0 4vw 30px;		
}
}

/*---------------------------------------------------sp---*/
@media screen and (max-width: 599px) {
.h2_ttl {
	font-size: 1.6rem !important;
	line-height: 1.2 !important;
	padding: 0;
	margin: 0 auto 40px !important;
}
.h2_ttl .s_ttl {
	padding-top: 15px;
}
.c-pageTitle__subTitle {
	letter-spacing: 0.3rem;
	margin-bottom: 0;
}
.cateArea {
	margin-bottom: 0 !important;
}
.outlineBox .swell-block-dl {
	flex-direction: column;
}
.outlineBox .swell-block-dl__dt,
.outlineBox .swell-block-dl__dd {
	width: 100%;
}
.outlineBox .swell-block-dl__dt {
	margin-bottom: 0;
	padding: 8px 15px 0;
	border-bottom: 0;
}
.outlineBox .swell-block-dl__dd {	
	padding: 5px 15px 10px;
}
	
.post_queryBox ul li.wp-block-post {
	margin-bottom: 30px;
}
.post_queryBox ul li.wp-block-post figure {
	margin-bottom: 10px;
}
.post_queryBox ul li.wp-block-post h2.wp-block-post-title {
	margin: 0 0 5px;
}
.post_queryBox .wp-block-query-pagination-numbers {
	flex-wrap: wrap;
}
.post_queryBox .wp-block-query-pagination-numbers .page-numbers {
	margin: 0 6px 6px 0;
}
.post_queryBox .wp-block-query-pagination-numbers .page-numbers:last-child {
	margin-bottom: 6px !important;
}
.post_queryBox .wp-block-query-pagination-prev,
.post_queryBox .wp-block-query-pagination-next {
	margin-bottom: 6px;
}
.link_bnArea .h2_ttl {
	max-width: 80vw;
}
.f-bn .cmn_btn {
	min-width: 260px;
	width: 100%;
}
.f-bn .cmn_btn a {
	min-width: 260px;
	width: 100%;
}
}