/*=============================
reset
===============================*/

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

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dt,
dd {
	margin: 0;
	padding: 0;
}

ul,
ol,
li {
	list-style: none;
}

img,
picture {
	border: none;
	display: block;
	height: auto;
	width: 100%;
}

a {
	color: inherit;
	cursor: pointer;
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

body {
	color: #333;
	color: #3E3E3E;
	font-family: "Zen Kaku Gothic Antique", "Arial", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
	font-size: 16px;
}

main {
	overflow: hidden;
}

/* 下から上に移動しながらフェードイン */

.fadeInUp {
	opacity: 0;
	transform: translateY(60px);
}

/* 上から下に移動しながらフェードイン */

.fadeInDown {
	opacity: 0;
	transform: translateY(-60px);
}

/* 右から左に移動しながらフェードイン */

.fadeInLeft {
	opacity: 0;
	transform: translate(-60px, 0);
}

/* 左から右に移動しながらフェードイン */

.fadeInRight {
	opacity: 0;
	transform: translateX(60px);
}

/* フェードインアニメーション */

/* フェードインさせるクラス */

.fadeIn {
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-name: fadeIn;
}

.l-mainVisual {
	align-items: center;
	border-radius: 0 0 90px 90px;
	display: flex;
	margin-top: 70px;
	min-height: 350px;
	width: 100%;
}

.l-mainVisual__titleArea {
	padding: 0 11.71875vw;
	width: 100%;
}

.l-mainVisual__maintitle {
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: 4.75rem;
	text-shadow: 1px 1px 3px black;
}

.l-mainVisual__subtitle {
	color: #fff;
	font-size: 1.125rem;
	text-shadow: 1px 1px 3px black;
	width: 100%;
}

/*====================================
header
======================================*/

.headerArea {
	position: fixed;
	top: 0;
	transition: all 0.3s ease 0s;
	width: 100%;
	z-index: 9999;
}

.headerArea.js_hide {
	opacity: 0;
	pointer-events: none;
}

.header__background {
	background-color: #ffffff;
	box-shadow: 0 3px 5px rgba(0, 0, 0, 0.16);
	padding: 15px 40px;
}

.header-container {
	align-items: center;
	display: flex;
	justify-content: space-between;
	width: 100%;
}

.header__logo {
	max-width: 230px;
	width: 100%;
}

.drawer__icon {
	cursor: pointer;
}

.drawer__icon.is-active {
	position: relative;
	z-index: 9999;
}

.drawer__icon.is-active .drawer__icon__bars1,
.drawer__icon.is-active .drawer__icon__bars2,
.drawer__icon.is-active .drawer__icon__bars3 {
	background-color: #3E3E3E;
}

.drawer__icon.is-active .drawer__icon__bars1 {
	top: 8px;
	transform: rotate(-45deg);
}

.drawer__icon.is-active .drawer__icon__bars2 {
	display: none;
}

.drawer__icon.is-active .drawer__icon__bars3 {
	top: 8px;
	transform: rotate(45deg);
}

.drawer__icon__bars {
	display: block;
	height: 20px;
	position: relative;
	width: 26px;
	z-index: 320;
}

.drawer__icon__bars1,
.drawer__icon__bars2,
.drawer__icon__bars3 {
	background-color: #3E3E3E;
	border-radius: 10px;
	content: "";
	display: block;
	height: 4px;
	left: 0;
	position: absolute;
	top: 0;
	transition: all 0.5s;
	width: 26px;
}

.drawer__icon__bars1 {
	top: 0;
}

.drawer__icon__bars2 {
	top: 8px;
}

.drawer__icon__bars3 {
	top: 16px;
}

.drawer__content {
	background-color: #fff;
	height: 100%;
	position: fixed;
	right: 0;
	top: 68px;
	transform: translateX(105%);
	transition: all 0.5s ease 0s;
	width: 30%;
	z-index: 301;
}

.drawer__content.is-active {
	transform: translateX(0%);
}

.drawer__content .drawer__content-items {
	content: "";
	font-family: "Montserrat", sans-serif;
	font-size: 20px;
	font-weight: 600;
	left: 50%;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translate(-50%, -50%);
}

.drawer__content-item {
	margin-bottom: 30px;
	position: relative;
}

.drawer__content-item::after {
	background-color: #476974;
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	transition: all 0.3s ease 0s;
	width: 0;
}

.drawer__content-item:hover::after {
	width: 100%;
}

.drawer__content-item span {
	display: block;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 10px;
	font-weight: 400;
	padding-bottom: 5px;
	text-align: center;
}

/*====================================
contact us
======================================*/

.contact-us {
	background-color: #cedbdf;
	padding: 60px 0;
}

.contact-us-image {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.contact__text {
	margin-top: 40px;
}

.contact-us__container {
	margin: 0 auto;
	max-width: 100%;
	width: 960px;
}

.contact_button {
	margin-top: 40px;
}

/*====================================
footer
======================================*/

.footer__background {
	background: #476974;
	padding: 40px 0;
}

.footer__wrapper {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.footer__li__items {
	display: flex;
}

.footer__li__item {
	margin-right: 50px;
}

.footer__li__item a {
	color: #e3e3e3;
	font-family: "Montserrat", sans-serif;
	font-size: 16px;
	font-weight: 300;
	transition: all 0.3s ease 0s;
}

.footer__li__item a:hover {
	color: #b4b3b3;
}

.footer__li__item a:not(:last-child) {
	margin-bottom: 16px;
}

.footer__li__item span {
	display: block;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 12px;
	font-weight: 300;
}

.footer-logo {
	margin-bottom: 20px;
}

.footer-logo a {
	display: block;
	max-width: 250px;
	width: 100%;
}

.copyright {
	color: #e3e3e3;
	font-family: "Montserrat", sans-serif;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.3px;
	margin-bottom: 0;
	text-align: right;
}

/*====================================
mainvisual
======================================*/

.mainArea {
	overflow-x: hidden;
	width: 100%;
}

.mainvisual {
	background-color: #fff;
	margin-bottom: 150px;
	margin-top: 70px;
	overflow-x: hidden;
	position: relative;
	width: 100%;
}

.mainvisual__container {
	display: flex;
	justify-content: space-between;
	padding: 0 40px 0 80px;
	width: 100%;
	-moz-column-gap: 40px;
	column-gap: 40px;
}

.mainvisual__background {
	background: url(../img/back-img2@2x.jpg) no-repeat center center/cover;
	border-bottom-left-radius: 10% 20%;
	margin-left: auto;
	min-height: 100vh;
	overflow-y: hidden;
	padding-bottom: 60px;
	padding-top: 80px;
	position: relative;
	right: 0;
	top: 0;
	width: 100%;
}

.textArea__animated {
	opacity: 0;
	transition: transform 0.8s ease, opacity 0.8s ease;
}

.textArea__animated.show {
	opacity: 1;
}

.mainvisual__textarea {
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 10;
}

.mainvisual__textarea-title {
	margin-bottom: 40px;
}

.mainvisual__textarea-title img {
	max-width: 350px;
	width: 100%;
}

.aisatu__text {
	font-size: clamp(16px, 2vw, 20px);
	font-weight: 600;
	margin-bottom: 40px;
}

.mainvisual__textarea-title-en {
	font-family: "Montserrat", sans-serif;
	font-size: clamp(24px, 3.125vw, 40px);
	font-weight: 600;
	margin-bottom: 40px;
}

.mainvisual__textarea-lead {
	font-size: clamp(16px, 1.5625vw, 20px);
	font-weight: 500;
	line-height: 2;
}

.background__animated {
	opacity: 0;
	transition: all 1s ease 0s;
}

.background__animated.show {
	opacity: 1;
}

.logoArea__animated {
	left: 55%;
	position: absolute;
	top: 100px;
}

.logoArea__animated-container {
	perspective: 1000px;
	position: relative;
	transform: scale(0.8);
	width: 100%;
}

.logoArea__animated-parts {
	opacity: 0;
	position: absolute;
}

.block-a-parts {
	animation: merge-block-a 2.4s ease-in forwards;
	animation-delay: 0.8s, 2.4s;
	left: 0;
	top: 0;
	width: 14.21875vw;
}

.block-b-parts {
	animation: merge-block-b 2.4s ease-in forwards;
	animation-delay: 0.3s, 2.2s;
	left: 14.140625vw;
	top: 0;
	width: 26.875vw;
}

.block-c-parts {
	animation: merge-block-c 2.4s ease-in forwards;
	animation-delay: 0.5s, 2.4s;
	left: 0;
	top: 14.0625vw;
	width: 10.390625vw;
}

.block-d-parts {
	animation: merge-block-d 3s ease-in forwards;
	animation-delay: 0.7s, 3s;
	left: 10.3125vw;
	top: 14.0625vw;
	width: 19.53125vw;
}

.block-e-parts {
	animation: merge-block-e 2.6s ease-in forwards;
	animation-delay: 0.9s, 2.8s;
	left: 29.6875vw;
	top: 14.0625vw;
	width: 13.203125vw;
}

.block-f-parts {
	animation: merge-block-f 2.4s ease-in forwards;
	animation-delay: 1.1s, 3s;
	left: 0;
	top: 32.578125vw;
	width: 19.375vw;
}

.block-g-parts {
	animation: merge-block-g 2.2s ease-in forwards;
	animation-delay: 1.3s, 3.2s;
	left: 19.21875vw;
	top: 32.578125vw;
	width: 21.796875vw;
}

.logoArea__animated-container.split .block-a-parts {
	animation: split-block-a 1s forwards;
}

.logoArea__animated-container.split .block-b-parts {
	animation: split-block-b 1s forwards;
}

.logoArea__animated-container.split .block-c-parts {
	animation: split-block-c 1s forwards;
}

.logoArea__animated-container.split .block-c-parts {
	animation: split-block-c 1s forwards;
}

.logoArea__animated-container.split .block-d-parts {
	animation: split-block-d 1s forwards;
}

.logoArea__animated-container.split .block-e-parts {
	animation: split-block-e 1s forwards;
}

.logoArea__animated-container.split .block-f-parts {
	animation: split-block-f 1s forwards;
}

.logoArea__animated-container.split .block-g-parts {
	animation: split-block-g 1s forwards;
}

.fall__animated {
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.fall__animated-container {
	height: 100vh;
	perspective: 1000px;
	position: relative;
	width: 100%;
}

.fall__animated-parts {
	height: auto;
	opacity: 0;
	position: absolute;
}

.fall-a-parts {
	animation: fall 8s ease-in infinite;
	animation-delay: 2s, 3s;
	left: 10vw;
	max-width: 20px;
}

.fall-b-parts {
	animation: fall 6s ease-in infinite;
	animation-delay: 1.3s, 3.2s;
	left: 20vw;
	max-width: 50px;
}

.fall-c-parts {
	animation: fall 4s ease-in infinite;
	animation-delay: 1.3s, 3.2s;
	left: 30vw;
	max-width: 20px;
}

.fall-d-parts {
	animation: fall 7.2s ease-in infinite;
	animation-delay: 1.3s, 3.2s;
	left: 40vw;
	max-width: 40px;
}

.fall-e-parts {
	animation: fall 6.4s ease-in infinite;
	animation-delay: 1.3s, 3.2s;
	left: 50vw;
	max-width: 20px;
}

.fall-f-parts {
	animation: fall 5.3s ease-in infinite;
	animation-delay: 1.3s, 3.2s;
	left: 60vw;
	max-width: 30px;
}

.fall-g-parts {
	animation: fall 5.8s ease-in infinite;
	animation-delay: 1.3s, 3.2s;
	left: 70vw;
	max-width: 20px;
}

.scroll {
	position: absolute;
	right: 2%;
	top: 50%;
	writing-mode: vertical-rl;
}

/* 線のアニメーション部分 */

.scroll::before {
	animation: scroll 2s infinite;
	background-color: #000;
	bottom: -115px;
	content: "";
	height: 100px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	width: 1px;
}

/* 線のアニメーション */

/*====================================
common
======================================*/

.inner {
	margin: 0 auto;
	max-width: 1280px;
	padding: 0 40px;
	width: 100%;
}

.section__title {
	color: #476974;
	font-family: "Montserrat", sans-serif;
	font-size: 60px;
	font-weight: 700;
}

.c-section__title-ja {
	color: #476974;
	font-size: 36px;
	font-weight: bold;
}

.c-image__palalax {
	height: 340px;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.c-image__palalax_inner {
	height: 100vh;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	clip: rect(auto, auto, auto, auto);
}

.fixed-bg {
	backface-visibility: hidden;
	background-position: center;
	background-size: cover;
	display: block;
	height: 100vh;
	left: 0;
	position: fixed;
	top: 0;
	transform: translate3d(0, 0, 0);
	width: 100%;
	z-index: -2;
}

.title__text {
	color: white;
	font-family: "Montserrat";
	font-size: 40px;
	font-weight: 600;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

.c-section__subtitle {
	font-size: 20px;
	font-weight: 600;
	line-height: 2;
}

.c-common-textLead {
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
	text-align: justify;
}

.common__button {
	background-color: #476974;
	border-radius: 5px;
	box-shadow: 0 5px 0 #37525b;
	color: #ffffff;
	display: block;
	font-size: 16px;
	font-weight: 400;
	padding: 16px 20px;
	text-align: center;
	transition: all 0.3s ease 0s;
}

.common__button:hover {
	box-shadow: 0 0 0 transparent;
	transform: translateY(5px);
}

.br-sma {
	display: none;
}

.br-pc {
	display: block;
}

/*====================================
to-top
======================================*/

.totop {
	align-items: center;
	background-color: #476974;
	border: solid 1px #ffffff;
	border-radius: 5% 50% 50% 5%;
	bottom: 42px;
	cursor: pointer;
	display: flex;
	height: 50px;
	justify-content: center;
	position: fixed;
	right: 40px;
	transition: all 0.3s ease 0s;
	width: 50px;
	z-index: 300;
}

.totop:hover {
	transform: rotate(15deg);
}

.totop a {
	align-items: center;
	color: #ffffff;
	display: flex;
	font-family: "Montserrat", sans-serif;
	font-size: 14px;
	font-weight: bold;
	height: 100%;
	justify-content: center;
	width: 100%;
}

.servicePack__tabArea {
	display: flex;
	margin-top: 36px;
	-moz-column-gap: 10px;
	column-gap: 10px;
}

.servicePack__tab {
	display: flex;
	flex-direction: column;
	padding: 16px;
	text-align: center;
	width: 33.3333333333%;
}

.tab {
	background-color: #BFD5DC;
	cursor: pointer;
	transition: all 0.3s ease 0s;
}

.tab:hover {
	background-color: #a2bdc6;
}

.tab.is-active {
	background-color: #476974;
	color: #ffffff;
	position: relative;
}

.tab.is-active::before {
	border-color: #476974 transparent transparent transparent;
	border-style: solid;
	border-width: 16px 13px 0 13px;
	bottom: -16px;
	content: "";
	height: 0;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0;
}

.tab-text {
	font-size: 16px;
}

.tab-text.is-active {
	color: #ffffff;
}

.tab-text2 {
	font-size: 18px;
	font-weight: bold;
}

.tab-text2.is-active {
	color: #ffffff;
}

.tab-text2 span {
	font-size: 28px;
}

.servicePack__panelArea {
	background-color: #E6E3E3;
	margin-top: 20px;
	padding: 40px;
}

.servicePack__panelBoxs {
	animation: fadeIn 0.8s ease-in-out;
	display: none;
	width: 100%;
}

.servicePack__panelBoxs.is-active {
	display: block;
}

.servicePack__panelBox {
	background-color: #ffffff;
	padding: 60px 40px 40px;
	position: relative;
}

.servicePack__panelBox:not(:first-child) {
	margin-top: 20px;
}

.servicePack__panelBox:last-child {
	padding: 40px;
}

.servicePack__panelBox-flex {
	display: flex;
	-moz-column-gap: 20px;
	column-gap: 20px;
}

.servicePack__price {
	color: #476974;
	font-size: 18px;
	font-weight: bold;
}

.servicePack__contentText {
	line-height: 1.8;
	width: 80%;
}

.servicePack__price span {
	font-size: 24px;
}

.servicePack__panelBox-title {
	background-color: #476974;
	color: #ffffff;
	left: 0;
	padding: 10px 20px;
	position: absolute;
	top: 0;
}

.servicePack__panelBox-summary {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.servicePack__summaryTitle {
	font-size: 20px;
	font-weight: bold;
}

.servicePack__summaryText {
	font-size: 20px;
	margin-top: 8px;
}

.servicePack__summaryPrice {
	color: #476974;
	font-size: 22px;
	margin-top: 8px;
}

.servicePack__summaryPrice span {
	font-size: 28px;
}

.value {
	color: red;
}

.p-servicePage__mainVisual {
	background: url(../img/support-image04.jpg) no-repeat center center/cover;
}

.breadcrumb__container {
	background-color: #ffffff;
	padding: 20px 0;
}

.servicePage-background {
	background-color: #ffffff;
	padding-bottom: 40px;
	padding-top: 40px;
}

.servicePage-title-text {
	margin-top: 20px;
	text-align: center;
}

.servicePage-button-container {
	display: flex;
	justify-content: center;
	grid-column-gap: 40px;
	margin-bottom: 40px;
	margin-top: 40px;
}

.servicePage-button {
	color: #ffffff;
	display: block;
	max-width: 300px;
	position: relative;
	text-align: center;
	transition: all 0.3s ease 0s;
	width: 100%;
}

.servicePage-button::before {
	border-color: #FFFFFF transparent transparent transparent;
	border-style: solid;
	border-width: 11px 8px 0 8px;
	content: "";
	height: 0;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
}

.servicePage-button:hover {
	box-shadow: 0 0 0 transparent;
	transform: translateY(5px);
}

.button-color1 {
	background-color: #37525b;
}

.button-color2 {
	background-color: #688791;
}

.servicePage-button a {
	display: block;
	padding: 20px 20px;
}

.servicePage-itemArea {
	background-color: #E6E3E3;
	padding-bottom: 40px;
	padding-top: 40px;
}

.serviceItem__container,
.servicePack__container {
	padding: 0 40px;
}

.serviceItem__titile {
	background-color: #476974;
	color: #ffffff;
	font-size: 24px;
	font-weight: bold;
	padding: 24px;
}

.serviceItem__list {
	background-color: #ffffff;
	margin-top: 24px;
	padding: 40px 40px;
}

.serviceItem__list-flexBox {
	display: flex;
	-moz-column-gap: 6.640625vw;
	column-gap: 6.640625vw;
}

.serviceItem__list-textArea {
	width: 100%;
}

.serviceItem__list-title {
	border-bottom: 1px solid #476974;
	color: #476974;
	font-size: 24px;
	font-weight: bold;
	padding-bottom: 24px;
}

.serviceItem__list-title span {
	font-size: 30px;
	margin-left: 20px;
}

.serviceItem__list-contentText {
	margin-top: 24px;
}

.serviceItem__list__cautionText {
	background-color: #E6E3E3;
	margin-top: 24px;
	padding: 12px 20px;
}

.serviceItem__list-imageArea {
	max-width: 370px;
	width: 100%;
}

.serviceItem__list-delivery {
	border: 1px solid #476974;
	margin-top: 24px;
	padding: 24px 40px;
	width: 100%;
}

.delivery__title {
	color: #476974;
	font-weight: bold;
}

.delivery__contentText {
	line-height: 1.8;
	margin-top: 10px;
}

.delivery__ai-delivery-box {
	background-color: #E6E3E3;
	margin-top: 24px;
	padding: 18px 20px;
}

.delivery__ai-delivery-title {
	color: #476974;
	font-weight: bold;
}

.delivery__ai-delivery-text {
	margin-top: 5px;
}

.serviceItem__list-recommendText {
	background-color: #E6E3E3;
	margin-top: 24px;
	padding: 56px 40px 30px;
	position: relative;
}

.serviceItem__list-recommendText::before {
	background-color: #476974;
	color: #ffffff;
	content: "こんな方におすすめ";
	left: 0;
	padding: 5px 18px;
	position: absolute;
	top: 0;
}

.serviceItem__list-pageContentText {
	background-color: #F6E4AF;
	font-weight: bold;
	margin-top: 24px;
	padding: 20px;
}

.list-contentText-border {
	border: 1px solid #476974;
	padding: 20px;
}

.serviceItem__list-webCautionBox {
	background-color: #E6E3E3;
	display: flex;
	padding: 30px 30px 30px 30px;
	-moz-column-gap: 20px;
	align-items: center;
	column-gap: 20px;
	margin-top: 24px;
}

.serviceItem__list-webCautionBox-title {
	width: 20%;
}

.serviceItem__list-webCautionBox-title p {
	align-items: center;
	background-color: #476974;
	border-radius: 50%;
	color: #ffffff;
	display: flex;
	height: 100px;
	justify-content: center;
	padding: 20px 5px;
	width: 100px;
}

.serviceItem__list-webCautionText span {
	color: red;
	font-size: 18px;
	font-weight: bold;
	text-decoration: underline;
}

.serviceItem__list-borderline {
	background-color: #ABC7D0;
	height: 18px;
	margin-top: 32px;
	width: 100%;
}

.webTheme-title {
	margin-top: 30px;
}

.serviceItem__option {
	margin-top: 24px;
}

.serviceItem__option-title {
	color: #476974;
	font-size: 24px;
}

.serviceItem__option-text {
	margin-top: 16px;
}

.servicePage__packArea {
	margin-bottom: 80px;
	margin-top: 80px;
}

.servicePage__title-text {
	font-size: 18px;
	font-weight: normal;
	line-height: 2;
	margin-top: 20px;
	text-align: center;
}

.p-contactPage__mainVisual {
	background: url(../img/contact-image.jpg) no-repeat center center/cover;
}

.contact {
	background-color: #e6e3e3;
	padding: 60px 0;
}

.p-contactPage__mailformArea {
	margin: 0 auto;
	max-width: 768px;
	width: 100%;
}

.p-contactPage__mailformArea-title {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
}

/*====================================
コンタクトフォームデザイン
======================================*/

.contact__input__area {
	margin-bottom: 31px;
}

.contact__form {
	margin-top: 86px;
}

.contact__form__area:not(:first-child) {
	margin-top: 40px;
}

.contact__form__area dt {
	margin-bottom: 12px;
}

select,
textarea {
	box-shadow: none;
	font-size: 14px;
	padding: 11px 15px;
	width: 100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: #fff;
	border: 1px solid #DDDDDD;
}

select {
	color: #CCCCCC;
}

textarea {
	border-radius: 6px;
	height: 240px;
}

textarea::-moz-placeholder {
	color: #CCCCCC;
}

textarea::placeholder {
	color: #CCCCCC;
}

.select {
	position: relative;
}

.select::before {
	border-bottom: 2px solid #DDDDDD;
	border-right: 2px solid #DDDDDD;
	content: "";
	height: 7px;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: rotate(45deg) translate(-50%, -50%);
	width: 7px;
}

.required {
	font-size: 16px;
	font-weight: 700;
}

input[type=submit] {
	background-color: #fff;
	border: 1px solid #476974;
	box-shadow: none;
	color: #476974;
	cursor: pointer;
	font-size: 16px;
	font-weight: 700;
	max-width: 336px;
	padding: 24px 40px;
	transition: all 0.3s ease 0s;
	width: 100%;
}

input[type=submit]:hover {
	background-color: #476974;
	color: #fff;
}

.common__btn {
	text-align: center;
}

.common__btn .wpcf7-spinner {
	display: none;
}

.common__btn2 {
	background-color: #fff;
	border: 1px solid #476974;
	box-shadow: none;
	color: #476974;
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 20px;
	margin-top: 20px;
	max-width: 336px;
	padding: 24px 40px;
	transition: all 0.3s ease 0s;
	width: 100%;
}

.common__btn2:hover {
	background-color: #476974;
	color: #fff;
}

.form__required {
	background-color: red;
	color: #fff;
	display: inline-block;
	font-size: 12px;
	margin-left: 10px;
	padding: 2px 8px;
}

.form__required2 {
	background-color: #666666;
	color: #fff;
	display: inline-block;
	font-size: 12px;
	margin-left: 10px;
	padding: 2px 8px;
}

.checkbox {
	align-items: center;
	display: flex;
	justify-content: center;
	margin-bottom: 39px;
}

.checkbox-group {
	display: flex;
	flex-wrap: wrap;
}

.checkbox2 label {
	align-items: center;
	display: flex;
	margin-bottom: 20px;
	margin-right: 30px;
}

.checkbox2 p {
	margin-right: 20px;
}

.privacy__text {
	border-bottom: 1px solid #1a1a1a;
	font-weight: 700;
}

.attention p {
	font-size: 14px;
	font-weight: 500;
}

input[type=text],
input[type=email],
input[type=tel] {
	box-shadow: none;
	font-size: 14px;
	padding: 15px 15px;
	width: 100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: #fff;
	border: none;
	border-radius: 6px;
}

input[type=text]::-moz-placeholder,
input[type=email]::-moz-placeholder,
input[type=tel]::-moz-placeholder {
	color: #CCCCCC;
}

input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder {
	color: #CCCCCC;
}

input[type=checkbox] {
	border: 1px solid #476974;
	height: 32px;
	position: relative;
	vertical-align: -5px;
	width: 32px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: #fff;
	margin-right: 15px;
}

input[type=checkbox]:checked {
	border: 2px solid #476974;
}

input[type=checkbox]:checked::before {
	border-bottom: 2px solid #476974;
	border-right: 2px solid #476974;
	content: "";
	height: 14px;
	left: 32%;
	position: absolute;
	top: 50%;
	transform: rotate(50deg) translate(-50%, -50%);
	width: 7px;
}

.contact-top-back {
	margin: 40px auto 0;
}

.contact-top-back a {
	display: inline-block;
	padding: 20px 40px;
}

/*====================================
body
======================================*/

body {
	background-color: #ffffff;
}

/*====================================
works
======================================*/

.works-area {
	background-color: #c7ced0;
	border-radius: 0 300px 300px 0;
	padding: 60px 0;
	width: 100%;
}

.works__container {
	align-items: center;
	display: flex;
	overflow: hidden;
	width: 100%;
}

.works__button {
	max-width: 350px;
	text-align: center;
	width: 100%;
}

.works__title__area {
	position: relative;
	width: 35%;
	z-index: 9997;
}

.works__title__text-top {
	margin-bottom: 20px;
}

.title__area-lead {
	margin-bottom: 20px;
}

.l-inner {
	margin: 0 auto;
	padding: 0 14.0625vw;
	width: 100%;
}

[class*=swiper]:focus {
	outline: none;
}

.slide-media,
.thumb-media {
	overflow: hidden;
	position: relative;
}

.slide-media img,
.thumb-media img {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.card02 {
	margin-left: auto;
	overflow: hidden;
	width: 59%;
}

.card02 .swiper {
	overflow: visible;
	width: 19rem;
}

.card02 .swiper-slide {
	width: -moz-max-content;
	width: max-content;
}

.card02 .slide {
	background-color: #fff;
	border-radius: 4px;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.16);
	max-width: 100%;
	overflow: hidden;
	transition: all 0.3s ease 0s;
	width: 230px;
}

.card02 .slide:hover {
	transform: translateY(-16px);
}

.card02 .slide-media {
	padding-top: 62.5%;
}

.card02 .slide-content {
	padding: 15px;
}

.card02 .slide-date {
	color: var(--color-theme);
	display: block;
	font-size: 14px;
	line-height: 1;
}

.card02 .slide-title {
	-webkit-line-clamp: 2;
	display: -webkit-box;
	line-height: 1.6;
	overflow: hidden;
	-webkit-box-orient: vertical;
	font-size: 16px;
	height: 3.2em;
	margin-top: 15px;
}

/*====================================
制作実績共通
======================================*/

.works__title__text {
	color: #476974;
	font-family: "Montserrat";
	font-size: 40px;
	font-weight: 600;
	left: 50%;
	padding: 0 100px;
	position: absolute;
	text-shadow: 0 0 20px #ffffff;
	top: 50%;
	transform: translate(-50%, -50%);
}

.works__title__text::after {
	content: "制作実績";
	font-size: 20px;
	left: 50%;
	margin-top: 10px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, 40%);
}

.works__back__color {
	background-color: #fff;
	height: 100%;
	opacity: 60%;
	width: 100%;
}

/*====================================
works__detail
======================================*/

.work-image-detail {
	background-image: url(../../assets/img/works-img.jpg@2x.png);
	background-size: cover;
}

.entry-label {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 18px;
}

.entry-label a {
	background: #476974;
	color: #fff;
	display: block;
	font-size: 12px;
	padding: 4px 16px;
	text-align: center;
	text-decoration: none;
	transition: all 0.3s ease 0s;
}

.entry-label a:hover {
	opacity: 0.6;
}

.entry-title {
	font-size: 24px;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 18px;
}

.m_page .entry-title {
	margin-bottom: 34px;
}

.entry-meta {
	align-items: center;
	display: flex;
	margin-bottom: 18px;
}

.entry-published,
.entry-updated {
	color: #808080;
	font-size: 12px;
}

.entry-published::before,
.entry-updated::before {
	content: "\f073";
	font-family: "Font Awesome 5 Free", sans-serif;
	font-weight: 400;
	margin-right: 8px;
}

.entry-updated {
	margin-left: 27px;
}

.entry-updated::before {
	content: "\f1da";
	font-weight: 900;
}

.entry-img {
	text-align: center;
}

.entry-work__img {
	display: inline-block;
}

.entry-work-table { /* 384 / 1020 * 100%; */
	margin-left: auto;
	width: 38%;
}

.entry-work-table table {
	border: solid 1px #707070;
	border-collapse: collapse;
}

.entry-work-table th,
.entry-work-table td {
	border-bottom: 1px solid #707070;
	font-size: 14px;
	font-weight: normal;
	padding: 8px 16px;
	word-break: break-all;
}

.entry-work-table td a {
	transition: all 0.3s ease 0s;
}

.entry-work-table td a:hover {
	color: #959595;
}

.entry-work-table th {
	background: #999;
	color: #fff;
	font-weight: 700;
	text-align: center;
	width: 43%;
}

.entry-work-btn {
	margin-top: 70px;
	text-align: center;
}

.btn {
	-webkit-appearance: none;
	background-color: #476974;
	border: none;
	border-radius: 3px;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 16px;
	font-weight: 600;
	margin: 0;
	min-width: 282px;
	padding: 17px 20px 14px;
	text-align: center;
	text-decoration: none;
	transition: all 0.3s ease 0s;
}

.btn:hover,
.btn:focus {
	outline: none;
}

.btn:hover {
	opacity: 0.8;
}

.entry-work__area {
	margin-bottom: 60px;
}

.grecaptcha-badge {
	visibility: hidden;
}

/*====================================
service-page
======================================*/

/*====================================
About
======================================*/

#about {
	background-color: #fff;
}

.about__background {
	background: url(../../assets/img/back-img.jpg@2x.jpg) no-repeat center center/cover;
	position: relative;
	width: 100%;
	z-index: 0;
}

.about__background::before {
	background-color: #e7e4e4;
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	transform: skewY(-5deg);
	z-index: 2;
}

.about__background::after {
	background-color: #a8a9a9;
	bottom: -20px;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: -20px;
	transform: skewY(-9deg);
	z-index: 1;
}

.about__container {
	margin: 0 auto;
	max-width: 100%;
	padding: 100px 60px;
	position: relative;
	width: 1280px;
	z-index: 5;
}

.about__title {
	margin-bottom: 50px;
	text-align: center;
}

.about__textarea {
	display: flex;
}

.about__maintitle {
	align-items: center;
	display: flex;
	font-size: 35px;
	font-weight: bold;
	line-height: 65px;
	width: 50%;
	writing-mode: vertical-rl;
}

.about__maintitle-left {
	width: 100%;
}

.about__maintitle-lead {
	font-size: 16px;
	line-height: 36px;
	margin-bottom: 50px;
	width: 100%;
}

.about__button {
	max-width: 350px;
	text-align: center;
	width: 100%;
}

/*====================================
support
======================================*/

.support__background {
	background-color: #ffffff;
}

.support__block-columns {
	padding-bottom: 64px;
	padding-top: 64px;
}

.support__columns-lists {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(2, 1fr);
	grid-column-gap: 3.125vw;
	grid-row-gap: 56px;
}

.support__columns-list {
	display: flex;
	flex-direction: column;
	height: auto;
}

.support__columns-textBox {
	background-color: #ffffff;
	border: 1px solid #37525b;
	height: 100%;
	margin: -50px auto 0;
	padding: 48px 2.1875vw;
	width: 80%;
}

.support__columns-textNo {
	text-align: center;
}

.support__columns-textTitle {
	font-size: clamp(16px, 1.875vw, 24px);
	margin-top: 32px;
	text-align: center;
}

.support__columns-textLead {
	font-size: clamp(12px, 1.25vw, 16px);
	margin-top: 32px;
}

/*====================================
service
======================================*/

#service {
	background-color: #fff;
	position: relative;
	z-index: 0;
}

.service__background {
	position: relative;
	width: 100%;
}

.service__background::before {
	background: url(../../assets/img/service_back@2x.jpg) no-repeat top center/cover;
	bottom: 0;
	content: "";
	opacity: 0.13;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 1;
}

.service__background::after {
	background-color: #c7d5d5;
	clip-path: polygon(0% 100%, 0% 0%, 100% 0%, calc(100% - 16vw) 100%);
	content: "";
	height: 100%;
	left: 0;
	opacity: 0.5;
	position: absolute;
	top: 0;
	width: 40%;
	z-index: 2;
}

.service__background .service__background_a::before {
	bottom: -207px;
	content: url(../../assets/img/back_a@2x.png);
	display: inline-block;
	opacity: 0.3;
	position: absolute;
	right: -88px;
	transform: scale(0.5);
	vertical-align: middle;
	z-index: -1;
}

.service-image {
	background-image: url(../../assets/img/service_palalax.jpg);
	background-size: cover;
}

.service__container {
	padding: 80px 40px 80px 40px;
	position: relative;
	z-index: 5;
}

.service__title__text-top {
	text-align: center;
}

.service__lead__text {
	line-height: 2;
	margin: 40px auto 50px;
	padding: 0 80px;
	text-align: center;
}

.service__cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(2, 1fr);
	grid-column-gap: 20px;
	grid-row-gap: 20px;
	margin-bottom: 40px;
}

.service__cards-item {
	background-color: #ffffff;
	border-radius: 5px;
	box-shadow: 0px 14px 13.44px 2.56px rgba(10, 2, 5, 0.07);
	padding: 30px;
	width: 100%;
}

.service__cards-item:nth-child(n+5) {
	margin-bottom: 0px;
}

.service__cards-item:nth-child(2n) {
	margin-right: 0px;
}

.service__cards-item-textarea {
	text-align: justify;
	width: 100%;
}

.service__cards-item-img {
	max-height: 230px;
	width: 100%;
}

.service__cards-item-img img {
	-o-object-fit: cover;
	display: block;
	height: 230px;
	object-fit: cover;
}

.service__cards-item-text {
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	margin-top: 24px;
}

.service__cards-item-lead {
	font-size: 16px;
	font-weight: 400;
	line-height: 28px;
	margin-top: 24px;
}

.service_button {
	margin: 0 auto;
	max-width: 350px;
	text-align: center;
	width: 100%;
}

/*====================================
palalax  画像
======================================*/

.palalax-image {
	background: url(../../assets/img/palalax-image.jpg) no-repeat center center/cover;
}

.p-worksPage__mainVisual {
	background: url(../img/works-img2x.png) no-repeat center center/cover;
}

/*====================================
works
======================================*/

.work-title {
	margin-top: 70px;
}

.work-image {
	background-image: url(../img/works-img2x.png);
	background-size: cover;
}

#content.content-work .inner {
	padding-top: 30px;
}

#content.content-work #primary {
	width: 100%;
}

#content.content-work .entry-label {
	margin-bottom: 8px;
}

