@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
*/

/* ----animation---- */
@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}
/* ----全体font---- */
body {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
}
.post_content {
	line-height: 1.9;
}
.post_content h2,
.post_content h3,
.post_content h4 {
	margin: 0;
}
.dis_none {
	display: none;
}

/* ----font---- */
.en_ft {
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
}

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

/* ----見出し---- */
.h2_ttl {
	font-family: "Oswald", sans-serif;
    font-size: clamp(2.4rem, -1.2rem + 6vw, 3.6rem) !important;
    font-weight: bold !important;
    position: relative;
	display: inline-block;
    max-width: 1000px;
	margin: 0 0 50px !important;
    line-height: 1.4 !important;
	background: linear-gradient(90deg, var(--color_main), var(--color_link));
	background: -webkit-linear-gradient(0deg, var(--color_main), var(--color_link));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.h2_ttl .jp_txt {
	font-family: "Noto Sans JP", sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
    display: inline-block;
    line-height: 1;
	color: #000;
	margin: 0 0 0 20px;
	background: none;
	-webkit-text-fill-color: currentcolor;
}
.h2_ttl.top .jp_txt {
    display: block;
	margin: 15px 0 0 0;
}
.h2_ttl.wh {
	background: none;
	-webkit-text-fill-color: currentcolor;
	color: #fff;
}
.h2_ttl.wh .jp_txt {
	color: #fff;
}
.h4_cap {
	font-size: 1.4rem !important;
	padding-left: 18px;
}
.h4_cap::before {
	content: "";
	position: absolute;
	background: linear-gradient(90deg, var(--color_main), var(--color_link));
	width: 35px;
	height: 35px;
	transform: rotate(45deg);
	left: 0;
	opacity: .2;
}
.leadTxt_l {
	font-size: clamp(2.8rem, 1.6rem + 2vw, 4rem) !important;
	line-height: 1.4;
	letter-spacing: 0.3rem;
}
.leadTxt_s {
	font-size: clamp(1.3rem, 0.8rem + 0.8333vw, 1.8rem) !important;
	line-height: 1.6;
}

/* ----ボタン---- */
.cmn_btn {
    min-width: 220px;
	margin: 0 auto;
}
.cmn_btn a {
	min-width: 220px;
    box-shadow: none;
	border: 1px solid var(--color_link);
	border-radius: 5px;
	background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 50%, var(--color_main) 75%, var(--color_link) 100%);
	background-position: 0% 50%;
	background-size: 200% auto;
    padding: 18px 35px;
    position: relative;
    transition: .3s;
    font-size: 1rem !important;
    font-weight: 600;
	letter-spacing: 0.08rem;
}
.cmn_btn a::after {
	content: "";
}
.cmn_btn a:hover {
	background-position: 100% 50%;
}
.cmn_btn a span {
	background: linear-gradient(90deg, var(--color_main), var(--color_link));
	background: -webkit-linear-gradient(0deg, var(--color_main), var(--color_link));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	transition: .2s;
}
.cmn_btn a:hover span {
	background: linear-gradient(90deg, #fff, #fff);
	background: -webkit-linear-gradient(0deg, #fff, #fff);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	transition: .2s;
}

/* ----ヘッダー---- */
.l-header {
	background: none;
	position: absolute;
}
.l-header .l-container {
	max-width: 100%;
    padding-right: 3vw;
	display: flex;
	align-items: center;
}
.l-fixHeader {
	box-shadow: none;
}
.l-fixHeader .l-container {
	max-width: 100%;
	padding: 0;
}
.-series .l-header__logo {
	min-width: 50px;
	max-width: 570px;
	width: 30vw;
	height: 150px;
	margin-right: 1vw;
	padding: 0;
	justify-content: center;
}
.-series .c-headLogo {
	margin-right: 0;
	width: 22vw;
}
.c-gnav {
	height: 85px;
    align-items: center;
	background: rgba(255, 255, 255, .8);
	border-radius: 15px;
    margin: 0;
    padding: 18px 30px;
}
.c-gnav>.menu-item.n_dis {
	display: none;	
}
.c-gnav>.menu-item>a {
	padding: 0 1vw;
	transition: .2s;
	position: relative;
}
.c-gnav>.menu-item>a::after {
	display: none;
}
.c-gnav>.menu-item.service>a::after,
.c-gnav>.menu-item.company>a::after {
	display: block;
	background: none;
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 6px;
	border-color: transparent transparent transparent var(--color_deep01);
	position: absolute;
	left: auto;
    right: 6px;
    top: 3px;
    bottom: 0;
	margin: auto 0;
	transform: rotate(90deg);
	transition: .2s;
}
.c-gnav>.menu-item>a:hover {
	color: var(--color_deep01);
	transition: .2s;
}
.c-gnav>.menu-item.service>a:hover::after,
.c-gnav>.menu-item.company>a:hover::after {
	top: 7px;
	transition: .2s;
}
.c-gnav>.menu-item>a .ttl {
	font-style: normal;
	font-size: clamp(0.85rem, 0.4rem + 0.75vw, 1rem);
	order: 2;
}
.c-gnav .sub-menu {
	background: rgba(255, 255, 255, .8);
	width: 13em;
	border-radius: 15px;
	margin-top: 30px;
	padding: 10px;
}
.c-gnav .sub-menu a {
	transition: .3s;
	font-size: clamp(0.8rem, 0.35rem + 0.75vw, 0.95rem);
	font-weight: 600;
	padding: 10px 20px;
    display: flex;
    align-items: center;
}
.c-gnav .sub-menu a:before,
.c-listMenu a:before {
	position: absolute;
	content: "";
	background: var(--color_deep01);
	width: 0;
	transition: .2s;
	height: 1px;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto 0;
}
.c-gnav .sub-menu:before {
	background: none;
}
.c-gnav .sub-menu a:before {
    left: 1em;
}
.c-gnav .sub-menu li:last-of-type a {
	border-bottom: none;
}
.c-gnav .sub-menu a:hover {
	background: none;
	color: var(--color_deep01);
	transition: .2s;
}
.c-gnav .sub-menu a:hover::before {
	width: 8px;
	transition: .2s;
}
.c-gnav .sub-menu a:hover .ttl {
	left: 10px;
}
.w-header {
	margin-left: 20px !important;
}
.w-header__inner {
    height: 85px;
}
.w-header__inner .bt_con a {
	border-radius: 15px;
	background: var(--color_deep02);
	color: var(--color_text);
	padding: 18px 40px;
    box-shadow: none !important;
}
.l-fixHeader {
	box-shadow: none !important;
}
.l-fixHeader__logo {
	width: 460px;
    height: 70px;
	min-width: 50px;
	padding: 24px 0 0 3vw;
	margin-right: 1vw;
}
.l-fixHeader__logo::before {
	position: absolute;
	content: "";
	background: linear-gradient(to right, #A480D0 0%, #6B4AAE 100%);
	border-bottom-right-radius: 5px;
	max-width: 460px;
	width: 30vw;
	height: 100px;
	top: 0;
	left: 0;
	z-index: -1;
}
.l-fixHeader .c-gnav {
	height: 100%;
	margin-top: 10px;
	padding: 12px 20px;
}
.l-fixHeader .c-gnav>.menu-item::after {
    border-right: 2px solid var(--color_main);
}

/* ----コンテンツヘッダー---- */
.l-topTitleArea {
    height: 55vh;
    color: #fff !important;
	position: relative;
    font-size: 1.35rem !important;
}
.l-topTitleArea div.l-topTitleArea__body {
    text-shadow: unset;
    color: #fff;
    text-align: center;
    margin-top: 70px;
}
.c-pageTitle {
    letter-spacing: 0.2rem;
	font-weight: 600;
}
.c-pageTitle__subTitle {
	font-family: "Bebas Neue", "Noto Sans JP", sans-serif;
	font-style: normal;
	font-weight: normal;
	visibility: visible;
    display: block;
    position: absolute;
    font-size: 4rem;
    top: -85px;
    left: 0;
	right: 0;
    letter-spacing: 0.3rem;
	order: 1 !important;
    margin: 0 auto;
	opacity: 1;
}
.p-articleMetas {
	justify-content: center;
}

/* ----パンくずー---- */
.l-topTitleArea+.p-breadcrumb {
	z-index: 1;
	padding-top: 40px;
}
.p-breadcrumb__list {
	justify-content: flex-end;
	color: #fff;
	gap: 1em;
	font-weight: 300;
}
.p-breadcrumb__list .icon-home:before {
	display: none;
}

/* ----コンテンツ---- */
.l-content {
    padding-top: 0em;
}
.swell-block-fullWide + .swell-block-fullWide {
	margin-top: 0;
}
.swell-block-fullWide__inner {
	padding: 0;
}
.swell-block-columns__inner {
	justify-content: space-between;
	margin: 0;
}
.p-postList__meta :before {
	display: none;
}

/* ----概要---- */
.outlineBox .swell-block-dl__dt{
    padding: 20px 15px;
    color: var(--color_main);
    border-top: 2px solid var(--color_main);
    display: flex;
    align-items: stretch;
}
.outlineBox .swell-block-dl__dt:last-of-type{
    border-bottom: 2px solid var(--color_main);
}
.outlineBox .swell-block-dl__dt:after{
    display: none;
}
.outlineBox .swell-block-dl__dd{
    border-top: 2px solid #D9D9D9;
    padding: 20px 15px;
    line-height: 1.8;
}
.outlineBox .swell-block-dl__dd:last-of-type{
    border-bottom: 2px solid #D9D9D9;
}

/* ----フッター---- */
.f_conArea {
	padding: 5vw 0 7vw !important;
}
.f_conArea .swell-block-fullWide__inner {
	padding: 0;
}
.f_conArea .h2_ttl {
	display: block;
	background: none;
	-webkit-text-fill-color: currentcolor;
}
.f_conArea .h2_ttl .jp_txt {
	display: block;
	margin: 20px auto 0;
}
.f_conArea p {
	font-size: clamp(1rem, 0.7rem + 0.5vw, 1.1rem);
}
.f_conArea .tel_num {
	font-family: "Oswald", sans-serif;
	font-size: clamp(4.3rem, 2.2rem + 3.5vw, 5rem);
    font-weight: bold;
    line-height: 1;
    margin-bottom: 10px;
}
.f_conArea .tel_num .swl-inline-icon {
	font-size: clamp(2.4rem, -0.6rem + 5vw, 3.4rem);
	margin-right: 10px;
}
.c-widget+.c-widget {
	margin: 0 auto;
}
.w-beforeFooter{
	margin: 0 auto;
}
.w-beforeFooter .l-article {
	margin: 0 auto;
}
.w-beforeFooter .l-container {
	padding: 0;
    max-width: 100%;
}
.w-footer {
	margin: 0 auto;
    padding: 0;
    width: 100%;
}
.w-footer__box {
	width: 100%;
	margin: 0 auto;
}
.w-footer__box .l-article {
	margin: 0 auto;
}
.w-footer__box .l-container {
	margin: 0 auto;
}
.f_logo {
	margin-bottom: 30px !important;
}
.f_add p {
	font-size: clamp(0.9rem, 0.6rem + 0.5vw, 1rem);
}
.footer_in {
	padding: 60px 0;
}
.footer_in .swell-block-columns__inner {
	justify-content: space-between;
	padding: 0 30px;
}
.w-footer__box .wp-block-list{
    list-style: none;
}
.footer-list {
    list-style: none;
    justify-content: center;
	padding-left: 0 !important;
	margin-bottom: 0;
}
.footer-list li {
    font-size: clamp(0.8rem, 0.2rem + 1vw, 1rem);
	font-weight: 500;
	line-height: 2.4;
}
.footer-list li a{
	transition: .2s;
}
.footer-list li a:hover {
	transition: .2s;
	color: var(--color_main);
}
.footer-list .s_list li {
	padding-left: 0.4em;
}
.footer-list .s_list li::marker {
    content: "-";
}
.p-fixBtnWrap {
	bottom: 10px;
}
.c-fixBtn {
	background: #000;
	border: none;
	color: #fff;
	height: 62px;
	width: 62px;
	opacity: 1;
}
.c-fixBtn:hover {
	background: #222 !important;
}
.c-fixBtn .c-fixBtn__icon {
	font-size: 60px;
}
.c-fixBtn .c-fixBtn__icon::before {
	content: '';
    width: 28px;
    height: 28px;
    border: 0;
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    transform: rotate(-45deg);
    position: absolute;
    top: 24px;
    bottom: auto;
    left: 0;
    right: 0;
    margin: auto;
}
.l-footer .copyright {
	font-weight: 500;
	font-style: normal;
	font-size: 0.7rem;
	padding: 0 0 30px;
    text-align: left;
    letter-spacing: 0.1rem;
}


/*---------------------------------------------pc_small---*/
@media screen and (max-width: 1279px) {
.-series .l-header__logo {
	padding: 28px 0 17px;
}
.l-fixHeader__logo {
	padding: 10px 0 34px;
	min-width: 100px;
}
.w-header.pc_ {
	top: 12px;
}
.c-headLogo__link::after {
	font-size: 1rem;
	letter-spacing: 0.2rem;
	bottom: -1.6vw;
}
.l-fixHeader__logo .c-headLogo__link::after {
    bottom: -1.8vw;
}
.c-gnav li.entry a {		
  margin: 0 0.2vw 0 0.8vw;
}
.c-gnav li.entry a .ttl {
	letter-spacing: 0.1rem;
}
.p-breadcrumb::before {
	height: min(100px + 140px, 160px);
}
.swell-block-fullWide__inner {
	width: 90%;
    margin: 0 auto;
}
.w-footer__box .l-container {
	width: 90vw;
}
.l-footer .copyright {
	padding: 0 2vw 50px;	
}
}

/*---------------------------------------------------tb---*/
@media screen and (max-width: 959px) {
.br_pc {
	display: none;
}
.br_sp {
	display: block;
}
.post_content p {
	font-size: clamp(0.95rem, 0.8664rem + 0.2228vw, 1rem);
}
.h2_ttl{
	font-size: clamp(1.8rem, 1.1315rem + 1.7827vw, 2.2rem) !important;
	margin-bottom: 30px !important;
}
.cmn_btn {
	padding-right: 50px;
}
.cmn_btn a {
	font-size: 1rem !important;
}
.cmn_btn a::before {
    right: -55px;
    width: 45px;
    height: 45px;
}
.cmn_btn a::after {
    width: 7px;
    height: 7px;
    right: -35px;
}
.-series .l-header__logo {
	padding: 3px 0;
	min-width: auto;
	margin-right: 0;
}
.l-header {
	background: rgba(230, 0, 36, .9) !important;
}
.c-headLogo__link {
	margin-left: -20vw;
}
.c-headLogo__link::after {
	bottom: 0;
    left: 0;
    font-size: 1.1rem;
    letter-spacing: 0.2rem;
    padding-top: 21px;
    right: -120px;
	top: 0;
	margin: auto 0;
	text-align: right;
	color: #fff !important;
}
.c-iconBtn {
	color: #fff;
}
.p-spMenu__inner::before {
	background: rgba(230, 0, 36, .9);
}
.p-spMenu__inner .icon-close-thin:before {
	color: #fff;
}
.c-widget__title.-spmenu {
	color: #fff;
	font-family: "Bebas Neue", "Noto Sans JP", 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>.menu-item>a .br_pc{
	display: none;
}
.c-spnav>.menu-item.tel{
	display: none;
}
.c-spnav a {
	color: #fff;
	border-bottom: none;
	font-size: 1.4rem;
	padding: 0.5em 1em .5em 1.5em;
}
.c-spnav>.menu-item.dis_pc {
	display: none;
}
.c-spnav>.menu-item.dis_sp {
	display: block;
}
.p-breadcrumb::before {
		top: -140px;
    height: min(100px + 100px, 100px);
}
.p-breadcrumb__list {
    margin-top: -60px;
    margin-left: 2vw;
}
.l-topTitleArea {
	min-height: 210px;
	height: 35vh;
}
.l-topTitleArea__body {
	margin-top: -50px !important;
}
.c-pageTitle {
	font-size: 1.2rem;
}	
.c-pageTitle__subTitle {
	top: -52px;
	font-size: 2.4rem;
}
	
.w-beforeFooter .swell-block-fullWide__inner {
	width: 90vw;
}
.w-footer__box .l-container .footer_in > .swell-block-columns__inner {
	flex-direction: column;
}
.footer_in .swell-block-columns__inner {
	padding: 0;
}
.f_add {
	font-size: 0.85rem;
}
.f_add .sns_list {
	--the-fz: 2.5rem !important;
}
.f_link .pc_only {
	display: block !important;		
}
.f_link .sp_only {
	display: none;	
}
.footer_in {
	padding: 0;
}
.footer-list {
	font-size: 0.85rem;
}
.footer-list > li.l_menu_ttl strong {
	height: auto;
    display: block;
	margin-bottom: 2.2vw;
}
.footer-list > li.l_menu_ttl .wp-block-list {
	padding-left: 0.5rem;
}
.c-fixBtn {
	width: 40px;
	height: 40px;
}
.c-fixBtn .c-fixBtn__icon::before {
    width: 16px;
    height: 16px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    top: 16px;
}
.l-footer .copyright {
	padding: 0 0 10px;
}
}


/*---------------------------------------------------sp---*/
@media screen and (max-width: 599px) {
.h2_ttl {
  font-size: 1.6rem !important;
  margin-bottom: 20px !important;
}
.wp-block-image img {
    object-fit: cover;
}
.h2_ttl .s_ttl {
	margin-bottom: 0;
}
.cmn_btn a {
    font-size: 0.9rem !important;
}
.c-headLogo__link::after {
	font-size: 0.9rem;
    letter-spacing: 0.1rem;
    right: -20vw;
}
.p-breadcrumb::before {
	 top: -65px;
	 width: 140%;
}
.p-breadcrumb__list {
    margin-top: -10px;
    margin-left: 2vw;
    font-size: 0.7rem;
}
.l-topTitleArea {
	min-height: 4em;
    height: 22vh;
}
.l-topTitleArea__body {
	margin-top: 0 !important;
}
.c-pageTitle {
    font-size: 0.9rem;
	letter-spacing: 0.1rem;
}
.c-pageTitle__subTitle {
	font-size: 1.8rem;
  letter-spacing: 0.2rem;
	top: -8vw;
}
.c-postTitle__ttl {
	text-align: left;
	font-size: 3.5vw;
}
.p-articleMetas {
	justify-content: flex-start;
}
	
/* ----概要---- */
.outlineBox {
    flex-direction: column;
    margin: 0 auto 2em !important;
}
.outlineBox .swell-block-dl__dt{
    width: 100%;
    padding: 8px 8px 2px;
    border-top: 2px solid #D9D9D9;
}
.outlineBox .swell-block-dl__dt:last-of-type{
    border-bottom: 0;
}
.outlineBox .swell-block-dl__dd{
    border: 0;
    width: 100%;
    padding: 2px 8px 8px;
    line-height: 1.6;
}
.f_add {
	font-size: 1rem;
}
.f_add .link_corp {
	display: none;
}
.f_link .pc_only {
	display: none !important;		
}
.f_link .sp_only {
	display: block;		
}
.w-beforeFooter .post_content li {
	margin: 0;
}
.f_link .swell-block-accordion {
	margin: 0;
}
.f_link .swell-block-accordion__item+.swell-block-accordion__item {
	margin-top: 0;
}
.f_link .swell-block-accordion__title {
	background: none !important;
	border-bottom: 1px solid #ccc;
	padding: 0;
	font-weight: 500;
}
.f_link .swell-block-accordion__title .swell-block-accordion__label {
	padding: 6px 0;
    font-size: 0.9rem;
}
.f_link .swell-block-accordion__body .wp-block-list {
	padding-left: 1rem !important;
}
.f_link .swell-block-accordion__body .wp-block-list li {
	line-height: 2.2;
}
.footer-list {
	font-size: 0.9rem;
}
.f_link .swell-block-column {
	margin: 0;
  width: 100%;
}
.f_link .footer-list li {
	border-bottom: 1px solid #ccc;		
	font-size: 0.9rem;
  margin: 2px 0;
}
.f_link .footer-list li a {
	display: block;
    padding: 0;
}
.l-footer .copyright {
	padding: 0 5vw 20px;
}
.c-fixBtn {
	width: 40px;
	height: 40px;
}
}