.entries {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 12px;
}

.entry-item {
	background: #fff;
	box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.16);
	display: block;
	margin-bottom: 50px;
	margin-right: 40px;
	overflow: hidden;
	text-decoration: none;
	transition: all 0.3s ease 0s;
	width: calc(50% - 20px);
}

.entry-item:hover {
	box-shadow: 0 0 9px 0 rgba(0, 0, 0, 0.16);
}

.entry-item:nth-child(2n),
.entry-item:last-child {
	margin-right: 0;
}

.entry-item-img {
	text-align: center;
}

.entry-item-img:hover {
	transform: scale(1.07, 1.07);
	transition: all 0.5s ease 0s;
}

.entry-item-body {
	padding: 20px;
}

.entry-item-meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 10px;
}

.entry-item-published {
	color: #808080;
	font-size: 12px;
	margin-top: 4px;
}

.entry-item-published::before {
	content: "\f073";
	font-family: "Font Awesome 5 Free", sans-serif;
	font-weight: 400;
	margin-right: 8px;
}

.entry-item-tag {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.entry-item-tag li {
	background: #476974;
	color: #fff;
	display: block;
	display: block;
	font-size: 12px;
	padding: 4px 16px;
	text-align: center;
}

.fp-entry-item-tag li {
	font-size: 10px !important;
	padding: 4px 12px !important;
}

.entry-item-title {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.42;
	margin-bottom: 14px;
}

.entry-item-excerpt {
	color: #454545;
	font-size: 14px;
	font-weight: normal;
	line-height: 1.72;
}

.entries.m_horizontal {
	margin-bottom: 62px;
}

.entries.m_horizontal .entry-item {
	display: flex;
	margin-bottom: 30px;
	margin-right: 0;
	padding: 20px;
	width: 100%;
}

.entries.m_horizontal .entry-item:last-child {
	margin-bottom: 0;
}

.entries.m_horizontal .entry-item .entry-item-img {
	width: 36.02941%;
}

.entries.m_horizontal .entry-item .entry-item-body {
	padding: 0 0 0 20px;
	width: 63.97059%;
}

.entries.m_block .entry-item {
	margin-right: 0;
	width: 100%;
}

.entries.m_block .entry-item .entry-item-body {
	padding: 20px;
	width: 100%;
}

.entries.m_block .entry-item .entry-item-published {
	font-size: 14px;
}

.entries.m_block .entry-item .entry-item-tag {
	font-size: 14px;
}

.entries.m_block .entry-item .entry-item-title {
	font-size: 20px;
}

.entries.m_block .entry-item .entry-item-excerpt {
	font-size: 16px;
	font-weight: 300;
}

.entries-work {
	margin-bottom: 28px;
}

.entries-work .entry-item {
	margin-bottom: 27px;
	width: calc(33.3333333% - 26.6666666667px);
}

.entries-work .entry-item:nth-child(2n) {
	margin-right: 40px;
}

.entries-work .entry-item:nth-child(3n) {
	margin-right: 0;
}

.work-breadcrumb {
	font-size: 14px;
	font-weight: 300;
	padding-bottom: 12px;
	padding-top: 12px;
}

.work-breadcrumb .inner {
	padding-bottom: 0;
	padding-top: 0;
}

.work-breadcrumb .breadcrumb {
	margin-bottom: 0;
}

.genre-nav {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 22px;
}

.genre-nav-link {
	margin-bottom: 22px;
	margin-right: 16px;
}

.genre-nav-link a {
	background: #c6d6db;
	display: block;
	font-size: 16px;
	font-weight: normal;
	padding: 6px 14px;
	text-decoration: none;
	transition: all 0.3s ease 0s;
}

.genre-nav-link a.is-active,
.genre-nav-link a:hover {
	background: #476974;
	color: #fff;
}

.entry-work {
	box-shadow: none;
	padding-bottom: 0;
	padding-top: 0;
}

/* スライダー用スタイル */

.entry-work-swiper {
	height: auto;
	margin-bottom: 20px;
	position: relative;
	width: 100%;
}

.entry-work-swiper .swiper-slide {
	align-items: center;
	display: flex;
	justify-content: center;
	text-align: center;
}

.entry-work-swiper .entry-work__img {
	height: auto;
	max-width: 100%;
	-o-object-fit: cover;
	border-radius: 8px;
	object-fit: cover;
}

.entry-work-swiper .swiper-pagination {
	margin-top: 20px;
	position: relative;
}

.entry-work-swiper .swiper-pagination-bullet {
	background: #ccc;
	height: 12px;
	margin: 0 6px;
	opacity: 0.5;
	width: 12px;
}

.entry-work-swiper .swiper-pagination-bullet-active {
	background: #476974;
	opacity: 1;
}

.entry-work-swiper .swiper-button-next,
.entry-work-swiper .swiper-button-prev {
	background: rgba(255, 255, 255, 0.9);
	border-radius: 50%;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
	color: #476974;
	height: 44px;
	margin-top: -22px;
	transition: all 0.3s ease;
	width: 44px;
}

.entry-work-swiper .swiper-button-next:hover,
.entry-work-swiper .swiper-button-prev:hover {
	background: rgb(255, 255, 255);
	transform: scale(1.1);
}

.entry-work-swiper .swiper-button-next:after,
.entry-work-swiper .swiper-button-prev:after {
	font-size: 18px;
	font-weight: bold;
}

.entry-work-body {
	display: flex;
	margin-top: 40px;
}

.entry-work-content {
	font-weight: normal;
	line-height: 2.25;
	padding-right: 40px;
	width: 62%;
}

.entry-work-related {
	margin-top: 74px;
}

.entry-work-related-entries {
	margin-bottom: 0;
}

.entry-work-related-entries .entry-item {
	margin-bottom: 0;
}

.entry-work-related-head {
	background: #ebebeb;
	border-radius: 3px;
	border-top: 6px solid #d81f32;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.2;
	margin-bottom: 44px;
	padding: 24px 20px;
	position: relative;
	text-align: left;
}

.entry-work-related-head::after {
	border: 5px solid transparent;
	border-top: 15px solid #ebebeb;
	content: "";
	height: 0;
	left: 24px;
	position: absolute;
	top: 100%;
	width: 0;
}

.pagination {
	margin: 12px 0 40px 0;
	text-align: center;
}

.pagination a {
	transition: all 0.3s ease 0s;
}

.pagination a:hover {
	opacity: 0.6;
}

.pagination a.next,
.pagination a.prev {
	font-size: 30px;
}

.pagination a.next:hover,
.pagination a.prev:hover {
	opacity: 0.6;
}

.page-numbers {
	background: #fff;
	border: 1px solid #e2e2e2;
	color: #808080;
	display: inline-block;
	font-family: "Lato", sans-serif;
	font-size: 20px;
	height: 40px;
	line-height: 38px;
	margin-right: 14px;
	min-width: 40px;
	text-align: center;
	text-decoration: none;
}

.page-numbers:last-child {
	margin-right: 0;
}

.page-numbers.current {
	background: #476974;
	border: 1px solid #476974;
	color: #fff;
	font-weight: 700;
}

.page-numbers.dots,
.page-numbers.next,
.page-numbers.prev {
	border: none;
	line-height: 40px;
	min-width: initial;
	width: auto;
}

/*====================================
aboutページ
======================================*/

.p-aboutPage__mainVisual {
	background: url(../img/about-image.jpg) no-repeat center center/cover;
}

.aboutPage-title-text {
	margin-top: 40px;
	text-align: center;
}

.aboutPage__title__text-top {
	text-align: center;
}

.aboutPage__title-subText {
	margin-top: 40px;
	text-align: center;
}

.aboutPage__message-subText {
	text-align: center;
}

/*====================================
message
======================================*/

.message__background {
	background-color: #e6e3e3;
	margin-top: 60px;
	padding: 40px 0px;
}

.message__box {
	background: #ffffff;
	border-radius: 40px;
	margin-top: 40px;
	padding: 45px;
}

.message__textarea {
	display: flex;
	-moz-column-gap: 30px;
	column-gap: 30px;
}

.message__textarea-left {
	width: 70%;
}

.massage__logo {
	max-width: 200px;
	width: 100%;
}

.massage__logo,
.message__textarea-left-yagouname,
.message__textarea-left-name {
	margin-bottom: 20px;
}

.message__textarea-left-yagouname {
	font-size: 18px;
	font-weight: bold;
}

.message__textarea-left-name {
	font-size: 18px;
	font-weight: bold;
}

.message__textarea-left-proflie {
	margin-bottom: 20px;
}

.message__textarea-right {
	width: 40%;
}

/*============================
404ページ
============================*/

.entry-404 {
	padding-bottom: 85px;
	text-align: center;
}

.entry-404-head {
	color: #f0cdd0;
	font-family: "Lato", sans-serif;
	font-size: 80px;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 36px;
}

.entry-404-head span::after {
	content: " ";
}

.entry-404-lead {
	color: #808080;
	font-family: "HiraKakuPro-W6", "ヒラギノ角ゴ Pro W6", "Meiryo", "Meiryo", "Noto Sans Japanese", sans-serif;
	font-size: 30px;
	font-weight: 600;
	margin-bottom: 24px;
}

.entry-404-lead .m_sp {
	display: none;
}

.entry-404-content {
	color: #808080;
}

.entry-404-btn {
	margin-top: 58px;
}

.entry-404-btn .btn {
	background: #ebebeb;
	color: #8d8d8d;
}

.entry-404-btn .btn:hover {
	background: #ccc;
	opacity: 1;
}

.p-privacy__text {
	margin: 0 auto;
	max-width: 768px;
	width: 100%;
}

@media screen and (max-width:939px) {

.contact__form {
	margin-top: 40px;
}

.works__container {
	display: block;
}

.works__title__area {
	margin-bottom: 30px;
	padding: 0 50px;
	text-align: center;
	width: 100%;
}

.card02 {
	margin: 0 auto;
	width: 100%;
}

.service__cards-item {
	display: block;
}

.service__cards-item-textarea {
	padding-top: 15px;
	width: 100%;
}

.service__cards-item-img {
	margin: 0 auto;
	text-align: center;
}

}

@media screen and (max-width: 768px) {

.entry-404-head {
	font-size: 50px;
}

}

@media screen and (max-width:767px) {

.l-mainVisual {
	border-radius: 0 0 60px 60px;
	min-height: 200px;
}

.l-mainVisual__titleArea {
	padding: 0 20px;
}

.l-mainVisual__maintitle {
	font-size: 2.5rem;
}

.l-mainVisual__subtitle {
	font-size: 1rem;
}

.header__background {
	padding: 15px 20px;
}

.header__logo {
	max-width: 200px;
}

.drawer__content {
	top: 64px;
	width: 45%;
}

.contact__text {
	text-align: center;
}

.contact_button {
	width: 100%;
}

.footer__container {
	padding: 40px 12px;
}

.footer__wrapper {
	display: block;
}

.footer__li__items {
	display: block;
	margin-bottom: 57px;
	text-align: center;
}

.footer__li__item {
	margin-right: 0px;
	margin-top: 20px;
}

.footer__li__item a {
	font-size: 14px;
}

.footer__li__item a:not(:last-child) {
	margin-bottom: 18px;
}

.footer-logo a {
	margin: 0 auto;
}

.copyright {
	margin-bottom: 30px;
	text-align: center;
}

.mainvisual {
	margin-bottom: 120px;
	margin-top: 65px;
}

.mainvisual__container {
	display: block;
	padding: 40px 20px 0;
}

.mainvisual__background {
	border-bottom-left-radius: 20% 10%;
	padding-bottom: 40px;
	padding-top: 0;
	width: 100%;
}

.mainvisual__textarea {
	margin-left: 0;
	padding: 330px 0 0;
}

.mainvisual__textarea-title {
	margin-bottom: 20px;
	margin-top: 40px;
}

.mainvisual__textarea-title img {
	margin: 0 auto;
	max-width: 280px;
}

.aisatu__text {
	font-size: 16px;
	text-align: center;
}

.mainvisual__textarea-title-en {
	font-size: 30px;
	margin-bottom: 20px;
	text-align: center;
}

.mainvisual__textarea-lead {
	font-size: 16px;
	text-align: center;
}

.logoArea__animated {
	left: 30%;
}

.logoArea__animated-container {
	transform: scale(1.2);
}

.block-d-parts {
	animation: merge-block-d-sp 2.4s ease-in forwards;
	animation-delay: 0.7s, 3s;
}

.inner {
	padding: 0 20px;
}

.section__title {
	font-size: 40px;
}

.c-section__title-ja {
	font-size: 28px;
}

.title__text {
	font-size: 30px;
}

.br-sma {
	display: block;
}

.br-pc {
	display: none;
}

.totop {
	bottom: 22px;
	height: 40px;
	right: 20px;
	width: 40px;
}

.totop a {
	font-size: 12px;
}

.tab-text {
	font-size: 14px;
}

.tab-text2 {
	font-size: 14px;
}

.tab-text2 span {
	font-size: 20px;
}

.servicePack__panelArea {
	padding: 20px;
}

.servicePack__panelBox {
	padding: 60px 20px 20px;
}

.servicePack__panelBox:last-child {
	padding: 20px;
}

.servicePack__panelBox-flex {
	display: block;
}

.servicePack__contentText {
	width: 100%;
}

.servicePack__price span {
	margin-left: 10px;
}

.servicePack__summaryText {
	font-size: 16px;
}

.servicePage-title-text {
	text-align: justify;
}

.servicePage-button-container {
	display: block;
	margin-bottom: 0;
}

.servicePage-button {
	max-width: initial;
}

.servicePage-button:not(:first-child) {
	margin-top: 20px;
}

.serviceItem__container,
.servicePack__container {
	padding: 0;
}

.serviceItem__list {
	padding: 20px;
}

.serviceItem__list-flexBox {
	display: block;
}

.serviceItem__list-title span {
	margin-left: 0;
}

.serviceItem__list-imageArea {
	margin-top: 20px;
}

.serviceItem__list-delivery {
	padding: 20px;
}

.serviceItem__list-recommendText {
	padding: 56px 20px 20px;
}

.serviceItem__list-webCautionBox {
	display: block;
	padding: 20px;
}

.serviceItem__list-webCautionBox-title {
	width: 100%;
}

.serviceItem__list-webCautionBox-title p {
	border-radius: 0%;
	height: auto;
	padding: 10px;
	width: 100%;
}

.serviceItem__list-webCautionText {
	margin-top: 20px;
}

.servicePage__packArea {
	margin-bottom: 40px;
	margin-top: 40px;
}

.servicePage__title-text {
	text-align: justify;
}

.contact__input__area {
	margin-bottom: 38px;
}

.contact__form__area:not(:first-child) {
	margin-top: 18px;
}

.contact__form__area dt {
	margin-bottom: 9px;
}

textarea {
	height: 135px;
}

.required {
	font-size: 14px;
}

input[type=submit] {
	font-size: 16px;
	max-width: 295px;
	padding: 24px 24px;
	width: 100%;
}

.common__btn2 {
	font-size: 16px;
	max-width: 295px;
	padding: 24px 24px;
	width: 100%;
}

.form__required {
	font-size: 12px;
	margin-top: -2px;
	padding: 2px 6px;
}

.form__required2 {
	margin-top: -2px;
	padding: 2px 6px;
}

.privacy__text {
	font-size: 14px;
}

input[type=text],
input[type=email],
input[type=tel] {
	font-size: 14px;
}

input[type=checkbox] {
	height: 28px;
	margin-right: 10px;
	width: 28px;
}

.works-area {
	border-radius: 0 0 0 0;
}

.works__button {
	max-width: 100%;
}

.works__title__area {
	padding: 0 20px;
}

.card02 .slide {
	width: 300px;
}

.works__title__text {
	font-size: 30px;
}

.entry-title {
	font-size: 18px;
}

.entry-work-table {
	width: 100%;
}

.entry-work-btn {
	margin-top: 40px;
}

.about__container {
	padding: 50px 20px;
}

.about__textarea {
	display: block;
}

.about__maintitle {
	font-size: 28px;
	line-height: 45px;
	margin-bottom: 20px;
	width: 100%;
}

.about__maintitle-lead {
	font-size: 16px;
	margin-bottom: 30px;
	width: 100%;
}

.about__button {
	max-width: 100%;
}

.support__columns-lists {
	display: block;
}

.support__columns-list:not(:first-child) {
	margin-top: 40px;
}

.support__columns-textBox {
	padding: 20px 20px;
	width: 100%;
}

.support__columns-textTitle {
	font-size: 24px;
}

.support__columns-textLead {
	font-size: 16px;
}

#service {
	margin-bottom: 60px;
}

.service__container {
	padding: 30px 20px;
}

.service__lead__text {
	font-size: 16px;
	margin: 20px auto 30px;
	padding: 0;
	text-align: justify;
}

.service__cards {
	display: block;
}

.service__cards-item:nth-child(n+5) {
	margin-bottom: 30px;
}

.service__cards-item {
	display: block;
	margin-bottom: 30px;
	margin-right: 0px;
	padding: 25px;
	width: 100%;
}

.service__cards-item-img {
	max-height: 100%;
	max-width: 100%;
}

.service_button {
	max-width: 100%;
}

.entries {
	display: block;
}

.entries-work .entry-item {
	width: 100%;
}

.entry-work-swiper .swiper-button-next,
.entry-work-swiper .swiper-button-prev {
	display: none;
}

.entry-work-body {
	display: block;
	margin-top: 20px;
}

.entry-work-content {
	margin-bottom: 20px;
	padding-right: 0;
	width: 100%;
}

.aboutPage-title-text {
	text-align: justify;
}

.message__background {
	margin-top: 40px;
}

.message__box {
	padding: 20px;
}

.message__textarea {
	display: block;
}

.message__textarea-left {
	width: 100%;
}

.message__textarea-right {
	width: 100%;
}

}

@media screen and (max-width:430px) {

.footer-logo a {
	max-width: 180px;
}

.mainvisual__textarea {
	padding: 227px 0 0;
}

}

@keyframes fadeIn {

100% {
	opacity: 1;
	transform: translate(0);
}

}

@keyframes merge-block-a {

0% {
	opacity: 0;
	transform: translate3d(-100px, -300px, 0) scale(0.6) rotateY(-540deg);
}

75% {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

100% {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

}

@keyframes merge-block-b {

0% {
	opacity: 0;
	transform: translate3d(50px, -180px, 0) scale(0.6) rotateY(-540deg) rotateZ(-320deg);
}

75% {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

100% {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

}

@keyframes merge-block-c {

0% {
	opacity: 0;
	transform: translate3d(35px, -180px, 0) scale(0.6) rotateY(-540deg) rotateZ(-180deg);
}

75% {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

100% {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

}

@keyframes merge-block-d {

0% {
	opacity: 0;
	transform: translate3d(200px, 60px, 0) scale(0.6) rotateY(-540deg) rotateZ(-320deg);
}

75% {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

100% {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

}

@keyframes merge-block-d-sp {

0% {
	opacity: 0;
	transform: translate3d(20px, 230px, 0) scale(0.6) rotateY(-540deg) rotateZ(-320deg);
}

75% {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

100% {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

}

@keyframes merge-block-e {

0% {
	opacity: 0;
	transform: translate3d(5px, 180px, 0) scale(0.6) rotateY(-540deg) rotateZ(-20deg);
}

75% {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

100% {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

}

@keyframes merge-block-f {

0% {
	opacity: 0;
	transform: translate3d(60px, 90px, 0) scale(0.6) rotateY(-540deg) rotateZ(-90deg) rotateX(180deg);
}

75% {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

100% {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

}

@keyframes merge-block-g {

0% {
	opacity: 0;
	transform: translate3d(0, 400px, 0) scale(0.6) rotateY(-540deg) rotateZ(-90deg) rotateX(-60deg);
}

75% {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

100% {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

}

@keyframes split-block-a {

0% {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

100% {
	opacity: 0;
	transform: translate3d(-150px, -300px, -200px) rotate3d(1, 1, 0, 180deg);
}

}

@keyframes split-block-b {

0% {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

100% {
	opacity: 0;
	transform: translate3d(0, -150px, -200px) rotate3d(1, 1, 0, 180deg);
}

}

@keyframes split-block-c {

0% {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

100% {
	opacity: 0;
	transform: translate3d(-150px, -200px, -200px) rotate3d(1, 1, 0, 180deg);
}

}

@keyframes split-block-c {

0% {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

100% {
	opacity: 0;
	transform: translate3d(-330px, 330px, 0) rotate3d(1, 1, 0, 180deg);
}

}

@keyframes split-block-d {

0% {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

100% {
	opacity: 0;
	transform: translate3d(0, 500px, -200px) rotate3d(1, 1, 0, 180deg);
}

}

@keyframes split-block-e {

0% {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

100% {
	opacity: 0;
	transform: translate3d(-300px, 300px, -200px) rotate3d(1, 1, 0, 180deg);
}

}

@keyframes split-block-f {

0% {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

100% {
	opacity: 0;
	transform: translate3d(-100px, 400px, -200px) rotate3d(1, 1, 0, 180deg);
}

}

@keyframes split-block-g {

0% {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

100% {
	opacity: 0;
	transform: translate3d(0, 400px, 0) rotate3d(1, 1, 0, 180deg);
}

}

@keyframes fall {

0% {
	opacity: 0;
	transform: translate3d(0, -150px, -300px) rotate3d(1, 1, 0, 540deg);
}

10% {
	opacity: 1;
}

100% {
	opacity: 0;
	transform: translate3d(0, 110vh, 300px) rotate3d(1, 1, 0, 360deg);
}

}

@keyframes scroll {

0% {
	transform: scale(1, 0);
	transform-origin: 0 0;
}

50% {
	transform: scale(1, 1);
	transform-origin: 0 0;
}

51% {
	transform: scale(1, 1);
	transform-origin: 0 100%;
}

100% {
	transform: scale(1, 0);
	transform-origin: 0 100%;
}

}

@keyframes fadeIn {

from {
	opacity: 0;
	transform: translateY(20px);
}

to {
	opacity: 1;
	transform: translateY(0);
}

}

