@charset "UTF-8";
/*
Theme Name: president-agency
Author: Catwork Co., Ltd.
Version: 1.0.0
*/

/* サイトの基本カラーに合わせて変更 */
:root {
	--main-color: #145680;
	--main-light-color: #8a7758;
	--main-dark-color: #182d3b;
}

/* Reset
----------------------------------------------------------- */
html, body, div, span, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, address, code,
del, em, img, ins, kbd, q, s, samp,
small, strong, sub, sup, u,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header,
menu, nav, output, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	font-weight: normal;
	font-style: normal;
	vertical-align: baseline;
	background: transparent;
	-webkit-text-size-adjust: 100%;
	word-break: break-word;
}

html{
	scroll-behavior: smooth;
}
body {
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 16px;
	line-height: 2;
	color:#fff;
	background: #021826;
}
a {
	color:#fff;
	text-decoration: none;
}
a:focus {
	outline: none;
}
img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: middle;
}
strong {
	font-weight: normal;
}
ul, ol {
	list-style: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input[type="text"],
input[type="email"],
textarea {
	border-radius: 0;
	-webkit-appearance: none;
	line-height: normal;
	color: var(--main-font-color, #333);
}
textarea {
	overflow: auto;
}
::placeholder {
	color: #666;
}
.clearfix::after {
	content: "";
	display: table;
	clear: both;
}
.wrap {
	width: 100%;
	overflow-x: hidden;
}
.inner {
	width: 1200px;
	margin: 0 auto;
}
h2, h3, h4, h5, h6 {
	font-weight: 500;
}



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

/*ふわっと出る*/
.mv01_on{
	-webkit-transition: all 0.8s ease-out;
	-moz-transition: all 0.8s ease-out;
	-ms-transition: all 0.8s ease-out;
	-o-transition: all 0.8s ease-out;
	transition: all 0.8s ease-out;
	-webkit-transform: scale(1, 1) translate3d(0, 0, 0);
	-moz-transform: scale(1, 1) translate3d(0, 0, 0);
	-ms-transform: scale(1, 1) translate3d(0, 0, 0);
	-o-transform: scale(1, 1) translate3d(0, 0, 0);
	transform: scale(1, 1) translate3d(0, 0, 0);
	opacity: 0
}
.mv01_off{
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	-o-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-transform: scale(1, 1) translate3d(0, 0, 0);
	-moz-transform: scale(1, 1) translate3d(0, 0, 0);
	-ms-transform: scale(1, 1) translate3d(0, 0, 0);
	-o-transform: scale(1, 1) translate3d(0, 0, 0);
	transform: scale(1, 1) translate3d(0, 0, 0);
	opacity: 1
}

/*下から*/
.mv02_on{
	-webkit-transition: all 0.8s ease-out;
	-moz-transition: all 0.8s ease-out;
	-ms-transition: all 0.8s ease-out;
	-o-transition: all 0.8s ease-out;
	transition: all 0.8s ease-out;
	-webkit-transform: scale(1, 1) translate3d(0, 60px, 0);
	-moz-transform: scale(1, 1) translate3d(0, 60px, 0);
	-ms-transform: scale(1, 1) translate3d(0, 60px, 0);
	-o-transform: scale(1, 1) translate3d(0, 60px, 0);
	transform: scale(1, 1) translate3d(0, 60px, 0);
	opacity: 0
}
.mv02_off{
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	-o-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-transform: scale(1, 1) translate3d(0, 0, 0);
	-moz-transform: scale(1, 1) translate3d(0, 0, 0);
	-ms-transform: scale(1, 1) translate3d(0, 0, 0);
	-o-transform: scale(1, 1) translate3d(0, 0, 0);
	transform: scale(1, 1) translate3d(0, 0, 0);
	opacity: 1
}

/*右から*/
.mv03_on{
	-webkit-transition: all 0.8s ease-out;
	-moz-transition: all 0.8s ease-out;
	-ms-transition: all 0.8s ease-out;
	-o-transition: all 0.8s ease-out;
	transition: all 0.8s ease-out;
	-webkit-transform: scale(1, 1) translate3d(100px, 0, 0);
	-moz-transform: scale(1, 1) translate3d(100px, 0, 0);
	-ms-transform: scale(1, 1) translate3d(100px, 0, 0);
	-o-transform: scale(1, 1) translate3d(100px, 0, 0);
	transform: scale(1, 1) translate3d(100px, 0, 0);
	opacity: 0
}
.mv03_off{
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	-o-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-transform: scale(1, 1) translate3d(0, 0, 0);
	-moz-transform: scale(1, 1) translate3d(0, 0, 0);
	-ms-transform: scale(1, 1) translate3d(0, 0, 0);
	-o-transform: scale(1, 1) translate3d(0, 0, 0);
	transform: scale(1, 1) translate3d(0, 0, 0);
	opacity: 1
}

/*左から*/
.mv04_on{
	-webkit-transition: all 0.8s ease-out;
	-moz-transition: all 0.8s ease-out;
	-ms-transition: all 0.8s ease-out;
	-o-transition: all 0.8s ease-out;
	transition: all 0.8s ease-out;
	-webkit-transform: scale(1, 1) translate3d(-100px, 0, 0);
	-moz-transform: scale(1, 1) translate3d(-100px, 0, 0);
	-ms-transform: scale(1, 1) translate3d(-100px, 0, 0);
	-o-transform: scale(1, 1) translate3d(-100px, 0, 0);
	transform: scale(1, 1) translate3d(-100px, 0, 0);
	opacity: 0
}
.mv04_off{
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	-o-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-transform: scale(1, 1) translate3d(0, 0, 0);
	-moz-transform: scale(1, 1) translate3d(0, 0, 0);
	-ms-transform: scale(1, 1) translate3d(0, 0, 0);
	-o-transform: scale(1, 1) translate3d(0, 0, 0);
	transform: scale(1, 1) translate3d(0, 0, 0);
	opacity: 1
}




/*===============================================
横幅1200px以下
===============================================*/
@media screen and (max-width: 1240px) and (min-width: 441px){
html,
body,
.wrap{
	width:1240px;
}
}



/*===============================================
横幅441px以上
===============================================*/
@media screen and (min-width: 441px) {
a {
	transition: all .5s;
}
a:hover {
	opacity:0.8;
	filter:alpha(opacity=80);
	-moz-opacity:0.8;
	transition: all .5s;
}
.sp {
	display:none;
}



/* header
------------------------------------------------------------------------*/
header{
	width: 1200px;
	height: 0;
	margin: 0 auto;
	position: relative;
}
header h1{
	position: absolute;
	top: 15px;
	right: 0;
	font-size: 12px;
	line-height: 1;
}
header .header_box{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 1200px;
	height: 100px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
	z-index: 10000;
}
header .header_box .logo a{
	position: absolute;
	top: 25px;
	left: 0;
}
header .header_box .text01{
	position: absolute;
	top: 46px;
	left: 170px;
}
header .header_box .text01::before{
	content: "[";
	padding-right: 7px;
}
header .header_box .text01::after{
	content: "]";
	padding-left: 7px;
}



/* nav
------------------------------------------------------------------------*/
header nav #nav{
	position: absolute;
	top: 42px;
	right: 0;
}
header nav #nav > ul{
    display: flex;
    gap: 35px;
	align-items: center;
}
header nav #nav ul li.button01 a,
header nav #nav ul li.button02 a{
	position: relative;
	padding-left: 16px;
	pointer-events: auto;
}
header nav #nav ul li.button01 a::before,
header nav #nav ul li.button02 a::before{
	position: absolute;
	content: "";
	width: 6px;
	height: 6px;
	background: #8a7758;
	border-radius: 50%;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
header nav #nav ul li.button03 a{
	display: block;
	width: 220px;
	height: 40px;
	text-align: center;
	line-height: 40px;
	padding-left: 23px;
	background: url(img/header_icon01.svg) no-repeat left 40px center / 13px, linear-gradient(90deg, #a68f6a 0%, #8a7758 100%);
	border-radius: 20px;
	font-weight: bold;
	pointer-events: auto;
	transition: all .2s;
}
header nav #nav ul li.button03 a:hover{
	color: #a68f6a;
	background: url(img/header_icon01_hover.svg) no-repeat left 40px center / 13px, #fff;
	opacity: 1;
}
header nav #nav ul li.button04{
	display: none;
}



/* home
------------------------------------------------------------------------*/
/* key */
.home .key{
}



/* cont01 */
.home .cont01 {
	width: 1200px;
	margin: 0 auto;
	padding: 120px 0 0;
}
.home .cont01 h2 {
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
	font-size: 26px;
	line-height: 1;
	background: url(img/home_text01.svg) no-repeat top / 344px;
	margin-bottom: 40px;
	padding: 80px 0 40px;
}
.home .cont01 h2::before {
	position: absolute;
	content: "";
	width: 30px;
	height: 2px;
	background: #fff;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.home .cont01 .text01 {
	text-align: center;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color: #8a7758;
	font-size: 28px;
	line-height: 52px;
	margin-bottom: 80px;
}
.home .cont01 .text02 {
	font-size: 20px;
	line-height: 2.3;
	margin-bottom: 100px;
	padding: 100px 0 100px 560px;
}
.home .cont01 .text02 span{
	color: #8a7758;
	font-weight: bold;
}
.home .cont01 .img01{
	height: 0;
	position: relative;
	top: -460px;
	left: -310px;
	z-index: 10;
}
.home .cont01 .img01::before{
	position: absolute;
	content: "";
	width: 800px;
	height: 350px;
	top: 40px;
	left: -40px;
	background: #032033;
	border-radius: 5px;
	z-index: -10;
}
.home .cont01 .img01 img{
	border-radius: 5px;
}
.home .cont01 .text03 {
	font-size: 20px;
	line-height: 2.3;
	padding: 30px 0 60px 70px;
}
.home .cont01 .text03 span{
	color: #8a7758;
	font-weight: bold;
}
.home .cont01 .box03 {
	display: flex;
	padding-left: 70px;
	gap: 30px;
	margin-bottom: 180px;
}
.home .cont01 .box03 .button01 a,.home .cont01 .box03 .button02 a{
	display: block;
	position: relative;
	width: 265px;
	height: 50px;
	text-align: center;
	line-height: 50px;
	padding-right: 10px;
	background:  linear-gradient(90deg, #145680 0%, #0c344d 100%);
	border-radius: 25px;
	font-weight: bold;
	transition: all .2s;
}
.home .cont01 .box03 .button01 a::before,.home .cont01 .box03 .button02 a::before{
	position: absolute;
	content: "";
	width: 6px;
	height: 6px;
	background: #fff;
	top: 0;
	bottom: 0;
	right: 25px;
	margin: auto;
	border-radius: 3px;
}
.home .cont01 .box03 .button01 a:hover,.home .cont01 .box03 .button02 a:hover{
	background: #fff;
	color: #145680;
	opacity: 1;
}
.home .cont01 .box03 .button01 a:hover::before,.home .cont01 .box03 .button02 a:hover::before{
	background: #145680;
}
.home .cont01 .img02{
	height: 0;
	position: relative;
	top: -590px;
	right: -700px;
	z-index: 10;
}
.home .cont01 .img02::before{
	position: absolute;
	content: "";
	width: 800px;
	height: 450px;
	top: 40px;
	left: 40px;
	background: #032033;
	border-radius: 5px;
	z-index: -10;
}
.home .cont01 .img02 img{
	border-radius: 5px;
}


/* cont02 */
.home .cont02 {
	width: 1200px;
	margin: 0 auto;
	padding: 60px 0 150px;
}
.home .cont02 h2 {
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
	font-size: 26px;
	line-height: 1;
	background: url(img/home_text02.svg) no-repeat top / 411px;
	margin-bottom: 40px;
	padding: 80px 0 40px;
}
.home .cont02 h2::before {
	position: absolute;
	content: "";
	width: 30px;
	height: 2px;
	background: #fff;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.home .cont02 .filter-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 13px;
	margin-bottom: 45px;
}
.home .cont02 .filter-nav li button {
	width: 290px;
	height: 60px;
	border: none;
	border-radius: 5px;
	text-align: left;
	padding-left: 70px;
	color: #145680;
	font-weight: bold;
	background: url(img/home_icon01.svg) no-repeat left 37px center / 21px, #fff;
	transition: all .2s;
}
.home .cont02 .filter-nav li:nth-of-type(2) button {
	background: url(img/home_icon02.svg) no-repeat left 35px center / 22px, #fff;
}
.home .cont02 .filter-nav li:nth-of-type(3) button {
	background: url(img/home_icon03.svg) no-repeat left 35px center / 19px, #fff;
}
.home .cont02 .filter-nav li:nth-of-type(4) button {
	background: url(img/home_icon04.svg) no-repeat left 29px center / 22px, #fff;
}
.home .cont02 .filter-nav li:nth-of-type(5) button {
	background: url(img/home_icon05.svg) no-repeat left 39px center / 21px, #fff;
}
.home .cont02 .filter-nav li:nth-of-type(6) button {
	background: url(img/home_icon06.svg) no-repeat left 37px center / 21px, #fff;
}
.home .cont02 .filter-nav li:nth-of-type(7) button {
	background: url(img/home_icon07.svg) no-repeat left 36px center / 18px, #fff;
}
.home .cont02 .filter-nav li button:hover,.home .cont02 .filter-nav li .active {
	color: #fff;
	background: url(img/home_icon01_hover.svg) no-repeat left 37px center / 21px, #145680;
}
.home .cont02 .filter-nav li:nth-of-type(2) button:hover,.home .cont02 .filter-nav li:nth-of-type(2) .active {
	background: url(img/home_icon02_hover.svg) no-repeat left 35px center / 22px, #145680;
}
.home .cont02 .filter-nav li:nth-of-type(3) button:hover,.home .cont02 .filter-nav li:nth-of-type(3) .active {
	background: url(img/home_icon03_hover.svg) no-repeat left 35px center / 19px, #145680;
}
.home .cont02 .filter-nav li:nth-of-type(4) button:hover,.home .cont02 .filter-nav li:nth-of-type(4) .active {
	background: url(img/home_icon04_hover.svg) no-repeat left 29px center / 22px, #145680;
}
.home .cont02 .filter-nav li:nth-of-type(5) button:hover,.home .cont02 .filter-nav li:nth-of-type(5) .active {
	background: url(img/home_icon05_hover.svg) no-repeat left 39px center / 21px, #145680;
}
.home .cont02 .filter-nav li:nth-of-type(6) button:hover,.home .cont02 .filter-nav li:nth-of-type(6) .active {
	background: url(img/home_icon06_hover.svg) no-repeat left 37px center / 21px, #145680;
}
.home .cont02 .filter-nav li:nth-of-type(7) button:hover,.home .cont02 .filter-nav li:nth-of-type(7) .active {
	background: url(img/home_icon07_hover.svg) no-repeat left 36px center / 18px, #145680;
}
.home .cont02 .service_box {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}
.home .cont02 .service_box .service a {
	display: block;
	position: relative;
	width: 380px;
	padding: 25px 25px 30px;
	box-sizing: border-box;
	background: #1a2d40;
	border-radius: 5px;
}
.home .cont02 .service_box .service a h3 {
	margin: 242px 0 17px;
	line-height: 1;
	font-size: 21px;
}
.home .cont02 .service_box .service a .category {
	margin-bottom: 13px;
	padding: 4px 12px 0;
	box-sizing: border-box;
	width: fit-content;
	height: 20px;
	line-height: 1;
	font-size: 14px;
	background: #145680;
	border-radius: 3px;
}
.home .cont02 .service_box .service a .service_text {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	text-overflow: ellipsis;
	margin-bottom: 3px;
}
.home .cont02 .service_box .service a .company {
	font-size: 14px;
	color: #999;
	font-weight: 500;
	margin-bottom: 14px;
}
.home .cont02 .service_box .service a .img01 {
	position: absolute;
	top: 25px;
	left: 25px;
	border-radius: 3px;
	overflow: hidden;
}
.home .cont02 .service_box .service a .img01 img {
	transition: all .2s;
}
.home .cont02 .service_box .service a:hover .img01 img {
	transform: scale(1.1);
}
.home .cont02 .service_box .service a .incentive {
	position: relative;
	margin-bottom: 5px;
	padding: 14px 0 0 16px;
	border-top: #a6895a 1px solid;
	font-weight: bold;
}
.home .cont02 .service_box .service a .incentive::before {
	position: absolute;
	content: "";
	width: 6px;
	height: 6px;
	background: #a6895a;
	border-radius: 3px;
	top: 25px;
	left: 0;
}
.home .cont02 .service_box .service a .incentive_text {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1;
}



/* service
------------------------------------------------------------------------*/
.service{
	background: linear-gradient(90deg, #1a2d40 0%, #021d2e 100%);
}


/* pankuzu */
.service .pankuzu{
	margin-top: 36px;
	position: relative;
}
.service .pankuzu .inner{
	position: absolute;
	top: 80px;
	left: 50%;
	transform: translateX(-50%);
}


/* cont01 */
.service .cont01 {
	margin-top: 100px;
	padding: 140px 0;
	background: #021826;
}
.service .cont01 .inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.service .cont01 .box01{
	width: 460px;
}
.service .cont01 .box01 h2{
	position: relative;
	font-size: 36px;
	line-height: 1.389;
	padding-bottom: 30px;
	margin-bottom: 40px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.service .cont01 .box01 h2::before{
	position: absolute;
	content: "";
	width: 38px;
	height: 2px;
	bottom: 0;
	left: 0;
	background: #a6895a;
}
.service .cont01 .box01 .category {
	margin-bottom: 13px;
	padding: 4px 12px 0;
	box-sizing: border-box;
	width: fit-content;
	height: 20px;
	line-height: 1;
	font-size: 14px;
	background: #145680;
	border-radius: 3px;
}
.service .cont01 .box01 .company {
	font-size: 14px;
	color: #999;
	margin-bottom: 14px;
}
.service .cont01 .img01 img {
	border-radius: 5px;
}


/* cont02 */
.service .cont02 {
	width: 1200px;
	margin: 0 auto;
	padding: 120px 0 140px;
}
.service .cont02 h2 {
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
	font-size: 26px;
	line-height: 1;
	background: url(img/service_text01.svg) no-repeat top / 411px;
	padding: 80px 0 40px;
}
.service .cont02 .text01 {
	text-align: center;
	margin-bottom: 50px;
}
.service .cont02 ul {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}
.service .cont02 li a img{
	width: 380px;
	height: 213px;
	border-radius: 3px;
}
.service .cont02 .button01 {
	width: fit-content;
	margin: 100px auto 0;
}
.service .cont02 .button01 a{
	display: block;
	position: relative;
	width: 290px;
	height: 50px;
	text-align: center;
	line-height: 50px;
	padding-right: 10px;
	background:  linear-gradient(90deg, #145680 0%, #0c344d 100%);
	border-radius: 25px;
	font-weight: bold;
	transition: all .2s;
}
.service .cont02 .button01 a::before{
	position: absolute;
	content: "";
	width: 6px;
	height: 6px;
	background: #fff;
	top: 0;
	bottom: 0;
	right: 25px;
	margin: auto;
	border-radius: 3px;
}
.service .cont02 .button01 a:hover{
	background: #fff;
	color: #145680;
	opacity: 1;
}
.service .cont02 .button01 a:hover::before{
	background: #145680;
}


/* cont03 */
.service .cont03 {
	padding: 120px 0 140px;
	background: #021826;
}
.service .cont03 h2 {
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
	font-size: 26px;
	line-height: 1;
	background: url(img/service_text02.svg) no-repeat top / 513px;
	padding: 100px 0 60px;
}
.service .cont03 .box01 {
	display: flex;
	justify-content: left;
	align-items: center;
	flex-flow: row-reverse;
	gap: 60px;
}
.service .cont03 .box01 tr {
	display: flex;
	width: 480px;
	padding: 10px 0;
	text-align: left;
	border-top: #fff 1px solid;
}
.service .cont03 .box01 tr:last-child {
	border-bottom: #fff 1px solid;
}
.service .cont03 .box01 th {
	display: inline-block;
	width: 210px;
}
.service .cont03 .box01 td {
	display: inline-block;
	width: calc(100% - 210px);
}
.service .cont03 .button01 {
	width: fit-content;
	margin: 60px auto 0;
}
.service .cont03 .button01 a{
	display: block;
	position: relative;
	width: 480px;
	height: 50px;
	text-align: center;
	line-height: 50px;
	padding-right: 10px;
	background:  linear-gradient(90deg, #145680 0%, #0c344d 100%);
	border-radius: 25px;
	font-weight: bold;
	transition: all .2s;
}
.service .cont03 .button01 a::before{
	position: absolute;
	content: "";
	width: 6px;
	height: 6px;
	background: #fff;
	top: 0;
	bottom: 0;
	right: 25px;
	margin: auto;
	border-radius: 3px;
}
.service .cont03 .button01 a:hover{
	background: #fff;
	color: #145680;
	opacity: 1;
}
.service .cont03 .button01 a:hover::before{
	background: #145680;
}
.service .cont03 .img01 img {
	border-radius: 5px;
}


/* cont04 */
.service .cont04 {
	width: 1200px;
	margin: 0 auto;
	padding: 120px 0 140px;
}
.service .cont04 h2 {
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
	font-size: 24px;
	line-height: 1;
	background: url(img/service_text03.svg) no-repeat top / 508px;
	padding: 85px 0 40px;
}
.service .cont04 .price{
	font-size: 42px;
	text-align: center;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	line-height: 1;
	padding-bottom: 45px;
	position: relative;
}
.service .cont04 .price::before{
	content: "";
	width: 30px;
	height: 1px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.service .cont04 .table_set{
	width: 1000px;
	margin: 40px auto 0;
}
.service .cont04 table{
	width: 100%;
	border-collapse: separate;
	border-spacing: 5px 12px;
	background: rgba(0, 0, 0, 0.05);
	box-shadow: 0 0 30px 10px rgba(0, 0, 0, 0.05);
}
.service .cont04 table th,
.service .cont04 table td{
	height: 50px;
	line-height: 1.2;
	padding: 16px 25px 15px;
	box-sizing: border-box;
}
.service .cont04 table tr:last-of-type th,
.service .cont04 table tr:last-of-type td{
	height: 150px;
}
.service .cont04 table th{
	width: 200px;
	color: #fff;
	background:  linear-gradient(90deg, #a68f6a 0%, #8a7758 100%);
	font-weight: bold;
	text-align: center;
	border-radius: 3px 0 0 3px;
}
.service .cont04 table td{
	color: #333;
	background: #fff;
	font-weight: bold;
	border-radius: 0 3px 3px 0;
}


/* cont05 */
.service .cont05 {
	padding: 120px 0 140px;
	background: #021826;
}
.service .cont05 h2 {
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
	font-size: 24px;
	line-height: 1;
	background: url(img/service_text04.svg) no-repeat top / 335px;
	padding: 90px 0 40px;
}
.service .cont05 table {
	margin: 20px auto 0;
}
.service .cont05 table tr {
	display: flex;
	width: 600px;
	padding: 10px 0;
	margin: 0 auto;
	text-align: left;
	border-top: #fff 1px solid;
}
.service .cont05 table tr:last-child {
	border-bottom: #fff 1px solid;
}
.service .cont05 table th {
	display: inline-block;
	width: 290px;
	font-weight: bold;
	padding-left: 40px;
	box-sizing: border-box;
}
.service .cont05 table td {
	display: inline-block;
	width: calc(100% - 290px);
}



/* common
------------------------------------------------------------------------*/

/* key */
.common .key{
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	height: 300px;
	font-weight: 500;
	box-sizing: border-box;
	position: relative;
}
.common .key::before{
	content: "";
	background: url(img/common_key_img.png)no-repeat top center / cover;
	width: 1800px;
	height: 300px;
	position: absolute;
	top: 0;
	right: calc(50% - 900px);
	z-index: -1;
}
@media screen and (min-width: 1800px) {
	.common .key::before{
		width: 100%;
		right: 0;
	}
}
.common .key .text01{
	font-size: 28px;
	line-height: 1;
	padding-top: 167px;
	text-align: center;
	box-sizing: border-box;
}


/* pankuzu */
.pankuzu {
	margin-top: 15px;
	line-height: 1.3;
}
.pankuzu ul li {
	display: inline-block;
	margin-right: 10px;
	color: #999;
	font-size: 14px;
	font-weight: 500;
}
.pankuzu ul li a {
	color: #999;
	font-weight: 500;
}
.pankuzu ul li a:hover{
	text-decoration: underline;
}
.pankuzu ul li:not(:last-of-type)::after {
	content: "＞";
	margin-left: 10px;
	flex-shrink: 0;
}
.pankuzu ul li:last-of-type {
	margin-right: 0;
}


/* 一覧ページのページャー */
.archive-pager{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px;
	margin:120px auto;
}
.archive-pager .page-numbers{
	background: var(--main-color);
	color: #fff;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	box-sizing: border-box;
}
.archive-pager .page-numbers.current {
	border: 1px solid var(--main-color);
	color:var(--main-color);
	background: #fff;
}
.archive-pager .page-numbers.prev,
.archive-pager .page-numbers.next{
	background: var(--main-dark-color);
	color: #fff;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	box-sizing: border-box;
	padding-top: 3px;
}
.archive-pager .page-numbers.next {
	padding-left: 3px;
}



.single-pager{
	display: flex;
	justify-content: space-between;
	margin: 120px auto;
}
.single-pager .prev-pager-box,
.single-pager .next-pager-box{
	width: calc(50% - 30px);
}
.single-pager .prev-pager-box {
	margin-left: 20px;
}
.single-pager .next-pager-box {
	margin-right: 20px;
}
.single-pager a {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	font-size: 14px;
	position: relative;
}
.single-pager .prev-pager-box a {
	flex-direction: row-reverse;
}
.single-pager .prev-pager-box a::before,
.single-pager .next-pager-box a::before {
	content: "";
	width: 35px;
	height: 35px;
	background: var(--main-color);
	border-radius: 50%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.single-pager .prev-pager-box a::before{
	left: -20px;
}
.single-pager .next-pager-box a::before {
	right: -20px;
}
.single-pager .prev-pager-box a::after,
.single-pager .next-pager-box a::after {
	content: "";
	width: 0;
	height: 0;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.single-pager .prev-pager-box a::after{
	border-right: 8px solid #fff;
	left: -7px;
}
.single-pager .next-pager-box a::after {
	border-left: 8px solid #fff;
	right: -7px;
}
.single-pager .prev-pager-box a .text-box {
	padding-left: 20px;
}
.single-pager .next-pager-box a .text-box {
	padding-right: 20px;
}
.single-pager a h2 {
	line-height: 1.3;
	padding-bottom: 10px;
	font-weight: bold;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.single-pager a .img {
	flex-shrink: 0;
	box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.05);
}
.single-pager a .img img {
	width: 150px !important;
	border-radius: 5px !important;
}



/* ここから各下層ページ
------------------------------------------------------------------------*/
/* key */
.agreement .key::before{
	background: url(img/agreement_key_img.png)no-repeat top center / cover;
}

.agency .key::before{
	background: url(img/agency_key_img.png)no-repeat top center / cover;
}

.publish .key::before{
	background: url(img/publish_key_img.png)no-repeat top center / cover;
}



/* agency
------------------------------------------------------------------------*/
/* cont01 */
.agency .cont01{
	padding: 110px 0 140px;
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	gap: 60px;
}
.agency .cont01 .text_box h2{
	color: #8a7758;
	font-size: 26px;
	line-height: 1.769;
	margin-bottom: 35px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.agency .cont01 .text_box .text01 + .text01{
	margin-top: 30px;
}
.agency .cont01 .img img{
	border-radius: 5px;
}


/* cont02 */
.agency .cont02{
	padding: 120px 0;
	background: linear-gradient(90deg, #1a2d40 0%, #021d2e 100%);
}
.agency .cont02 h2{
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
	font-size: 26px;
	line-height: 1;
	padding: 90px 0 73px;
}
.agency .cont02 h2::before{
	content: "Flow";
	font-size: 120px;
	text-align: center;
	color: rgba(138, 119, 88, 0.2);
	letter-spacing: 10px;
	margin-left: 10px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.agency .cont02 .box_wrap{
	margin-bottom: 35px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 40px 15px;
	position: relative;
}
.agency .cont02 .box_wrap::before{
	content: "";
	width: 9999px;
	height: 1px;
	background: #8a7758;
	position: absolute;
	top: 51px;
	left: 203px;
	z-index: 1;
}
.agency .cont02 .box_wrap::after{
	content: "";
	width: 9999px;
	height: 1px;
	background: #8a7758;
	position: absolute;
	top: 441px;
	right: 203px;
	z-index: 1;
}
.agency .cont02 .box_wrap .box{
	width: 380px;
	height: 350px;
	background: #021826;
	border-radius: 5px;
	padding: 80px 28px 0 32px;
	box-sizing: border-box;
	position: relative;
}
.agency .cont02 .box_wrap .box::before{
	content: "01";
	color: #8a7758;
	font-size: 48px;
	line-height: 1;
	font-weight: bold;
	letter-spacing: 3px;
	margin-left: 3px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	position: absolute;
	top: -13px;
	left: 50%;
	transform: translateX(-50%);
}
.agency .cont02 .box_wrap .box:nth-of-type(2):before{
	content: "02";
}
.agency .cont02 .box_wrap .box:nth-of-type(3):before{
	content: "03";
}
.agency .cont02 .box_wrap .box:nth-of-type(4):before{
	content: "04";
}
.agency .cont02 .box_wrap .box:nth-of-type(5):before{
	content: "05";
}
.agency .cont02 .box_wrap .box:nth-of-type(6):before{
	content: "06";
}
.agency .cont02 .box_wrap .box::after{
	content: "";
	width: 7px;
	height: 7px;
	background: #8a7758;
	border-radius: 50%;
	position: absolute;
	top: 48px;
	left: 50%;
	transform: translateX(-50%);
}
.agency .cont02 .box_wrap .box h3{
	font-size: 22px;
	line-height: 1;
	font-weight: normal;
	text-align: center;
	margin-bottom: 18px;
	padding-bottom: 18px;
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.agency .cont02 .box_wrap .box h3::before{
	content: "";
	width: 20px;
	height: 1px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.agency .cont02 .text02{
	font-size: 14px;
	text-align: center;
}


/* cont03 */
.agency .cont03{
	padding: 120px 0;
}
.agency .cont03 h2{
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
	font-size: 26px;
	line-height: 1;
	padding: 90px 0 60px;
}
.agency .cont03 h2::before{
	content: "Price";
	font-size: 120px;
	text-align: center;
	color: rgba(138, 119, 88, 0.2);
	letter-spacing: 6px;
	margin-left: 4px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.agency .cont03 .box_wrap{
	display: flex;
	justify-content: center;
	gap: 60px;
}
.agency .cont03 .box_wrap .box01{
	width: 480px;
	padding: 40px;
	border-radius: 5px;
	box-sizing: border-box;
	background:  linear-gradient(90deg, #a68f6a 0%, #8a7758 100%);
}
.agency .cont03 .box_wrap .box01:nth-of-type(2){
	background: linear-gradient(90deg, #1a2d40 0%, #1f364d 100%);
}
.agency .cont03 .box_wrap .box01 h3{
	font-size: 30px;
	line-height: 1;
	font-weight: normal;
	text-align: center;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.agency .cont03 .box_wrap .box01 .box02{
	margin-top: 30px;
	padding: 30px 25px;
	border-radius: 3px;
	box-sizing: border-box;
	background: #fff;
}
.agency .cont03 .box_wrap .box01 .box02 .text01{
	font-size: 22px;
	line-height: 1;
	color: #8a7758;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
}
.agency .cont03 .box_wrap .box01:nth-of-type(2) .box02 .text01{
	color: #145680;
}
.agency .cont03 .box_wrap .box01 .box02 .text02{
	color: #222;
	font-size: 38px;
	line-height: 1;
	text-align: center;
	margin-bottom: 20px;
	padding-bottom: 20px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	position: relative;
}
.agency .cont03 .box_wrap .box01 .box02 .text02::before{
	content: "";
	width: 30px;
	height: 2px;
	background: #8a7758;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.agency .cont03 .box_wrap .box01:nth-of-type(2) .box02 .text02::before{
	background: #145680;
}
.agency .cont03 .box_wrap .box01 .box02 .text02 span{
	font-size: 18px;
	margin-left: 3px;
}
.agency .cont03 .box_wrap .box01 .box02 .text03{
	color: #222;
	font-weight: 500;
}


/* cont04 */
.agency .cont04{
	padding: 120px 0 30px;
	background: #182d3b;
	text-align: center;
}
.agency .cont04 .inner{
	height: 594px;
	padding: 120px 0 50px;
	background: url(img/contact_box_img01.png)no-repeat;
	text-align: center;
	box-sizing: border-box;
}
.agency .cont04 .inner h2{
	font-size: 34px;
	line-height: 1;
	margin-bottom: 30px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.agency .cont04 .inner .text01{
	line-height: 1;
	margin-bottom: 30px;
	padding-bottom: 30px;
	position: relative;
}
.agency .cont04 .inner .text01::before{
	content: "";
	width: 30px;
	height: 2px;
	background: #8a7758;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.agency .cont04 .inner .contact_box{
	display: flex;
	justify-content: center;
	gap: 25px;
}
.agency .cont04 .inner .contact_box .box{
	width: 350px;
	height: 285px;
	padding: 45px 0 40px;
	background: #021826;
	box-sizing: border-box;
}
.agency .cont04 .inner .contact_box .box h3{
	width: 270px;
	font-size: 23px;
	line-height: 1;
	margin: 0 auto;
	padding-bottom: 23px;
	border-bottom: 1px solid rgba(255,255,255,.5);
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.agency .cont04 .inner .contact_box .box .tel{
	display: inline-block;
	font-size: 34px;
	margin: 18px 0 0 14px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	position: relative;
}
.agency .cont04 .inner .contact_box .box .tel::before{
	content: "";
	background: url(img/tel_icon.svg)no-repeat;
	width: 22px;
	height: 32px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: -25px;
}
.agency .cont04 .inner .contact_box .box .tel_text{
	margin-top: 13px;
	line-height: 1.75;
}
.agency .cont04 .inner .contact_box .box .line_text{
	font-size: 32px;
	line-height: 1;
	margin-top: 35px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.agency .cont04 .inner .contact_box .box .zoom_text{
	display: block;
	font-size: 24px;
	line-height: 1.3;
	margin-top: 23px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.agency .cont04 .inner .contact_box .box .zoom_text span{
	font-size: 14px;
}
.agency .cont04 .inner .contact_box .box .line a,
.agency .cont04 .inner .contact_box .box .zoom a{
	display: block;
	position: relative;
	width: 290px;
	height: 50px;
	text-align: center;
	line-height: 50px;
	margin: 35px auto 0;
	padding-left: 25px;
	background: #39ae41 url(img/line_icon.svg) left 58px center no-repeat;
	border-radius: 25px;
	font-weight: bold;
	box-sizing: border-box;
	transition: all .2s;
}
.agency .cont04 .inner .contact_box .box .zoom a{
	margin-top: 17px;
	padding-left: 0;
	background: #8a7758;
}
.agency .cont04 .inner .contact_box .box .line a::before,
.agency .cont04 .inner .contact_box .box .zoom a::before{
	position: absolute;
	content: "";
	width: 6px;
	height: 6px;
	background: #fff;
	top: 0;
	bottom: 0;
	right: 25px;
	margin: auto;
	border-radius: 3px;
}
.agency .cont04 .inner .contact_box .box .line a:hover{
	background: #fff;
	color: #39ae41;
	opacity: 1;
}
.agency .cont04 .inner .contact_box .box .zoom a:hover{
	background: #fff;
	color: #8a7758;
	opacity: 1;
}
.agency .cont04 .inner .contact_box .box .line a:hover::before{
	background: #39ae41;
}
.agency .cont04 .inner .contact_box .box .zoom a:hover::before{
	background: #8a7758;
}



/* publish
------------------------------------------------------------------------*/
/* cont01 */
.publish .cont01{
	padding: 110px 0 140px;
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	gap: 60px;
}
.publish .cont01 .text_box{
	width: 570px;
}
.publish .cont01 .text_box h2{
	color: #8a7758;
	font-size: 26px;
	line-height: 1.769;
	margin-bottom: 35px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.publish .cont01 .text_box .text01 + .text01{
	margin-top: 30px;
}
.publish .cont01 .img img{
	border-radius: 5px;
}


/* cont02 */
.publish .cont02{
	padding: 120px 0;
	background: linear-gradient(90deg, #1a2d40 0%, #021d2e 100%);
}
.publish .cont02 h2{
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
	font-size: 26px;
	line-height: 1;
	padding: 90px 0 73px;
}
.publish .cont02 h2::before{
	content: "Flow";
	font-size: 120px;
	text-align: center;
	color: rgba(138, 119, 88, 0.2);
	letter-spacing: 10px;
	margin-left: 10px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.publish .cont02 .box_wrap{
	margin-bottom: 35px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 40px 15px;
	position: relative;
}
.publish .cont02 .box_wrap::before{
	content: "";
	width: 9999px;
	height: 1px;
	background: #8a7758;
	position: absolute;
	top: 51px;
	left: 203px;
	z-index: 1;
}
.publish .cont02 .box_wrap::after{
	content: "";
	width: 9999px;
	height: 1px;
	background: #8a7758;
	position: absolute;
	top: 351px;
	right: 203px;
	z-index: 1;
}
.publish .cont02 .box_wrap .box{
	width: 380px;
	height: 260px;
	background: #021826;
	border-radius: 5px;
	padding: 80px 32px 0;
	box-sizing: border-box;
	position: relative;
}
.publish .cont02 .box_wrap .box:nth-of-type(n+4){
	height: 290px;
}
.publish .cont02 .box_wrap .box::before{
	content: "01";
	color: #8a7758;
	font-size: 48px;
	line-height: 1;
	font-weight: bold;
	letter-spacing: 3px;
	margin-left: 3px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	position: absolute;
	top: -13px;
	left: 50%;
	transform: translateX(-50%);
}
.publish .cont02 .box_wrap .box:nth-of-type(2):before{
	content: "02";
}
.publish .cont02 .box_wrap .box:nth-of-type(3):before{
	content: "03";
}
.publish .cont02 .box_wrap .box:nth-of-type(4):before{
	content: "04";
}
.publish .cont02 .box_wrap .box:nth-of-type(5):before{
	content: "05";
}
.publish .cont02 .box_wrap .box:nth-of-type(6):before{
	content: "06";
}
.publish .cont02 .box_wrap .box::after{
	content: "";
	width: 7px;
	height: 7px;
	background: #8a7758;
	border-radius: 50%;
	position: absolute;
	top: 48px;
	left: 50%;
	transform: translateX(-50%);
}
.publish .cont02 .box_wrap .box h3{
	font-size: 22px;
	line-height: 1;
	font-weight: normal;
	text-align: center;
	margin-bottom: 18px;
	padding-bottom: 18px;
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.publish .cont02 .box_wrap .box h3::before{
	content: "";
	width: 20px;
	height: 1px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.publish .cont02 .text02{
	font-size: 14px;
	text-align: center;
}


/* cont03 */
.publish .cont03{
	padding: 120px 0;
}
.publish .cont03 h2{
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
	font-size: 26px;
	line-height: 1;
	padding: 90px 0 60px;
}
.publish .cont03 h2::before{
	content: "Price";
	font-size: 120px;
	text-align: center;
	color: rgba(138, 119, 88, 0.2);
	letter-spacing: 6px;
	margin-left: 4px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.publish .cont03 .box_wrap{
	display: flex;
	flex-direction: column;
	gap: 60px;
}
.publish .cont03 .box_wrap .box01{
	width: 1000px;
	margin: 0 auto;
	padding: 40px 40px 45px;
	border-radius: 5px;
	box-sizing: border-box;
	background:  linear-gradient(90deg, #a68f6a 0%, #8a7758 100%);
}
.publish .cont03 .box_wrap .box01:nth-of-type(2){
	background: linear-gradient(90deg, #1a2d40 0%, #1f364d 100%);
}
.publish .cont03 .box_wrap .box01 h3{
	font-size: 30px;
	line-height: 1;
	text-align: center;
	margin-bottom: 30px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.publish .cont03 .box_wrap .box01 .box02{
	padding: 40px 0;
	border-radius: 3px;
	box-sizing: border-box;
	background: #fff;
}
.publish .cont03 .box_wrap .box01 .box02 .text01{
	font-size: 48px;
	line-height: 1;
	color: #222;
	text-align: center;
	margin-bottom: 20px;
	padding-bottom: 20px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	position: relative;
}
.publish .cont03 .box_wrap .box01 .box02 .text01::before{
	content: "";
	width: 30px;
	height: 2px;
	background: #8a7758;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.publish .cont03 .box_wrap .box01 .box02 .text01 span{
	font-size: 18px;
}
.publish .cont03 .box_wrap .box01 .box02 .text02{
	color: #222;
	text-align: center;
}
.publish .cont03 .box_wrap .box01 .box03{
	padding: 30px 40px 40px;
	border: 1px solid rgba(255,255,255,.5);
	border-radius: 5px;
}
.publish .cont03 .box_wrap .box01 .box03 + .box03{
	margin-top: 60px;
}
.publish .cont03 .box_wrap .box01 .box03 h3{
	font-size: 24px;
	line-height: 1;
	margin-bottom: 30px;
}
.publish .cont03 .box_wrap .box01 .box03 .box04_wrap{
	display: flex;
	justify-content: space-between;
}
.publish .cont03 .box_wrap .box01 .box03 .box04{
	width: 400px;
}
.publish .cont03 .box_wrap .box01 .box03 .box04 h4{
	height: 50px;
	font-size: 24px;
	line-height: 50px;
	font-weight: normal;
	background: #021826 url(img/publish_icon01.svg) left 125px center no-repeat;
	padding-left: 20px;
	text-align: center;
	box-sizing: border-box;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	border-radius: 3px 3px 0 0;
}
.publish .cont03 .box_wrap .box01 .box03 .box04:nth-of-type(2) h4{
	background: #021826 url(img/publish_icon02.svg) left 32px center no-repeat;
}
.publish .cont03 .box_wrap .box01 .box03 .box04 .text_box{
	background: #fff;
	padding: 30px;
	box-sizing: border-box;
	border-radius: 0 0 3px 3px;
}
.publish .cont03 .box_wrap .box01 .box03 .box04 .text03{
	color: #222;
}
.publish .cont03 .box_wrap .box01 .price01,
.publish .cont03 .box_wrap .box01 .price02{
	font-size: 38px;
	line-height: 1;
	color: #222;
	text-align: center;
	margin-bottom: 20px;
	padding-bottom: 20px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	position: relative;
}
.publish .cont03 .box_wrap .box01 .price02{
	margin-top: 5px;
	margin-bottom: 0px;
	padding-bottom: 0px;
}
.publish .cont03 .box_wrap .box01 .price01::before,
.publish .cont03 .box_wrap .box01 .box02 .ttl_wrap::before{
	content: "";
	width: 30px;
	height: 2px;
	background: #145680;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.publish .cont03 .box_wrap .box01 .price01 span,
.publish .cont03 .box_wrap .box01 .price02 span{
	font-size: 18px;
}
.publish .cont03 .box_wrap .box01 .box02 .ttl_wrap{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin-bottom: 20px;
	padding-bottom: 30px;
	position: relative;
}
.publish .cont03 .box_wrap .box01 .box02 .ttl_wrap h4{
	width: 260px;
	height: 45px;
	font-size: 20px;
	line-height: 45px;
	font-weight: normal;
	background: #021826 url(img/publish_icon02.svg) left 25px center no-repeat;
	padding-left: 25px;
	text-align: center;
	box-sizing: border-box;
	border-radius: 3px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}


/* cont04 */
.publish .cont04{
	padding: 120px 0 30px;
	background: #182d3b;
	text-align: center;
}
.publish .cont04 .inner{
	height: 594px;
	padding: 120px 0 50px;
	background: url(img/contact_box_img01.png)no-repeat;
	text-align: center;
	box-sizing: border-box;
}
.publish .cont04 .inner h2{
	font-size: 34px;
	line-height: 1;
	margin-bottom: 30px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.publish .cont04 .inner .text01{
	line-height: 1;
	margin-bottom: 30px;
	padding-bottom: 30px;
	position: relative;
}
.publish .cont04 .inner .text01::before{
	content: "";
	width: 30px;
	height: 2px;
	background: #8a7758;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.publish .cont04 .inner .contact_box{
	display: flex;
	justify-content: center;
	gap: 25px;
}
.publish .cont04 .inner .contact_box .box{
	width: 350px;
	height: 285px;
	padding: 45px 0 40px;
	background: #021826;
	box-sizing: border-box;
}
.publish .cont04 .inner .contact_box .box h3{
	width: 270px;
	font-size: 23px;
	line-height: 1;
	margin: 0 auto;
	padding-bottom: 23px;
	border-bottom: 1px solid rgba(255,255,255,.5);
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.publish .cont04 .inner .contact_box .box .tel{
	display: inline-block;
	font-size: 34px;
	margin: 18px 0 0 14px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	position: relative;
}
.publish .cont04 .inner .contact_box .box .tel::before{
	content: "";
	background: url(img/tel_icon.svg)no-repeat;
	width: 22px;
	height: 32px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: -25px;
}
.publish .cont04 .inner .contact_box .box .tel_text{
	margin-top: 13px;
	line-height: 1.75;
}
.publish .cont04 .inner .contact_box .box .line_text{
	font-size: 32px;
	line-height: 1;
	margin-top: 35px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.publish .cont04 .inner .contact_box .box .zoom_text{
	display: block;
	font-size: 24px;
	line-height: 1.3;
	margin-top: 23px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.publish .cont04 .inner .contact_box .box .zoom_text span{
	font-size: 14px;
}
.publish .cont04 .inner .contact_box .box .line a,
.publish .cont04 .inner .contact_box .box .zoom a{
	display: block;
	position: relative;
	width: 290px;
	height: 50px;
	text-align: center;
	line-height: 50px;
	margin: 35px auto 0;
	padding-left: 25px;
	background: #39ae41 url(img/line_icon.svg) left 58px center no-repeat;
	border-radius: 25px;
	font-weight: bold;
	box-sizing: border-box;
	transition: all .2s;
}
.publish .cont04 .inner .contact_box .box .zoom a{
	margin-top: 17px;
	padding-left: 0;
	background: #8a7758;
}
.publish .cont04 .inner .contact_box .box .line a::before,
.publish .cont04 .inner .contact_box .box .zoom a::before{
	position: absolute;
	content: "";
	width: 6px;
	height: 6px;
	background: #fff;
	top: 0;
	bottom: 0;
	right: 25px;
	margin: auto;
	border-radius: 3px;
}
.publish .cont04 .inner .contact_box .box .line a:hover{
	background: #fff;
	color: #39ae41;
	opacity: 1;
}
.publish .cont04 .inner .contact_box .box .zoom a:hover{
	background: #fff;
	color: #8a7758;
	opacity: 1;
}
.publish .cont04 .inner .contact_box .box .line a:hover::before{
	background: #39ae41;
}
.publish .cont04 .inner .contact_box .box .zoom a:hover::before{
	background: #8a7758;
}



/* faq
------------------------------------------------------------------------*/
.faq .cont01 {
	box-sizing: border-box;
	margin: 120px auto;
	width: 1000px;
}
.faq .cont01 .box {
	padding: 30px 40px;
	border-top: 1px solid var(--main-color);
	position: relative;
	cursor: pointer;
}
.faq .cont01 .box:last-of-type {
	border-bottom: 1px solid var(--main-color);
}
.faq .cont01 .box span {
	position: absolute;
	top: 38px;
	right: 40px;
	width: 19px;
	height: 19px;
	background: var(--main-color);
	border-radius: 50%;
	transition: all .3s;
}
.faq .cont01 .box.active span {
	background: #bbbbbb;
	transition: all .3s;
}
.faq .cont01 .box span::before {
	content: "";
	width: 8px;
	height: 2px;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.faq .cont01 .box span::after {
	content: "";
	width: 2px;
	height: 8px;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 1;
	transition: all .3s;
}
.faq .cont01 .box.active span::after {
	opacity: 0;
	transition: all .3s;
}
.faq .cont01 .box p {
	padding-left: 40px;
	position: relative;
	font-weight: bold;
}
.faq .cont01 .box .qus::before {
	content: 'Q';
	font-size: 18px;
	font-weight: bold;
	color: var(--main-color);
	position: absolute;
	top: 0;
	left: 0;
}
.faq .cont01 .box .qus {
	font-size: 18px;
	transition: all .3s;
}
.faq .cont01 .box.active .qus {
	color: #bbbbbb;
	transition: all .3s;
}
.faq .cont01 .box .ans {
	padding-top: 15px;
	display: none;
}


/* company
------------------------------------------------------------------------*/
/* company 共通 */
.company .cont01 h2,
.company .cont02 h2,
.company .cont03 h2 {
	font-size: 28px;
	text-align: center;
	padding-bottom: 35px;
	font-weight: bold;
	position: relative;
	line-height: 1;
}
.company .cont01 h2::before,
.company .cont02 h2::before,
.company .cont03 h2::before {
	content: '';
	font-size: 16px;
	font-weight: bold;
	color: var(--main-color);
	width: 100%;
	text-align: center;
	position: absolute;
	bottom: 0;
	left: 0;
}
.company .cont01 h2::before {
	content: "GREETING";
}
.company .cont02 h2::before {
	content: "OUTLINE";
}
.company .cont03 h2::before {
	content: "Specified Commercial Transaction Law";
}
.company table {
	width: 100%;
	text-align: left;
	margin: 40px auto 0;
}
.company table tr {
	border-top: 1px solid #fff;
}
.company table tr:last-of-type {
	border-bottom: 1px solid #fff;
}
.company table th {
	width: 250px;
	padding: 23px 0 20px 50px;
	font-weight: bold;
	vertical-align: middle;
}
.company table td {
	padding: 23px 0 20px;
	vertical-align: middle;
}

/* cont01 */
.company .cont01 {
	margin: 120px auto;
}
.company .cont01 .flex {
	display: flex;
	align-items: center;
	padding-top: 50px;
}
.company .cont01 .flex .text_box {
	padding-left: 50px;
	width: 550px;
}
.company .cont01 .flex .text_box h3 {
	font-size: 22px;
	padding-bottom: 25px;
}
.company .cont01 .flex .text_box .text02 {
	text-align: right;
	font-size: 24px;
	margin-top: 40px;
	font-weight: bold;
}
.company .cont01 .flex .text_box .text02 span {
	font-size: 16px;
	font-weight: bold;
}
.company .cont01 .img {
	flex-shrink: 0;
	border-radius: 10px;
	overflow: hidden;
}


/* cont02 */
.company .cont02 {
	margin: 120px auto;
	padding: 120px 0;
	background: var(--main-light-color);
}
.company .cont02 .inner {
	width: 1000px;
}


/* cont02 */
.company .cont03 {
	width: 1000px;
	margin: 100px auto;
}
.company .cont03 table tr {
	border-top: 1px solid var(--main-color);
}
.company .cont03 table tr:last-of-type {
	border-bottom: 1px solid var(--main-color);
}






/*blog共通項目
--------------------------------------------------------------------------*/
.blog .flex {
	display: flex;
	justify-content: flex-start;
	margin: 120px auto;
}
.blog .flex .left_box{
	flex-shrink: 1;
	width: 800px;
	margin-right: 30px;
}
.blog .flex .side {
	width: 370px;
	flex-shrink: 0;
	margin-top: -5px;
}
.blog .flex .side .side_box02,
.blog .flex .side .side_box03 {
	margin: 60px 0;
}
.blog .flex .side .cont a {
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	align-items: center;
	box-sizing: border-box;
	margin-top: 20px;
}
.blog .flex .side h2 {
	font-size: 20px;
	font-weight: bold;
	padding-bottom: 5px;
	border-bottom: 1px solid var(--main-color);
	position: relative;
}
.blog .flex .side h2::before {
	content: "";
	color: var(--main-color);
	font-size: 14px;
	position: absolute;
	top: 7px;
	left: 100px;
}
.blog .flex .side .side_box01 h2::before {
	content: "Popular Articles";
}
.blog .flex .side .side_box02 h2::before {
	content: "New Articles";
}
.blog .flex .side .side_box03 h2::before {
	content: "Category";
	left: 110px;
}
.blog .flex .side .cont .text_box {
	margin-left: 15px;
	font-size: 14px;
	width: 205px;
}
.blog .flex .side .cont .text_box h3 {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	margin-bottom: 10px;
}
.blog .flex .side .cont .img {
	width: 150px;
	flex-shrink: 0;
	position: relative;
	box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.05);
	border-radius: 5px;
}
.blog .flex .side .cont .img img {
	border-radius: 5px;
}
.blog .flex .side .side_box01 .cont .img::before {
	content: "";
	width: 25px;
	height: 25px;
	font-size: 14px;
	font-weight: bold;
	color: #fff;
	background: var(--main-color);
	line-height: 1;
	box-sizing: border-box;
	padding-top: 6px;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
}
.blog .flex .side .side_box01 .cont:nth-of-type(1) .img::before {
	content: "1";
	background: #f2cd44;
}
.blog .flex .side .side_box01 .cont:nth-of-type(2) .img::before {
	content: "2";
	background: #ababab;
}
.blog .flex .side .side_box01 .cont:nth-of-type(3) .img::before {
	content: "3";
	background: #bc6c25;
}
.blog .flex .side .side_box01 .cont:nth-of-type(4) .img::before {
	content: "4";
}
.blog .flex .side .side_box01 .cont:nth-of-type(5) .img::before {
	content: "5";
}
.blog .flex .side .side_box02 .cont .img {
	position: relative;
}
.blog .flex .side .side_box02 .cont .img::before {
	content: "new";
	width: 50px;
	height: 25px;
	line-height: 1;
	font-size: 14px;
	box-sizing: border-box;
	padding-top: 5px;
	color: #fff;
	background: var(--main-color);
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
}
.blog .flex .side .side_box03 ul {
	margin-top: 15px;
}
.blog .flex .side .side_box03 ul li {
	position: relative;
	padding-left: 32px;
}
.blog .flex .side .side_box03 ul li:nth-of-type(n+2) {
	margin-top: 15px;
}
.blog .flex .side .side_box03 ul li::before {
	content: '';
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: url(img/category_icon.png) no-repeat top 7px left 7px var(--main-color);
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}


/*blog_archive
------------------------------------------------------------------------*/
.blog_archive .cont01 .cont:nth-of-type(1) {
	margin-top: 0;
}
.blog_archive .cont01 .cont {
	border-bottom: 1px solid var(--main-color);
	margin-top: 30px;
}
.blog_archive .cont01 .cont a{
	display: block;
	box-sizing: border-box;
	padding: 0 0 30px;
	display: flex;
	align-items: center;
	flex-direction: row-reverse;
	justify-content: flex-end;
}
.blog_archive .cont01 .cont .img {
	flex-shrink: 0;
	box-shadow: 0 0 20px 10px rgba(0, 0, 0, 0.03);
	border-radius: 10px;
}
.blog_archive .cont01 .cont .img img {
	border-radius: 10px;
}
.blog_archive .cont01 .cont .text_box {
	width: 440px;
	padding-left: 30px;
}
.blog_archive .cont01 .cont h2 {
	font-size: 18px;
}
.blog_archive .cont01 .cont .text_box .cate_box {
	margin: 15px 0;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	align-items: center;
}
.blog_archive .cont01 .cont .text_box .cate_box .cate {
	font-size: 12px;
	line-height: 1;
	color: #fff;
	background: var(--main-color);
	border-radius: 5px;
	min-width: 100px;
	padding: 7px 15px;
	text-align: center;
}
.blog_archive .cont01 .cont .text_box .cate_box .date {
	font-size: 14px;
	line-height: 1;
}
.blog_archive .cont01 .cont .text_box .text {
	line-height: 1.8;
}


/* ブログ詳細 css */
.blog_single .cont01 h1{
	padding-bottom: 10px;
	border-bottom: 1px solid var(--main-color);
	font-size: 20px;
	line-height: 1.5;
	margin: 0 0 25px;
	font-weight: bold;
	position: relative;
}
.blog_single .cont01 .cate_box {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 20px;
}
/*
.blog_single .cont01 .cate_box .cate {
	line-height: 1;
	font-size: 12px;
	color: #fff;
	text-align: center;
	min-width: 100px;
	padding: 7px 15px;
	border-radius: 5px;
	background: var(--main-color);
}*/
.blog_single .cont01 .cate_box .cate {
	text-align: center;
}
.blog_single .cont01 .cate_box .cate a{
	color: #fff;
	text-decoration: none;
	display: block;
	line-height: 1;
	font-size: 12px;
	min-width: 100px;
	padding: 7px 15px;
	border-radius: 5px;
	background: var(--main-color);
}



.blog_single .cont01 .cate_box .date{
	font-size: 14px;
	line-height: 1;
	margin: 0;
	font-weight: bold;
}





/* contact
------------------------------------------------------------------------*/
/* cont01 */
.contact .cont01 {
	width: 1000px;
	margin: 120px auto 0;
}
.contact .cont01 .tel-box {
	padding: 40px 0 35px;
	border-top: 1px solid var(--main-dark-color);
	/* border-bottom: 1px solid var(--main-color); */
}
.contact .cont01 .line-box {
	padding: 40px 0 45px;
	border-top: 1px solid var(--main-dark-color);
	border-bottom: 1px solid var(--main-dark-color);
}
.contact .cont01 h2{
	font-size: 18px;
}
.contact .cont01 .tel-box h2::before {
	content: '■';
	color: var(--main-color);
	padding-right: 5px;
}
.contact .cont01 .line-box h2::before {
	content: '■';
	color: #00b12b;
	padding-right: 5px;
}
.contact .cont01 .tel-box p {
	display: flex;
	align-items: center;
	margin-top: 10px;
	line-height: 1.5;
}
.contact .cont01 .tel-box a {
	display: inline-block;
	font-size: 30px;
	padding-right: 20px;
	pointer-events: none;
}
.contact .cont01 .line-box p {
	margin-top: 15px;
}
.contact .cont01 .line-box a {
	font-size: 18px;
	line-height: 1;
	padding: 20px 75px 20px 55px;
	background: url(img/contact-line.png) no-repeat center left, url(img/contact-qr.png) no-repeat center right;
}


/* cont02 */
.contact .cont02 {
	width: 1000px;
	margin: 40px auto 100px;
}
.contact .cont02 h2{
	font-size: 18px;
}
.contact .cont02 h2::before {
	content: '■';
	color: var(--main-color);
	padding-right: 5px;
}
.contact .cont02 .lead {
	margin-top: 20px;
	font-size: 14px;
	line-height: 2;
}
.contact .cont02 table{
	width:1000px;
	margin: 40px auto 0;
}
.contact .cont02 table tr {
	border-top: 1px solid var(--main-color);
}
.contact .cont02 table tr:last-of-type {
	border-bottom: 1px solid var(--main-color);
}
.contact .cont02 table th{
	width: 265px;
	text-align: left;
	vertical-align: middle;
	position: relative;
	box-sizing: border-box;
	font-weight: bold;
	padding: 30px 0;
	position: relative;
}
.contact .cont02 table th span{
	color: #fff;
	background: var(--main-color);
	border-radius: 5px;
	float: right;
	padding: 7px 15px;
	line-height: 1;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
.contact .cont02 tr.address-contact th {
	vertical-align: top;
	padding-top: 48px;
}
.contact .cont02 tr.address-contact th span {
	top: 45px;
	transform: none;
}
.contact .cont02 table td{
	vertical-align: middle;
	padding: 30px 0 30px 25px;
}
.contact .cont02 table td .radio-box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 60px;
}
.contact .cont02 table td .radio-box span {
	display: flex;
	align-items: center;
	gap: 0 5px;
}
.contact .cont02 table td .radio-box span input {
	margin: 0 !important;
}
.contact .cont02 table td input[type="text"],
.contact .cont02 table td input[type="email"],
.contact .cont02 table td input[type="tel"],
.contact .cont02 table td select,
.contact .cont02 table td textarea{
	width:100% !important;
	height: 60px !important;
	font-size:16px;
	font: inherit;
	padding: 5px;
	box-sizing: border-box;
	padding: 20px 30px;
	border: none !important;
	background: var(--main-light-color);
	border-radius: 5px !important;
}
.contact .cont02 tr.address-contact input {
	margin-bottom: 10px !important;
}
.contact .cont02 tr.address-contact input:first-of-type {
	margin-right: 20px;
}
.contact .cont02 tr.address-contact input:first-of-type,
.contact .cont02 tr.address-contact input:nth-of-type(2) {
	width: 210px !important;
}
.contact .cont02 tr.address-contact input:last-of-type {
	margin-bottom: 0 !important;
}
.contact .cont02 table td select {
	cursor: pointer;
}
.contact .cont02 table td textarea{
	height: 250px !important;
	vertical-align: middle;
	resize:none
}
.contact .cont02 .privacy_check{
	text-align: center;
	padding: 50px 0 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
.contact .cont02 .privacy_check a {
	text-decoration: underline;
}
.contact .cont02 .privacy_check div.mfp_err {
	text-align: center;
	width: 1000px;
	margin: 0 auto;
	padding: 10px 0;
	box-sizing: border-box;
	background: url(img/mfp_error.gif) no-repeat top 12px left 320px;
}
.contact .cont02 .privacy_check input {
	width: 15px;
	height: 15px;
	margin: 0 5px;
}
.contact .cont02 .privacy_check label {
	margin: 0 5px!important;
}
.contact .cont02 .button{
	text-align: center;
}
.contact .cont02 .button input{
	font-family: var(--main-font) !important;
	width: 360px;
	border-radius: 60px;
	line-height: 1;
	padding: 20px 0;
	font-size: 16px;
	box-sizing: border-box;
	cursor: pointer;
	margin: auto;
	border: none;
	display: block;
	color: #fff;
	background: var(--main-color);
	border: 1px solid var(--main-color);
	transition: all .5s;
}
.contact .cont02 .button input:hover{
	background: #fff;
	color: var(--main-color);
	transition: all .5s;
}


/* thanks
------------------------------------------------------------------------*/
.thanks .cont01{
	padding: 70px 0 100px;
	text-align: center;
}
.thanks .cont01 h2{
	text-align: center;
	font-size: 24px;
}
.thanks .cont01 .text{
	margin: 40px 0 0;
	font-weight: bold;
}
.thanks .cont01 .button {
	margin-top: 50px;
}
.thanks .cont01 .button a{
	width: 360px;
	border-radius: 60px;
	line-height: 1;
	padding: 20px 0;
	font-size: 16px;
	box-sizing: border-box;
	cursor: pointer;
	margin: auto;
	border: none;
	display: block;
	color: #fff;
	background: var(--main-color);
	border: 1px solid var(--main-color);
	transition: all .5s;
}
.thanks .cont01 .button a:hover {
	background: #fff;
	color: var(--main-color);
	transition: all .5s;
}


/* agreement
------------------------------------------------------------------------*/
.agreement .cont01 {
	margin: 120px auto 0;
	padding-bottom: 50px;
	border-bottom: 1px dashed #fff;
}
.agreement .cont02 {
	margin: 50px auto;
	padding-bottom: 50px;
	border-bottom: 1px dashed #fff;
}
.agreement .cont03 {
	margin: 50px auto 160px;
	padding-bottom: 50px;
}
.agreement .cont01 h2,
.agreement .cont02 h2,
.agreement .cont03 h2 {
	font-size: 32px;
	line-height: 1;
}
.agreement .cont01 .box,
.agreement .cont02 .box,
.agreement .cont03 .box {
	margin: 40px 0 0 30px;
}
.agreement .cont01 .box h3,
.agreement .cont02 .box h3,
.agreement .cont03 .box h3 {
	font-size: 24px;
	line-height: 1;
}
.agreement .cont01 .box .text01,
.agreement .cont02 .box .text01,
.agreement .cont03 .box .text01 {
	line-height: 1.5;
	margin-top: 15px;
}
.agreement .cont01 .box ul,
.agreement .cont02 .box ul,
.agreement .cont03 .box ul {
	line-height: 1.5;
	margin: 15px 0 0 20px;
}


/* yonmaruyon yonichimaru
------------------------------------------------------------------------*/
.yonmaruyon .cont01,
.yonichimaru .cont01 {
	padding: 70px 0 100px;
	text-align: center;
}
.yonmaruyon .cont01 h2,
.yonichimaru .cont01 h2 {
	text-align: center;
	font-size: 24px;
}
.yonmaruyon .cont01 .text,
.yonichimaru .cont01 .text {
	margin: 30px 0 0;
	font-weight: bold;
}
.yonmaruyon .cont01 .button,
.yonichimaru .cont01 .button {
	margin-top: 40px;
}
.yonmaruyon .cont01 .button a,
.yonichimaru .cont01 .button a {
	width: 360px;
	border-radius: 60px;
	line-height: 1;
	padding: 20px 0;
	font-size: 16px;
	box-sizing: border-box;
	cursor: pointer;
	margin: auto;
	border: none;
	display: block;
	color: #fff;
	background: var(--main-color);
	border: 1px solid var(--main-color);
	transition: all .5s;
}
.yonmaruyon .cont01 .button a:hover,
.yonichimaru .cont01 .button a:hover {
	background: #fff;
	color: var(--main-color);
	transition: all .5s;
}


/*post_cont
------------------------------------------------------------------------*/
.post_cont .index_nav {
	box-sizing: border-box;
	padding: 40px;
	border: none;
	border-radius: 0px;
	margin: 20px 0 45px;
	background: var(--main-light-color);
	border-radius: 10px;
}
.post_cont .index_nav .title {
	font-weight: bold;
	position: relative;
	padding: 0 !important;
	padding-left: 35px !important;
	font-size: 18px;
	line-height: 1.5;
	font-weight: normal;
}
.post_cont .index_nav .title::before {
	content: '';
	width: 20px;
	height: 18px;
	background: url(img/index_icon.png) no-repeat center / 100%;
	position: absolute;
	top: 4px;
	left: 5px;
}
.post_cont .index_nav {
	position: static;
}
.post_cont .index_nav ul {
	margin: 20px 0 0 0;
	padding-bottom: 0;
}
.post_cont .index_nav ul li.index_level03 {
	margin-left: 15px;
}
.post_cont .index_nav ul li.index_level04 {
	margin-left: 30px;
}
.post_cont .index_nav ul li.index_level05 {
	margin-left: 45px;
}
.post_cont .index_nav ul li {
	display: block;
	text-align: left;
	margin-top: 25px;
}
.post_cont .index_nav ul li.index_level03,
.post_cont .index_nav ul li.index_level04,
.post_cont .index_nav ul li.index_level05 {
	margin-top: 15px;
}
.post_cont .index_nav ul li a {
	font-size: 18px;
	font-weight: normal;
	text-decoration: none;
}
.post_cont .index_nav ul li.index_level03 a,
.post_cont .index_nav ul li.index_level04 a,
.post_cont .index_nav ul li.index_level05 a {
	font-size: 16px;
}
.post_cont .index_nav ul li a:hover {
	text-decoration: none;
}
.post_cont .index_nav ul li::before {
	display: none;
}

.post_cont .has-text-align-left{
	text-align: left;
}
.post_cont .has-text-align-center{
	text-align: center;
}
.post_cont .has-text-align-right{
	text-align: right;
}

.post_cont h2{
	margin: 50px 0 30px;
	padding: 0 0 0 35px;
	font-size: 24px;
	position: relative;
	line-height: 1.2;
}
.post_cont h2:before{
	content: "";
	display: block;
	width:14px;
	height: 14px;
	border:1px solid var(--main-color);
	background: #fff;
	position: absolute;
	top:0px;
	left:0;
}
.post_cont h2:after{
	content: "";
	display: block;
	width:14px;
	height: 14px;
	border:1px solid var(--main-color);
	background: var(--main-color);
	position: absolute;
	top:10px;
	left:10px;
}
.post_cont h3{
	margin: 45px 0 30px;
	padding: 0 0 0 30px;
	font-size: 22px;
	position: relative;
	line-height: 1.2;
}
.post_cont h3:before{
	content: "";
	display: block;
	width:20px;
	height: 20px;
	background: var(--main-color);
	position: absolute;
	top:2px;
	left:0;
}

.post_cont h4{
	font-size:20px;
	border-left:5px solid var(--main-color);
	margin: 40px 0 30px;
	padding: 2px 0 0 15px;
	line-height: 1.2;
}

.post_cont h5{
	font-size:18px;
	margin: 35px 0 30px;
	padding: 0 0 0 25px;
	position: relative;
	line-height: 1.2;
}
.post_cont h5:before{
	content: "";
	display: block;
	width:15px;
	height: 5px;
	background: var(--main-color);
	position: absolute;
	top:10px;
	left:0;
}
.post_cont strong{
	font-weight: bold;
	color: var(--main-dark-color);
}
.post_cont em{
	font-style: italic;
	color: var(--main-color);
}
.post_cont a{
	text-decoration: underline;
	color:var(--main-color);
}

.post_cont > p{
	margin: 0 0 30px;
}
.post_cont ul{
	margin: 0 0 30px 23px;
	list-style-type: disc;
}
.post_cont ol{
	margin: 0 0 30px 23px;
	list-style-type: decimal;
}
.post_cont table{
	border-collapse: separate;
	border-spacing: 5px;
	width: 100%;
	margin: 0 0 30px;
}
.post_cont table th{
	background: var(--main-color);
	color:#fff;
	font-weight: bold;
	padding: 10px 15px;
}
.post_cont table tr:nth-of-type(1) th{
	background: var(--main-dark-color);
}
.post_cont table td{
	background: var(--main-light-color);
	padding: 10px 15px;
}
.post_cont .wp-block-quote{
	background: var(--main-light-color);
	padding: 50px;
	border-left: 3px solid var(--main-color);
	margin: 0 0 30px;
	position: relative;
}
.post_cont .wp-block-quote:before,
.post_cont .wp-block-quote:after{
	content: "”";
	display: block;
	font-size: 100px;
	color:var(--main-color);
	line-height: 1;
	position: absolute;
}
.post_cont .wp-block-quote:before{
	top: 10px;
	left: 10px;
}
.post_cont .wp-block-quote:after{
	bottom: 10px;
	right: 10px;
	transform: rotate(180deg);
}

.post_cont .wp-block-buttons{
	margin: 0 0 30px;
	display: flex;
}
.post_cont .wp-block-buttons a{
	display: block;
	text-align: center;
	background: var(--main-color);
	border: 1px solid var(--main-color);
	box-sizing: border-box;
	line-height: 48px;
	min-width: 350px;
	height: 50px;
	border-radius: 50px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	transition: all 0.5s;
	position: relative;
	text-decoration: none;
}
.post_cont .wp-block-buttons a::after{
	content: "";
	background: url(img/btn_arrow01.png)center left / cover no-repeat;
	width: 16px;
	height: 12px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 20px;
}
.post_cont .wp-block-buttons a:hover {
	color: var(--main-color);
	background: #fff;
	opacity: 1;
}
.post_cont .wp-block-buttons a:hover::after {
	filter: brightness(0) saturate(100%) invert(15%) sepia(53%) saturate(5355%) hue-rotate(201deg) brightness(95%) contrast(101%);
}
.post_cont .wp-block-code{
	display: block;
	white-space: pre-wrap;
	margin: 0 0 30px;
}
.post_cont .wp-block-code code{
	display: inline-block;
	padding: 20px;
	color: #fff;
	background: #333;
}
.post_cont .wp-block-image{
	margin: 0 0 30px;
}
.post_cont .wp-block-image img{
	max-width: 100%;
	border-radius: 10px;
}




/* footer
------------------------------------------------------------------------*/
footer{
	padding: 90px 0;
	position: relative;
}
footer::before{
	content: "";
	width: 100%;
	height: 100%;
	background: url(img/footer_img01.png) no-repeat center / cover;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
footer .logo a{
	display: block;
	margin: 0 auto 20px;
	width: 222px;
	height: 80px;
	padding-top: 80px;
	box-sizing: border-box;
	overflow: hidden;
	background: url(img/footer_img02.svg) no-repeat;
}
footer .text01{
	text-align: center;
	line-height: 1;
	margin-bottom: 75px;
}
footer .text01::before{
	content: "[";
	padding-right: 7px;
}
footer .text01::after{
	content: "]";
	padding-left: 7px;
}
footer .box01{
	display: flex;
	justify-content: center;
	gap: 77px;
}
footer .box01 ul{
	column-count: 2;
	column-gap: 77px;
}
footer .box01 li{
	height: 44px;
}
footer .box01 li::before{
	content: "・";
	margin-right: 5px;
}
footer .copy{
	text-align: center;
	font-size: 12px;
	line-height: 1;
	margin-top: 70px;
}



}/*PCの記述ここまで*/

/*===============================================
横幅441px以下 sp
===============================================*/

@media screen and (max-width: 441px) {
html,
body,
.wrap {
	width: 440px;
	position: relative;
}
.inner {
	box-sizing: border-box;
	padding: 0 30px;
	width: auto;
}
.pc {
	display: none;
}
.sp {
	display: inline;
}
p {
	font-size: 14px;
}



/* header
------------------------------------------------------------------------*/
header{
	width: 100%;
	height: 50px;
	z-index: 10000;
	position: relative;
}
header h1{
	position: absolute;
	top: 60px;
	left: 10px;
	font-size: 12px;
	line-height: 1;
	box-sizing: border-box;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap; 
	max-width: 410px;
}
header .header_box{
	position: fixed;
	height: 50px;
	display: flex;
	align-items: center;
	z-index: 100;
	pointer-events: none;
}
header .header_box .logo{
	position: relative;
	z-index: 1001;
}
header .header_box .logo a{
	overflow: hidden;
	pointer-events: auto;
	margin-left: 10px;
}
header .header_box .logo a img{
	width: 110px;
	height: auto;
}
header .header_box .text01{
	font-size: 12px;
	z-index: 1001;
}
header .header_box .text01::before{
	content: "[";
	padding-right: 5px;
}
header .header_box .text01::after{
	content: "]";
	padding-left: 5px;
}



/* nav
------------------------------------------------------------------------*/
#nav{
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	width: 440px;
	padding: 98px;
	box-sizing: border-box;
	background: rgb(26, 45, 64, 0.95);
	z-index: 1000;
	transform: translateX(100%);
	transition: transform 0.3s ease;
	pointer-events: none;
}
#nav-btn.active + #nav{
	transform: translateX(0%);
	pointer-events: auto;
}
header nav ul .button01,
header nav ul .button02,
header nav ul .button04{
	margin-bottom: 30px;
}
header nav ul .button01 a,
header nav ul .button02 a,
header nav ul .button04 a{
	position: relative;
	padding-left: 16px;
	pointer-events: auto;
}
header nav ul .button01 a::before,
header nav ul .button02 a::before,
header nav ul .button04 a::before{
	position: absolute;
	content: "";
	width: 6px;
	height: 6px;
	background: #8a7758;
	border-radius: 50%;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
header nav ul .button03 a{
	display: block;
	width: 220px;
	height: 40px;
	text-align: center;
	line-height: 40px;
	padding-left: 23px;
	background: url(img/header_icon01.svg) no-repeat left 40px center / 13px, linear-gradient(90deg, #a68f6a 0%, #8a7758 100%);
	border-radius: 20px;
	font-weight: bold;
	pointer-events: auto;
}
#nav-btn{
	position: fixed;
	top: 0;
	right: 0;
	width: 50px;
	height: 50px;
	background: #a68f6a;
	z-index: 1001;
	transition: all .5s;
	pointer-events: auto;
}
#nav-btn .menu-btn{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	width: 20px;
	height: 14px;
}
#nav-btn .menu-btn span{
	position: absolute;
	left: 0;
	display: inline-block;
	background: #fff;
	width: 100%;
	height: 2px;
	transition: all .4s;
}
#nav-btn .menu-btn span:nth-of-type(1){
	top: 0;
	transition: all 0.5s;
}
#nav-btn .menu-btn span:nth-of-type(2){
	top: 6px;
	transition: all 0.5s;
}
#nav-btn .menu-btn span:nth-of-type(3){
	bottom: 0;
	transition: all 0.5s;
}
#nav-btn.active .menu-btn span:nth-of-type(1){
	transform: translateY(6px) rotate(-45deg);
	transition: all 0.5s;
}
#nav-btn.active .menu-btn span:nth-of-type(2){
	opacity: 0;
	transition: all 0.5s;
}
#nav-btn.active .menu-btn span:nth-of-type(3) {
	transform: translateY(-6px) rotate(45deg);
	transition: all 0.5s;
}



/* home
------------------------------------------------------------------------*/
/* key */
.home .key{
}



/* cont01 */
.home .cont01 {
	padding: 60px 30px 0;
}
.home .cont01 h2 {
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
	font-size: 22px;
	line-height: 1;
	background: url(img/home_text01.svg) no-repeat top / 220px;
	margin-bottom: 20px;
	padding: 50px 0 20px;
}
.home .cont01 h2::before {
	position: absolute;
	content: "";
	width: 25px;
	height: 1px;
	background: #fff;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.home .cont01 .text01 {
	text-align: center;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color: #8a7758;
	font-size: 16px;
	line-height: 1.7;
	margin-bottom: 30px;
}
.home .cont01 .text02 {
	font-size: 14px;
	line-height: 2.3;
	margin-bottom: 30px;
	padding-top: 210px;
}
.home .cont01 .text02 span{
	color: #8a7758;
	font-weight: bold;
}
.home .cont01 .img01{
	width: 420px;
	height: 0;
	position: relative;
	top: -363px;
	left: -40px;
	z-index: 10;
}
.home .cont01 .img01::before{
	position: absolute;
	content: "";
	width: 420px;
	height: 183px;
	top: 10px;
	left: -10px;
	background: #032033;
	border-radius: 5px;
	z-index: -10;
}
.home .cont01 .img01 img{
	border-radius: 5px;
}
.home .cont01 .text03 {
	font-size: 14px;
	line-height: 2.3;
	padding: 270px 0 40px;
}
.home .cont01 .text03 span{
	color: #8a7758;
	font-weight: bold;
}
.home .cont01 .box03 .button01{
	width: fit-content;
	margin: 0 auto 20px;
}
.home .cont01 .box03 .button02{
	width: fit-content;
	margin: 0 auto;
}
.home .cont01 .box03 .button01 a,.home .cont01 .box03 .button02 a{
	display: block;
	position: relative;
	width: 300px;
	height: 50px;
	text-align: center;
	line-height: 50px;
	background: linear-gradient(90deg, #145680 0%, #0c344d 100%);
	border-radius: 25px;
	font-weight: bold;
}
.home .cont01 .box03 .button01 a::before,.home .cont01 .box03 .button02 a::before{
	position: absolute;
	content: "";
	width: 6px;
	height: 6px;
	background: #fff;
	top: 0;
	bottom: 0;
	right: 25px;
	margin: auto;
	border-radius: 3px;
}
.home .cont01 .img02{
	width: 420px;
	height: 0;
	position: relative;
	top: -610px;
	right: 0px;
	z-index: 10;
}
.home .cont01 .img02::before{
	position: absolute;
	content: "";
	width: 420px;
	height: 236px;
	top: 10px;
	left: 10px;
	background: #032033;
	border-radius: 5px;
	z-index: -10;
}
.home .cont01 .img02 img{
	border-radius: 5px;
}


/* cont02 */
.home .cont02 {
	padding: 80px 30px;
}
.home .cont02 h2 {
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
	font-size: 22px;
	line-height: 1;
	background: url(img/home_text02.svg) no-repeat top / 280px;
	margin-bottom: 28px;
	padding: 50px 0 20px;
}
.home .cont02 h2::before {
	position: absolute;
	content: "";
	width: 25px;
	height: 1px;
	background: #fff;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.home .cont02 .filter-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 30px;
}
.home .cont02 .filter-nav li button {
	width: 185px;
	height: 60px;
	border: none;
	border-radius: 5px;
	text-align: left;
	padding: 0 10px 0 45px;
	color: #145680;
	font-size: 14px;
	font-weight: bold;
	background: url(img/home_icon01.svg) no-repeat left 20px center / 17px, #fff;
	transition: all .2s;
}
.home .cont02 .filter-nav li:nth-of-type(2) button {
	background: url(img/home_icon02.svg) no-repeat left 20px center / 18px, #fff;
}
.home .cont02 .filter-nav li:nth-of-type(3) button {
	background: url(img/home_icon03.svg) no-repeat left 20px center / 15px, #fff;
}
.home .cont02 .filter-nav li:nth-of-type(4) button {
	background: url(img/home_icon04.svg) no-repeat left 20px center / 18px, #fff;
}
.home .cont02 .filter-nav li:nth-of-type(5) button {
	background: url(img/home_icon05.svg) no-repeat left 20px center / 17px, #fff;
}
.home .cont02 .filter-nav li:nth-of-type(6) button {
	background: url(img/home_icon06.svg) no-repeat left 20px center / 17px, #fff;
}
.home .cont02 .filter-nav li:nth-of-type(7) button {
	background: url(img/home_icon07.svg) no-repeat left 20px center / 14px, #fff;
}
.home .cont02 .filter-nav li .active {
	color: #fff;
	background: url(img/home_icon01_hover.svg) no-repeat left 20px center / 17px, #145680;
}
.home .cont02 .filter-nav li:nth-of-type(2) .active {
	background: url(img/home_icon02_hover.svg) no-repeat left 20px center / 18px, #145680;
}
.home .cont02 .filter-nav li:nth-of-type(3) .active {
	background: url(img/home_icon03_hover.svg) no-repeat left 20px center / 15px, #145680;
}
.home .cont02 .filter-nav li:nth-of-type(4) .active {
	background: url(img/home_icon04_hover.svg) no-repeat left 20px center / 18px, #145680;
}
.home .cont02 .filter-nav li:nth-of-type(5) .active {
	background: url(img/home_icon05_hover.svg) no-repeat left 20px center / 17px, #145680;
}
.home .cont02 .filter-nav li:nth-of-type(6) .active {
	background: url(img/home_icon06_hover.svg) no-repeat left 20px center / 17px, #145680;
}
.home .cont02 .filter-nav li:nth-of-type(7) .active {
	background: url(img/home_icon07_hover.svg) no-repeat left 20px center / 14px, #145680;
}
.home .cont02 .service_box {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}
.home .cont02 .service_box .service a {
	display: block;
	position: relative;
	width: 380px;
	padding: 25px 25px 30px;
	box-sizing: border-box;
	background: #1a2d40;
	border-radius: 5px;
}
.home .cont02 .service_box .service a h3 {
	margin: 242px 0 17px;
	line-height: 1;
	font-size: 21px;
}
.home .cont02 .service_box .service a .category {
	margin-bottom: 13px;
	padding: 4px 12px 0;
	box-sizing: border-box;
	width: fit-content;
	height: 20px;
	line-height: 1;
	font-size: 14px;
	background: #145680;
	border-radius: 3px;
}
.home .cont02 .service_box .service a .service_text {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	text-overflow: ellipsis;
	margin-bottom: 3px;
}
.home .cont02 .service_box .service a .company {
	font-size: 14px;
	color: #999;
	margin-bottom: 14px;
}
.home .cont02 .service_box .service a .img01 {
	position: absolute;
	top: 25px;
	left: 25px;
	border-radius: 3px;
	overflow: hidden;
}
.home .cont02 .service_box .service a .incentive {
	position: relative;
	margin-bottom: 5px;
	padding: 14px 0 0 16px;
	border-top: #a6895a 1px solid;
	font-weight: bold;
}
.home .cont02 .service_box .service a .incentive::before {
	position: absolute;
	content: "";
	width: 6px;
	height: 6px;
	background: #a6895a;
	border-radius: 3px;
	top: 25px;
	left: 0;
}
.home .cont02 .service_box .service a .incentive_text {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1;
}



/* service
------------------------------------------------------------------------*/
.service{
	background: linear-gradient(90deg, #1a2d40 0%, #021d2e 100%);
}


/* pankuzu */
.service .pankuzu{
	position: relative;
}
.service .pankuzu .inner{
	position: absolute;
	top: 55px;
	left: 0;
}


/* cont01 */
.service .cont01 {
	margin-top: 50px;
	padding: 100px 0 60px;
	background: #021826;
}
.service .cont01 .inner{
	display: flex;
	flex-direction: column-reverse;
	align-items: center;
	gap: 15px;
}
.service .cont01 .box01 h2{
	position: relative;
	font-size: 22px;
	line-height: 1.6;
	padding-bottom: 15px;
	margin-bottom: 28px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.service .cont01 .box01 h2::before{
	position: absolute;
	content: "";
	width: 25px;
	height: 1px;
	bottom: 0;
	left: 0;
	background: #a6895a;
}
.service .cont01 .box01 .category {
	margin-bottom: 13px;
	padding: 4px 12px 0;
	box-sizing: border-box;
	width: fit-content;
	height: 20px;
	line-height: 1;
	font-size: 14px;
	background: #145680;
	border-radius: 3px;
}
.service .cont01 .box01 .company {
	font-size: 14px;
	color: #999;
	margin-bottom: 14px;
}
.service .cont01 .box01 .service_text {
	font-size: 16px;
}
.service .cont01 .img01 img {
	border-radius: 5px;
}


/* cont02 */
.service .cont02{
	padding: 80px 0;
}
.service .cont02 h2{
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
	font-size: 22px;
	line-height: 1;
	background: url(img/service_text01.svg) no-repeat top / 280px;
	padding: 50px 0 20px;
}
.service .cont02 .text01{
	text-align: center;
	margin-bottom: 40px;
}
.service .cont02 ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
}
.service .cont02 li a img{
	width: 190px;
	height: 107px;
	border-radius: 3px;
	object-fit: cover;
}
.service .cont02 .button01{
	width: fit-content;
	margin: 40px auto 0;
}
.service .cont02 .button01 a{
	display: block;
	position: relative;
	width: 290px;
	height: 50px;
	text-align: center;
	line-height: 50px;
	padding-right: 10px;
	background:  linear-gradient(90deg, #145680 0%, #0c344d 100%);
	border-radius: 25px;
	font-weight: bold;
	transition: all .2s;
}
.service .cont02 .button01 a::before{
	position: absolute;
	content: "";
	width: 6px;
	height: 6px;
	background: #fff;
	top: 0;
	bottom: 0;
	right: 25px;
	margin: auto;
	border-radius: 3px;
}


/* cont03 */
.service .cont03 {
	padding: 80px 0;
	background: #021826;
}
.service .cont03 h2 {
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
	font-size: 22px;
	line-height: 1;
	background: url(img/service_text02.svg) no-repeat top / 375px;
	padding: 50px 0;
}
.service .cont03 .box01 {
	display: flex;
	flex-direction: column-reverse;
	justify-content: center;
	align-items: center;
	gap: 30px;
}
.service .cont03 .box01 tr {
	display: flex;
	width: 380px;
	padding: 10px 0;
	text-align: left;
	border-top: #fff 1px solid;
}
.service .cont03 .box01 tr:last-child {
	border-bottom: #fff 1px solid;
}
.service .cont03 .box01 th {
	display: inline-block;
	width: 190px;
}
.service .cont03 .box01 td {
	display: inline-block;
	width: calc(100% - 190px);
}
.service .cont03 .button01 {
	width: fit-content;
	margin: 40px auto 0;
}
.service .cont03 .button01 a{
	display: block;
	position: relative;
	width: 300px;
	height: 50px;
	text-align: center;
	line-height: 50px;
	padding-right: 10px;
	background:  linear-gradient(90deg, #145680 0%, #0c344d 100%);
	border-radius: 25px;
	font-weight: bold;
	transition: all .2s;
}
.service .cont03 .button01 a::before{
	position: absolute;
	content: "";
	width: 6px;
	height: 6px;
	background: #fff;
	top: 0;
	bottom: 0;
	right: 25px;
	margin: auto;
	border-radius: 3px;
}
.service .cont03 .img01 img {
	border-radius: 5px;
}


/* cont04 */
.service .cont04 {
	padding: 80px 0;
}
.service .cont04 h2 {
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
	font-size: 22px;
	line-height: 1;
	background: url(img/service_text03.svg) no-repeat top / 355px;
	padding: 60px 0 30px;
}
.service .cont04 .price{
	font-size: 30px;
	text-align: center;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	line-height: 1;
	padding-bottom: 40px;
	position: relative;
}
.service .cont04 .price::before{
	content: "";
	width: 30px;
	height: 1px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.service .cont04 .table_set{
	width: 380px;
	margin: 40px auto 0;
}
.service .cont04 table{
	width: 100%;
	border-collapse: separate;
	border-spacing: 8px;
	background: rgba(0, 0, 0, 0.05);
	box-shadow: 0 0 30px 10px rgba(0, 0, 0, 0.05);
}
.service .cont04 table th,
.service .cont04 table td{
	display: block;
	height: 50px;
	line-height: 1.2;
	padding: 16px 25px 15px;
	box-sizing: border-box;
}
.service .cont04 table tr:last-of-type td{
	height: auto;
}
.service .cont04 table th{
	color: #fff;
	background:  linear-gradient(90deg, #a68f6a 0%, #8a7758 100%);
	font-weight: bold;
	text-align: center;
	border-radius: 3px 3px 0 0;
}
.service .cont04 table td{
	color: #333;
	background: #fff;
	font-weight: bold;
	border-radius: 0 0 3px 3px;
}


/* cont05 */
.service .cont05 {
	padding: 80px 0;
	background: #021826;
}
.service .cont05 h2 {
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
	font-size: 22px;
	line-height: 1;
	background: url(img/service_text04.svg) no-repeat top / 260px;
	padding: 65px 0 40px;
}
.service .cont05 table {
	margin: 20px auto 0;
}
.service .cont05 table tr {
	display: flex;
	width: 380px;
	padding: 10px 0;
	text-align: left;
	border-top: #fff 1px solid;
}
.service .cont05 table tr:last-child {
	border-bottom: #fff 1px solid;
}
.service .cont05 table th {
	display: inline-block;
	width: 155px;
	font-weight: bold;
	padding-left: 20px;
	box-sizing: border-box;
}
.service .cont05 table td {
	display: inline-block;
	width: calc(100% - 155px);
}



/* common
------------------------------------------------------------------------*/

/* key */
.common .key{
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	height: 150px;
	font-weight: 500;
	margin-top: 30px;
	box-sizing: border-box;
	position: relative;
}
.common .key::before{
	content: "";
	background: url(img/common_key_img_sp.png)no-repeat;
	width: 440px;
	height: 150px;
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}
.common .key .text01{
	font-size: 18px;
	line-height: 1;
	text-align: center;
	padding-top: 70px;
	box-sizing: border-box;
}


/* pankuzu */
.pankuzu {
	margin-top: 18px;
	line-height: 1.3;
}
.pankuzu ul li {
	display: inline-block;
	margin-right: 10px;
	color: #999;
	font-size: 12px;
	font-weight: 500;
	max-width: 380px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.pankuzu ul li a {
	color: #999;
	font-size: 12px;
	font-weight: 500;
}
.pankuzu ul li:not(:last-of-type)::after {
	content: "＞";
	margin-left: 10px;
	flex-shrink: 0;
}
.pankuzu ul li:last-of-type {
	margin-right: 0;
}


/* 一覧ページのページャー */
.archive-pager{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px;
	width: 380px;
	margin:70px auto;
}
.archive-pager .page-numbers{
	background: var(--main-color);
	color: #fff;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	box-sizing: border-box;
}
.archive-pager .page-numbers.current {
	border: 1px solid var(--main-color);
	color:var(--main-color);
	background: #fff;
}
.archive-pager .page-numbers.prev,
.archive-pager .page-numbers.next{
	background: var(--main-dark-color);
	color: #fff;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	box-sizing: border-box;
	padding-top: 3px;
}
.archive-pager .page-numbers.next {
	padding-left: 3px;
}



.single-pager{
	width: 100%;
	margin: 60px auto;
}
.single-pager .prev-pager-box {
	margin:0 10px 30px;
}
.single-pager .next-pager-box {
	margin:0 10px;
}
.single-pager a {
	display: flex;
	align-items: center;
	text-decoration: none !important;
	text-align: left;
	font-size: 14px;
	position: relative;
	justify-content: flex-end;
}
.single-pager .prev-pager-box a {
	flex-direction: row-reverse;
	justify-content: flex-end;
}
.single-pager .prev-pager-box a::before,
.single-pager .next-pager-box a::before {
	content: "";
	width: 25px;
	height: 25px;
	background: var(--main-color);
	border-radius: 50%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.single-pager .prev-pager-box a::before{
	left: -10px;
}
.single-pager .next-pager-box a::before {
	right: -10px;
}
.single-pager .prev-pager-box a::after,
.single-pager .next-pager-box a::after {
	content: "";
	width: 0;
	height: 0;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.single-pager .prev-pager-box a::after{
	border-right: 6px solid #fff;
	left: -2px;
}
.single-pager .next-pager-box a::after {
	border-left: 6px solid #fff;
	right: -2px;
}
.single-pager .prev-pager-box a .text-box {
	padding-left: 20px;
}
.single-pager .next-pager-box a .text-box {
	padding-right: 20px;
}
.single-pager a h2 {
	line-height: 1.5;
	margin-bottom: 5px;
	font-weight: bold;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.single-pager a .img {
	flex-shrink: 0;
	box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.05);
}
.single-pager a .img img {
	width: 150px;
	border-radius: 5px;
}


/* ここから各下層ページ
------------------------------------------------------------------------*/
/* key */
.agreement .key::before{
	background: url(img/agreement_key_img_sp.png)no-repeat top center / cover;
}

.agency .key::before{
	background: url(img/agency_key_img_sp.png)no-repeat top center / cover;
}

.publish .key::before{
	background: url(img/publish_key_img_sp.png)no-repeat top center / cover;
}



/* agency
------------------------------------------------------------------------*/
/* cont01 */
.agency .cont01{
	padding: 60px 30px 80px;
	display: flex;
	flex-direction: column-reverse;
	align-items: center;
	gap: 30px;
	box-sizing: border-box;
}
.agency .cont01 .text_box h2{
	color: #8a7758;
	font-size: 20px;
	line-height: 1.6;
	margin-bottom: 20px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.agency .cont01 .text_box .text01 + .text01{
	margin-top: 15px;
}
.agency .cont01 .img img{
	border-radius: 5px;
}


/* cont02 */
.agency .cont02{
	padding: 80px 0;
	background: linear-gradient(90deg, #1a2d40 0%, #021d2e 100%);
}
.agency .cont02 h2{
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
	font-size: 22px;
	line-height: 1;
	padding: 60px 0 50px;
}
.agency .cont02 h2::before{
	width: 100%;
	content: "Flow";
	font-size: 85px;
	text-align: center;
	color: rgba(138, 119, 88, 0.2);
	letter-spacing: 6px;
	margin-left: 6px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.agency .cont02 .box_wrap{
	margin-bottom: 35px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 30px;
	position: relative;
}
.agency .cont02 .box_wrap::before{
	content: "";
	width: 1px;
	height: 1689px;
	background: #8a7758;
	position: absolute;
	top: 21px;
	left: 23px;
	z-index: 1;
}
.agency .cont02 .box_wrap .box{
	width: 380px;
	background: #021826;
	border-radius: 5px;
	padding: 60px 40px 60px 45px;
	box-sizing: border-box;
	position: relative;
}
.agency .cont02 .box_wrap .box::before{
	content: "01";
	color: #8a7758;
	font-size: 38px;
	line-height: 1;
	font-weight: bold;
	letter-spacing: 3px;
	margin-left: 3px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	position: absolute;
	top: -13px;
	left: 50%;
	transform: translateX(-50%);
}
.agency .cont02 .box_wrap .box:nth-of-type(2):before{
	content: "02";
}
.agency .cont02 .box_wrap .box:nth-of-type(3):before{
	content: "03";
}
.agency .cont02 .box_wrap .box:nth-of-type(4):before{
	content: "04";
}
.agency .cont02 .box_wrap .box:nth-of-type(5):before{
	content: "05";
}
.agency .cont02 .box_wrap .box:nth-of-type(6):before{
	content: "06";
}
.agency .cont02 .box_wrap .box::after{
	content: "";
	width: 7px;
	height: 7px;
	background: #8a7758;
	border-radius: 50%;
	position: absolute;
	top: 20px;
	left: 20px;
}
.agency .cont02 .box_wrap .box h3{
	font-size: 22px;
	line-height: 1;
	font-weight: normal;
	text-align: center;
	margin-bottom: 18px;
	padding-bottom: 18px;
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.agency .cont02 .box_wrap .box h3::before{
	content: "";
	width: 20px;
	height: 1px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.agency .cont02 .text02{
	font-size: 14px;
}


/* cont03 */
.agency .cont03{
	padding: 80px 0;
}
.agency .cont03 h2{
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
	font-size: 22px;
	line-height: 1;
	padding: 60px 0 40px;
}
.agency .cont03 h2::before{
	width: 100%;
	content: "Price";
	font-size: 85px;
	text-align: center;
	color: rgba(138, 119, 88, 0.2);
	letter-spacing: 6px;
	margin-left: 4px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.agency .cont03 .box_wrap .box01{
	padding: 20px;
	border-radius: 5px;
	box-sizing: border-box;
	background:  linear-gradient(90deg, #a68f6a 0%, #8a7758 100%);
}
.agency .cont03 .box_wrap .box01:nth-of-type(2){
	background: linear-gradient(90deg, #1a2d40 0%, #1f364d 100%);
}
.agency .cont03 .box_wrap .box01 + .box01{
	margin-top: 20px;
}
.agency .cont03 .box_wrap .box01 h3{
	font-size: 22px;
	line-height: 1;
	font-weight: normal;
	text-align: center;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.agency .cont03 .box_wrap .box01 .box02{
	margin-top: 20px;
	padding: 25px 25px 20px;
	border-radius: 3px;
	box-sizing: border-box;
	background: #fff;
}
.agency .cont03 .box_wrap .box01 .box02 .text01{
	font-size: 18px;
	line-height: 1;
	color: #8a7758;
	font-weight: bold;
	text-align: center;
	margin-bottom: 15px;
}
.agency .cont03 .box_wrap .box01:nth-of-type(2) .box02 .text01{
	color: #145680;
}
.agency .cont03 .box_wrap .box01 .box02 .text02{
	color: #222;
	font-size: 28px;
	line-height: 1;
	text-align: center;
	margin-bottom: 15px;
	padding-bottom: 15px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	position: relative;
}
.agency .cont03 .box_wrap .box01 .box02 .text02::before{
	content: "";
	width: 30px;
	height: 2px;
	background: #8a7758;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.agency .cont03 .box_wrap .box01:nth-of-type(2) .box02 .text02::before{
	background: #145680;
}
.agency .cont03 .box_wrap .box01 .box02 .text02 span{
	font-size: 16px;
	margin-left: 3px;
}
.agency .cont03 .box_wrap .box01 .box02 .text03{
	color: #222;
	font-weight: 500;
}


/* cont04 */
.agency .cont04{
	padding: 80px 20px 0;
	background: #182d3b;
	text-align: center;
}
.agency .cont04 .inner{
	padding: 80px 0 60px;
	background: url(img/contact_box_img01_sp.png)no-repeat;
	text-align: center;
	box-sizing: border-box;
	border-radius: 5px;
}
.agency .cont04 .inner h2{
	font-size: 24px;
	line-height: 1;
	margin-bottom: 20px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.agency .cont04 .inner .text01{
	line-height: 1;
	margin-bottom: 25px;
	padding-bottom: 25px;
	position: relative;
}
.agency .cont04 .inner .text01::before{
	content: "";
	width: 30px;
	height: 2px;
	background: #8a7758;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.agency .cont04 .inner .contact_box .box{
	width: 350px;
	margin: 0 auto;
	padding: 35px 0;
	background: #021826;
	box-sizing: border-box;
}
.agency .cont04 .inner .contact_box .box + .box{
	margin-top: 20px;
}
.agency .cont04 .inner .contact_box .box h3{
	width: 270px;
	font-size: 20px;
	line-height: 1;
	margin: 0 auto;
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(255,255,255,.5);
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.agency .cont04 .inner .contact_box .box .tel{
	display: inline-block;
	font-size: 30px;
	margin: 8px 0 0 14px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	position: relative;
}
.agency .cont04 .inner .contact_box .box .tel::before{
	content: "";
	background: url(img/tel_icon.svg)no-repeat;
	width: 22px;
	height: 32px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: -25px;
}
.agency .cont04 .inner .contact_box .box .tel_text{
	margin-top: 13px;
	line-height: 1.75;
}
.agency .cont04 .inner .contact_box .box .line_text{
	font-size: 28px;
	line-height: 1;
	margin-top: 25px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.agency .cont04 .inner .contact_box .box .zoom_text{
	display: block;
	font-size: 20px;
	line-height: 1.5;
	margin-top: 3px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.agency .cont04 .inner .contact_box .box .zoom_text span{
	font-size: 14px;
}
.agency .cont04 .inner .contact_box .box .line a,
.agency .cont04 .inner .contact_box .box .zoom a{
	display: block;
	position: relative;
	width: 290px;
	height: 50px;
	text-align: center;
	line-height: 50px;
	margin: 20px auto 0;
	padding-left: 25px;
	background: #39ae41 url(img/line_icon.svg) left 58px center no-repeat;
	border-radius: 25px;
	font-weight: bold;
	box-sizing: border-box;
	transition: all .2s;
}
.agency .cont04 .inner .contact_box .box .zoom a{
	margin-top: 17px;
	padding-left: 0;
	background: #8a7758;
}
.agency .cont04 .inner .contact_box .box .line a::before,
.agency .cont04 .inner .contact_box .box .zoom a::before{
	position: absolute;
	content: "";
	width: 6px;
	height: 6px;
	background: #fff;
	top: 0;
	bottom: 0;
	right: 25px;
	margin: auto;
	border-radius: 3px;
}



/* publish
------------------------------------------------------------------------*/
/* cont01 */
.publish .cont01{
	padding: 60px 30px 80px;
	display: flex;
	flex-direction: column-reverse;
	align-items: center;
	gap: 30px;
	box-sizing: border-box;
}
.publish .cont01 .text_box h2{
	color: #8a7758;
	font-size: 20px;
	line-height: 1.6;
	margin-bottom: 20px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.publish .cont01 .text_box .text01 + .text01{
	margin-top: 15px;
}
.publish .cont01 .img img{
	border-radius: 5px;
}


/* cont02 */
.publish .cont02{
	padding: 80px 0;
	background: linear-gradient(90deg, #1a2d40 0%, #021d2e 100%);
}
.publish .cont02 h2{
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
	font-size: 22px;
	line-height: 1;
	padding: 60px 0 50px;
}
.publish .cont02 h2::before{
	width: 100%;
	content: "Flow";
	font-size: 85px;
	text-align: center;
	color: rgba(138, 119, 88, 0.2);
	letter-spacing: 6px;
	margin-left: 6px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.publish .cont02 .box_wrap{
	margin-bottom: 35px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 30px;
	position: relative;
}
.publish .cont02 .box_wrap::before{
	content: "";
	width: 1px;
	height: 1521px;
	background: #8a7758;
	position: absolute;
	top: 21px;
	left: 23px;
	z-index: 1;
}
.publish .cont02 .box_wrap .box{
	width: 380px;
	background: #021826;
	border-radius: 5px;
	padding: 60px 40px 60px 45px;
	box-sizing: border-box;
	position: relative;
}
.publish .cont02 .box_wrap .box::before{
	content: "01";
	color: #8a7758;
	font-size: 38px;
	line-height: 1;
	font-weight: bold;
	letter-spacing: 3px;
	margin-left: 3px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	position: absolute;
	top: -13px;
	left: 50%;
	transform: translateX(-50%);
}
.publish .cont02 .box_wrap .box:nth-of-type(2):before{
	content: "02";
}
.publish .cont02 .box_wrap .box:nth-of-type(3):before{
	content: "03";
}
.publish .cont02 .box_wrap .box:nth-of-type(4):before{
	content: "04";
}
.publish .cont02 .box_wrap .box:nth-of-type(5):before{
	content: "05";
}
.publish .cont02 .box_wrap .box:nth-of-type(6):before{
	content: "06";
}
.publish .cont02 .box_wrap .box::after{
	content: "";
	width: 7px;
	height: 7px;
	background: #8a7758;
	border-radius: 50%;
	position: absolute;
	top: 20px;
	left: 20px;
}
.publish .cont02 .box_wrap .box h3{
	font-size: 22px;
	line-height: 1;
	font-weight: normal;
	text-align: center;
	margin-bottom: 18px;
	padding-bottom: 18px;
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.publish .cont02 .box_wrap .box h3::before{
	content: "";
	width: 20px;
	height: 1px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.publish .cont02 .text02{
	font-size: 14px;
}


/* cont03 */
.publish .cont03{
	padding: 80px 0;
}
.publish .cont03 h2{
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
	font-size: 22px;
	line-height: 1;
	padding: 60px 0 40px;
}
.publish .cont03 h2::before{
	width: 100%;
	content: "Price";
	font-size: 85px;
	text-align: center;
	color: rgba(138, 119, 88, 0.2);
	letter-spacing: 6px;
	margin-left: 4px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.publish .cont03 .box_wrap .box01{
	padding: 20px;
	border-radius: 5px;
	box-sizing: border-box;
	background:  linear-gradient(90deg, #a68f6a 0%, #8a7758 100%);
}
.publish .cont03 .box_wrap .box01:nth-of-type(2){
	background: linear-gradient(90deg, #1a2d40 0%, #1f364d 100%);
}
.publish .cont03 .box_wrap .box01 + .box01{
	margin-top: 40px;
}
.publish .cont03 .box_wrap .box01 h3{
	font-size: 22px;
	line-height: 1;
	text-align: center;
	margin-bottom: 20px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.publish .cont03 .box_wrap .box01 .box02{
	padding: 25px 20px;
	border-radius: 3px;
	box-sizing: border-box;
	background: #fff;
}
.publish .cont03 .box_wrap .box01 .box02 .text01{
	font-size: 28px;
	line-height: 1;
	color: #222;
	text-align: center;
	margin-bottom: 15px;
	padding-bottom: 15px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	position: relative;
}
.publish .cont03 .box_wrap .box01 .box02 .text01::before{
	content: "";
	width: 30px;
	height: 2px;
	background: #8a7758;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.publish .cont03 .box_wrap .box01 .box02 .text01 span{
	font-size: 16px;
}
.publish .cont03 .box_wrap .box01 .box02 .text02{
	color: #222;
}
.publish .cont03 .box_wrap .box01 .box03{
	padding: 25px 20px 20px;
	border: 1px solid rgba(255,255,255,.5);
	border-radius: 5px;
}
.publish .cont03 .box_wrap .box01 .box03 + .box03{
	margin-top: 40px;
}
.publish .cont03 .box_wrap .box01 .box03 h3{
	font-size: 20px;
	line-height: 1.5;
	margin-bottom: 20px;
}
.publish .cont03 .box_wrap .box01 .box03 .box04 + .box04{
	margin-top: 20px;
}
.publish .cont03 .box_wrap .box01 .box03 .box04 h4{
	height: 50px;
	font-size: 18px;
	line-height: 50px;
	font-weight: normal;
	background: #021826 url(img/publish_icon01.svg) left 94px center no-repeat;
	background-size: 20px;
	padding-left: 23px;
	text-align: center;
	box-sizing: border-box;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	border-radius: 3px 3px 0 0;
}
.publish .cont03 .box_wrap .box01 .box03 .box04:nth-of-type(2) h4{
	line-height: 51px;
	background: #021826 url(img/publish_icon02.svg) left 27px center no-repeat;
	background-size: 18px;
}
.publish .cont03 .box_wrap .box01 .box03 .box04 .text_box{
	background: #fff;
	padding: 20px;
	box-sizing: border-box;
	border-radius: 0 0 3px 3px;
}
.publish .cont03 .box_wrap .box01 .box03 .box04 .text03{
	color: #222;
}
.publish .cont03 .box_wrap .box01 .price01,
.publish .cont03 .box_wrap .box01 .price02{
	font-size: 28px;
	line-height: 1;
	color: #222;
	text-align: center;
	margin-bottom: 15px;
	padding-bottom: 15px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	position: relative;
}
.publish .cont03 .box_wrap .box01 .price01::before,
.publish .cont03 .box_wrap .box01 .price02::before{
	content: "";
	width: 30px;
	height: 2px;
	background: #145680;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.publish .cont03 .box_wrap .box01 .price01 span,
.publish .cont03 .box_wrap .box01 .price02 span{
	font-size: 16px;
}
.publish .cont03 .box_wrap .box01 .box02 .ttl_wrap h4{
	width: 260px;
	height: 45px;
	font-size: 18px;
	line-height: 46px;
	font-weight: normal;
	background: #021826 url(img/publish_icon02.svg) left 35px center no-repeat;
	background-size: 18px;
	margin: 0 auto 15px;
	padding-left: 25px;
	text-align: center;
	box-sizing: border-box;
	border-radius: 3px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}


/* cont04 */
.publish .cont04{
	padding: 80px 20px 0;
	background: #182d3b;
	text-align: center;
}
.publish .cont04 .inner{
	padding: 80px 0 60px;
	background: url(img/contact_box_img01_sp.png)no-repeat;
	text-align: center;
	box-sizing: border-box;
	border-radius: 5px;
}
.publish .cont04 .inner h2{
	font-size: 24px;
	line-height: 1;
	margin-bottom: 20px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.publish .cont04 .inner .text01{
	line-height: 1;
	margin-bottom: 25px;
	padding-bottom: 25px;
	position: relative;
}
.publish .cont04 .inner .text01::before{
	content: "";
	width: 30px;
	height: 2px;
	background: #8a7758;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.publish .cont04 .inner .contact_box .box{
	width: 350px;
	margin: 0 auto;
	padding: 35px 0;
	background: #021826;
	box-sizing: border-box;
}
.publish .cont04 .inner .contact_box .box + .box{
	margin-top: 20px;
}
.publish .cont04 .inner .contact_box .box h3{
	width: 270px;
	font-size: 20px;
	line-height: 1;
	margin: 0 auto;
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(255,255,255,.5);
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.publish .cont04 .inner .contact_box .box .tel{
	display: inline-block;
	font-size: 30px;
	margin: 8px 0 0 14px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	position: relative;
}
.publish .cont04 .inner .contact_box .box .tel::before{
	content: "";
	background: url(img/tel_icon.svg)no-repeat;
	width: 22px;
	height: 32px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: -25px;
}
.publish .cont04 .inner .contact_box .box .tel_text{
	margin-top: 13px;
	line-height: 1.75;
}
.publish .cont04 .inner .contact_box .box .line_text{
	font-size: 28px;
	line-height: 1;
	margin-top: 25px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.publish .cont04 .inner .contact_box .box .zoom_text{
	display: block;
	font-size: 20px;
	line-height: 1.5;
	margin-top: 3px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.publish .cont04 .inner .contact_box .box .zoom_text span{
	font-size: 14px;
}
.publish .cont04 .inner .contact_box .box .line a,
.publish .cont04 .inner .contact_box .box .zoom a{
	display: block;
	position: relative;
	width: 290px;
	height: 50px;
	text-align: center;
	line-height: 50px;
	margin: 20px auto 0;
	padding-left: 25px;
	background: #39ae41 url(img/line_icon.svg) left 58px center no-repeat;
	border-radius: 25px;
	font-weight: bold;
	box-sizing: border-box;
	transition: all .2s;
}
.publish .cont04 .inner .contact_box .box .zoom a{
	margin-top: 17px;
	padding-left: 0;
	background: #8a7758;
}
.publish .cont04 .inner .contact_box .box .line a::before,
.publish .cont04 .inner .contact_box .box .zoom a::before{
	position: absolute;
	content: "";
	width: 6px;
	height: 6px;
	background: #fff;
	top: 0;
	bottom: 0;
	right: 25px;
	margin: auto;
	border-radius: 3px;
}



/* faq
------------------------------------------------------------------------*/
.faq .cont01 {
	box-sizing: border-box;
	margin: 70px 30px;
}
.faq .cont01 .box {
	padding: 30px 30px 30px 27px;
	border-top: 1px solid var(--main-color);
	position: relative;
	cursor: pointer;
}
.faq .cont01 .box:last-of-type {
	border-bottom: 1px solid var(--main-color);
}
.faq .cont01 .box span {
	position: absolute;
	top: 35px;
	right: 10px;
	width: 19px;
	height: 19px;
	background: var(--main-color);
	border-radius: 50%;
	transition: all .3s;
}
.faq .cont01 .box.active span {
	background: #bbbbbb;
	transition: all .3s;
}
.faq .cont01 .box span::before {
	content: "";
	width: 8px;
	height: 2px;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.faq .cont01 .box span::after {
	content: "";
	width: 2px;
	height: 8px;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 1;
	transition: all .3s;
}
.faq .cont01 .box.active span::after {
	opacity: 0;
	transition: all .3s;
}
.faq .cont01 .box p {
	position: relative;
}
.faq .cont01 .box .qus::before {
	content: 'Q';
	position: absolute;
	top: -2px;
	left: -20px;
	font-size: 18px;
	font-weight: bold;
	color: var(--main-color);
}
.faq .cont01 .box .qus {
	font-size: 16px;
	line-height: 1.6;
	font-weight: bold;
}
.faq .cont01 .box.active .qus {
	color: #bbbbbb;
}
.faq .cont01 .box .ans {
	line-height: 2;
	padding-top: 15px;
	display: none;
}


/* company
------------------------------------------------------------------------*/
/* company 共通 */
.company .cont01 h2,
.company .cont02 h2,
.company .cont03 h2 {
	font-size: 22px;
	text-align: center;
	padding-bottom: 25px;
	font-weight: bold;
	position: relative;
}
.company .cont01 h2::before,
.company .cont02 h2::before,
.company .cont03 h2::before {
	content: '';
	font-size: 12px;
	font-weight: bold;
	color: var(--main-color);
	width: 100%;
	text-align: center;
	position: absolute;
	bottom: 0;
	left: 0;
}
.company .cont01 h2::before {
	content: "GREETING";
}
.company .cont02 h2::before {
	content: "OUTLINE";
}
.company .cont03 h2::before {
	content: "Specified Commercial Transaction Law";
}
.company table {
	width: 100%;
	text-align: left;
	margin: 40px auto 0;
	font-size: 14px;
}
.company table tr {
	border-top: 1px solid #fff;
	padding: 20px;
	display: block;
}
.company table tr:last-of-type {
	border-bottom: 1px solid #fff;
}
.company table th {
	display: block;
	font-weight: bold;
	margin-bottom: 10px;
}
.company table td {
	display: block;
}


/* cont01 */
.company .cont01 {
	margin: 60px auto;
	padding: 0 30px;
}
.company .cont01 .flex {
	margin-top: 20px;
}
.company .cont01 .flex .text_box {
	padding-top: 25px;
	line-height: 1.9;
}
.company .cont01 .flex .text_box h3 {
	font-size: 18px;
	padding-bottom: 12px;
}
.company .cont01 .flex .text_box .text02 {
	text-align: right;
	font-size: 18px;
	margin-top: 15px;
	font-weight: bold;
}
.company .cont01 .flex .text_box .text02 span {
	font-size: 14px;
	font-weight: bold;
}
.company .cont01 .flex .img img {
	width: 100%;
	border-radius: 10px;
}


/* cont02 */
.company .cont02 {
	margin: 60px auto;
	padding: 60px 0;
	background: var(--main-light-color);
}


/* cont03 */
.company .cont03 {
	margin: 60px auto;
	padding: 0 30px;
}
.company .cont03 table tr {
	border-top: 1px solid var(--main-color);
}
.company .cont03 table tr:last-of-type {
	border-bottom: 1px solid var(--main-color);
}



/*blog 共通項目
--------------------------------------------------------------------------*/
.blog .flex{
	margin:70px auto;
}
.blog .flex .side .side_box01,
.blog .flex .side .side_box02,
.blog .flex .side .side_box03 {
	margin: 70px 0;
}
.blog .flex .side .cont a {
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	align-items: center;
	box-sizing: border-box;
	margin-top: 20px;
}
.blog .flex .side h2 {
	font-size: 20px;
	font-weight: bold;
	padding-bottom: 5px;
	border-bottom: 1px solid var(--main-color);
	position: relative;
}
.blog .flex .side h2::before {
	content: "";
	color: var(--main-color);
	font-size: 14px;
	position: absolute;
	top: 7px;
	left: 100px;
}
.blog .flex .side .side_box01 h2::before {
	content: "Popular Articles";
}
.blog .flex .side .side_box02 h2::before {
	content: "New Articles";
}
.blog .flex .side .side_box03 h2::before {
	content: "Category";
	left: 110px;
}
.blog .flex .side .cont .text_box {
	padding-left: 15px;
	font-size: 14px;
}
.blog .flex .side .cont .text_box h3 {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	margin-bottom: 10px;
}
.blog .flex .side .cont .img {
	width: 150px;
	flex-shrink: 0;
	box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.05);
	border-radius: 5px;
}
.blog .flex .side .cont .img img {
	max-width: 100%;
	border-radius: 5px;
}
.blog .flex .side .side_box01 .cont .img {
	position: relative;
}
.blog .flex .side .side_box01 .cont .img::before {
	content: "";
	width: 25px;
	height: 25px;
	font-size: 14px;
	font-weight: bold;
	color: #fff;
	background: var(--main-color);
	line-height: 25px;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
}
.blog .flex .side .side_box01 .cont:nth-of-type(1) .img::before {
	content: "1";
	background: #f2cd44;
}
.blog .flex .side .side_box01 .cont:nth-of-type(2) .img::before {
	content: "2";
	background: #ababab;
}
.blog .flex .side .side_box01 .cont:nth-of-type(3) .img::before {
	content: "3";
	background: #bc6c25;
}
.blog .flex .side .side_box01 .cont:nth-of-type(4) .img::before {
	content: "4";
}
.blog .flex .side .side_box01 .cont:nth-of-type(5) .img::before {
	content: "5";
}
.blog .flex .side .side_box02 .cont .img {
	position: relative;
}
.blog .flex .side .side_box02 .cont .img::before {
	content: "new";
	width: 50px;
	height: 25px;
	line-height: 1;
	font-size: 14px;
	box-sizing: border-box;
	padding-top: 5px;
	color: #fff;
	background: var(--main-color);
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
}
.blog .flex .side .side_box03 ul {
	margin-top: 15px;
}
.blog .flex .side .side_box03 ul li {
	position: relative;
	padding-left: 32px;
}
.blog .flex .side .side_box03 ul li:nth-of-type(n+2) {
	margin-top: 15px;
}
.blog .flex .side .side_box03 ul li::before {
	content: '';
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: url(img/category_icon.png) no-repeat top 7px left 7px var(--main-color);
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}


/* blog_archive
------------------------------------------------------------------------*/

.blog_archive .cont01 .cont{
	width: 330px;
	margin:0 auto 35px;
	padding-bottom: 25px;
	border-bottom: 1px solid var(--main-color);
}
.blog_archive .cont01 .cont a {
	display: flex;
	flex-direction: column-reverse;
}
.blog_archive .cont01 .cont h2 {
	font-size: 16px;
	line-height: 1.8;
	margin-top: 15px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.blog_archive .cont01 .cont .text_box .cate_box .cate {
	font-size: 12px;
	line-height: 1;
	color: #fff;
	background: var(--main-color);
	border-radius: 5px;
	min-width: 95px;
	padding: 7px 15px;
	text-align: center;
	display: inline-block;
	box-sizing: border-box;
	margin: 10px 0;
}
.blog_archive .cont01 .cont .text {
	margin-top: 5px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.blog_archive .cont01 .cont .img{
	box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.05);
	border-radius: 5px;
}
.blog_archive .cont01 .cont .img img {
	background: var(--main-light-color);
	border-radius: 5px;
}


/* ブログ詳細 css */
.blog_single .cont01 h1{
	padding-bottom: 10px;
	border-bottom: 1px solid var(--main-color);
	font-size: 16px;
	line-height: 1.5;
	margin: 0 0 25px;
	font-weight: bold;
	position: relative;
}
.blog_single .cont01 .cate_box {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 20px;
}
/*
.blog_single .cont01 .cate_box .cate {
	line-height: 1;
	font-size: 12px;
	color: #fff;
	text-align: center;
	min-width: 100px;
	padding: 7px 15px;
	border-radius: 5px;
	background: var(--main-color);
	box-sizing: border-box;
	margin: 0;
}*/

.blog_single .cont01 .cate_box .cate {
	text-align: center;
}
.blog_single .cont01 .cate_box .cate a{
	color: #fff;
	text-decoration: none;
	display: block;
	line-height: 1;
	font-size: 12px;
	min-width: 100px;
	padding: 7px 15px;
	border-radius: 5px;
	background: var(--main-color);
}

.blog_single .cont01 .cate_box .date{
	font-size: 14px;
	line-height: 1;
	margin: 0;
	font-weight: bold;
}



/* contact
------------------------------------------------------------------------*/
/* cont01 */
.contact .cont01 {
	width: 100%;
	padding: 0 30px;
	box-sizing: border-box;
	margin: 70px auto 0;
}
.contact .cont01 .tel-box {
	padding: 30px 0;
	border-top: 1px solid var(--main-color);
	/* border-bottom: 1px solid var(--main-color); */
}
.contact .cont01 .line-box {
	padding: 30px 0;
	border-top: 1px solid var(--main-color);
	border-bottom: 1px solid var(--main-color);
}
.contact .cont01 h2{
	font-size: 16px;
}
.contact .cont01 .tel-box h2::before {
	content: '■';
	color: var(--main-color);
	padding-right: 5px;
}
.contact .cont01 .line-box h2::before {
	content: '■';
	color: #00b12b;
	padding-right: 5px;
}
.contact .cont01 .tel-box p {
	margin-top: 5px;
	line-height: 1.5;
}
.contact .cont01 .tel-box a {
	display: inline-block;
	font-size: 30px;
}
.contact .cont01 .line-box p {
	margin-top: 15px;
}
.contact .cont01 .line-box a {
	display: inline-block;
	color: #fff;
	font-size: 16px;
	line-height: 1;
	padding: 15px 30px 15px 70px;
	border-radius: 30px;
	background: url(img/contact-line_sp.png) no-repeat center left 30px #00b12b;
}


/* cont02 */
.contact .cont02 {
	margin: 30px auto 70px;
	padding: 0 30px;
}
.contact .cont02 h2{
	font-size: 16px;
}
.contact .cont02 h2::before {
	content: '■';
	color: var(--main-color);
	padding-right: 5px;
}
.contact .cont02 .lead {
	margin-top: 15px;
	font-size: 14px;
	line-height: 1.8;
}
.contact .cont02 .lead li:nth-of-type(n+2) {
	margin-top: 10px;
}
.contact .cont02 table{
	width:100%;
	margin: 20px auto 0;
	font-size: 14px;
}
.contact .cont02 table tr {
	display: block;
	padding: 20px 0;
	border-top: 1px solid var(--main-color);
}
.contact .cont02 table tr:last-of-type {
	border-bottom: 1px solid var(--main-color);
}
.contact .cont02 table tr:first-of-type {
	border-top: none;
}
.contact .cont02 table th{
	display: block;
	text-align: left;
	font-size: 16px;
	font-weight: bold;
	position: relative;
	margin-bottom: 15px;
}
.contact .cont02 table th span{
	color: #fff;
	background: var(--main-color);
	border-radius: 5px;
	padding: 7px 15px;
	font-size: 12px;
	line-height: 1;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
.contact .cont02 table td{
	display: block;
}
.contact .cont02 table td .radio-box {
	display: flex;
	flex-direction: column;
	gap: 10px 0;
}
.contact .cont02 table td .radio-box span {
	display: flex;
	align-items: center;
	gap: 0 5px;
}
.contact .cont02 table td .radio-box span input {
	margin: 0 !important;
}
.contact .cont02 table td input[type="text"],
.contact .cont02 table td input[type="email"],
.contact .cont02 table td input[type="tel"],
.contact .cont02 table td select,
.contact .cont02 table td textarea{
	width:100% !important;
	height: 60px !important;
	font-size:16px;
	font: inherit;
	padding: 5px;
	box-sizing: border-box;
	padding: 20px;
	border: none !important;
	background: var(--main-light-color);
	border-radius: 5px !important;
}
.contact .cont02 table td textarea{
	height: 250px !important;
}
.contact .cont02 tr.address-contact td {
	position: relative;
	padding-top: 30px;
}
.contact .cont02 tr.address-contact td span {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 14px;
}
.contact .cont02 tr.address-contact input:first-of-type {
	width: 150px !important;
	margin-right: 5px;
}
.contact .cont02 tr.address-contact input:nth-of-type(2) {
	width: 220px !important;
}
.contact .cont02 tr.address-contact input:last-of-type {
	margin-top: 10px !important;
}
.contact .cont02 .privacy_check{
	text-align: center;
	padding: 50px 0 20px;
	font-size: 16px;
}
.contact .cont02 .privacy_check a {
	text-decoration: underline;
}
.contact .cont02 .privacy_check div.mfp_err {
	text-align: center;
	background: url(img/mfp_error.gif) no-repeat top 7px left 30px;
}
.contact .cont02 .privacy_check input {
	width: 15px;
	height: 15px;
	border-radius: 3px;
	margin: 0 5px !important;
}
.contact .cont02 .privacy_check label {
	margin: 0 5px !important;
}
.contact .cont02 .button{
	text-align: center;
}
.contact .cont02 .button input[type="submit"] {
	font-family: var(--main-font) !important;
	width: 360px;
	border-radius: 60px;
	line-height: 1;
	padding: 20px 0;
	font-size: 16px;
	box-sizing: border-box;
	cursor: pointer;
	margin: auto;
	border: none;
	display: block;
	color: #fff;
	background: var(--main-color);
}


/* thanks
------------------------------------------------------------------------*/
.thanks .cont01{
	padding: 50px 15px 70px;
	text-align: center;
}
.thanks .cont01 h2{
	text-align: center;
	font-size: 18px;
}
.thanks .cont01 .text{
	margin: 30px 0 0;
	font-weight: bold;
}
.thanks .cont01 .button {
	margin-top: 40px;
}
.thanks .cont01 .button a{
	width: 280px;
	border-radius: 60px;
	line-height: 1;
	padding: 20px 0;
	font-size: 16px;
	box-sizing: border-box;
	cursor: pointer;
	margin: auto;
	border: none;
	display: block;
	color: #fff;
	background: var(--main-color);
}


/* agreement
------------------------------------------------------------------------*/
.agreement .cont01 {
	margin: 70px 15px 0;
	padding: 0 15px 30px;
	box-sizing: border-box;
	border-bottom: 1px dashed #fff;
}
.agreement .cont02 {
	margin: 35px 15px;
	padding: 0 15px 30px;
	box-sizing: border-box;
	border-bottom: 1px dashed #fff;
}
.agreement .cont03 {
	margin: 35px 15px 80px;
	padding: 0 15px 30px;
	box-sizing: border-box;
}
.agreement .cont01 h2,
.agreement .cont02 h2,
.agreement .cont03 h2 {
	font-size: 24px;
	line-height: 1;
}
.agreement .cont01 .box,
.agreement .cont02 .box,
.agreement .cont03 .box {
	margin-top: 35px;
}
.agreement .cont01 .box h3,
.agreement .cont02 .box h3,
.agreement .cont03 .box h3 {
	font-size: 18px;
	line-height: 1;
}
.agreement .cont01 .box .text01,
.agreement .cont02 .box .text01,
.agreement .cont03 .box .text01 {
	margin-top: 15px;
}
.agreement .cont01 .box ul,
.agreement .cont02 .box ul,
.agreement .cont03 .box ul {
	font-size: 14px;
	margin-top: 15px;
}


/* yonmaruyon yonichimaru
------------------------------------------------------------------------*/

.yonmaruyon .cont01,
.yonichimaru .cont01{
	padding: 50px 0 80px;
	text-align: center;
}
.yonmaruyon .cont01 h2,
.yonichimaru .cont01 h2{
	text-align: center;
	font-size: 20px;
}
.yonmaruyon .cont01 .text,
.yonichimaru .cont01 .text{
	margin: 30px 0 0;
	font-weight: bold;
}
.yonmaruyon .cont01 .button ,
.yonichimaru .cont01 .button {
	margin-top: 40px;
}
.yonmaruyon .cont01 .button a,
.yonichimaru .cont01 .button a{
	width: 280px;
	border-radius: 60px;
	line-height: 1;
	padding: 20px 0;
	font-size: 16px;
	box-sizing: border-box;
	cursor: pointer;
	margin: auto;
	border: none;
	display: block;
	color: #fff;
	background: var(--main-color);
}


/*post_cont
------------------------------------------------------------------------*/
.post_cont .index_nav {
	box-sizing: border-box;
	padding: 30px;
	border: none;
	border-radius: 0px;
	margin: 20px 0 45px;
	background: var(--main-light-color);
	border-radius: 10px;
}
.post_cont .index_nav .title {
	font-weight: bold;
	position: relative;
	padding: 0 !important;
	padding-left: 35px !important;
	font-size: 18px;
	line-height: 1.5;
	font-weight: normal;
}
.post_cont .index_nav .title::before {
	content: '';
	width: 20px;
	height: 18px;
	background: url(img/index_icon.png) no-repeat center / 100%;
	position: absolute;
	top: 4px;
	left: 5px;
}
.post_cont .index_nav {
	position: static;
}
.post_cont .index_nav ul {
	margin: 20px 0 0 0;
	padding-bottom: 0;
}
.post_cont .index_nav ul li.index_level03 {
	margin-left: 15px;
}
.post_cont .index_nav ul li.index_level04 {
	margin-left: 30px;
}
.post_cont .index_nav ul li.index_level05 {
	margin-left: 45px;
}
.post_cont .index_nav ul li {
	display: block;
	text-align: left;
	margin-top: 30px;
	line-height: 1.2;
}
.post_cont .index_nav ul li.index_level03,
.post_cont .index_nav ul li.index_level04,
.post_cont .index_nav ul li.index_level05 {
	margin-top: 25px;
}
.post_cont .index_nav ul li a {
	font-size: 16px;
	font-weight: normal;
	text-decoration: none;
}
.post_cont .index_nav ul li.index_level03 a,
.post_cont .index_nav ul li.index_level04 a,
.post_cont .index_nav ul li.index_level05 a {
	font-size: 14px;
}
.post_cont .index_nav ul li::before {
	display: none;
}

.post_cont .has-text-align-left{
	text-align: left;
}
.post_cont .has-text-align-center{
	text-align: center;
}
.post_cont .has-text-align-right{
	text-align: right;
}

.post_cont h2{
	margin: 50px 0 30px;
	padding: 0 0 0 35px;
	font-size: 22px;
	position: relative;
	line-height: 1.2;
}
.post_cont h2:before{
	content: "";
	display: block;
	width:14px;
	height: 14px;
	border:1px solid var(--main-color);
	background: #fff;
	position: absolute;
	top:0px;
	left:0;
}
.post_cont h2:after{
	content: "";
	display: block;
	width:14px;
	height: 14px;
	border:1px solid var(--main-color);
	background: var(--main-color);
	position: absolute;
	top:10px;
	left:10px;
}
.post_cont h3{
	margin: 45px 0 30px;
	padding: 0 0 0 30px;
	font-size: 20px;
	position: relative;
	line-height: 1.2;
}
.post_cont h3:before{
	content: "";
	display: block;
	width:20px;
	height: 20px;
	background: var(--main-color);
	position: absolute;
	top:2px;
	left:0;
}

.post_cont h4{
	font-size:18px;
	border-left:5px solid var(--main-color);
	margin: 40px 0 30px;
	padding: 2px 0 0 15px;
	line-height: 1.2;
}

.post_cont h5{
	font-size:16px;
	margin: 35px 0 30px;
	padding: 0 0 0 25px;
	position: relative;
	line-height: 1.2;
}
.post_cont h5:before{
	content: "";
	display: block;
	width:15px;
	height: 5px;
	background: var(--main-color);
	position: absolute;
	top:10px;
	left:0;
}
.post_cont strong{
	font-weight: bold;
	color: var(--main-dark-color);
}
.post_cont em{
	font-style: italic;
	color: var(--main-color);
}
.post_cont a{
	text-decoration: underline;
	color:var(--main-color);
}

.post_cont > p{
	margin: 0 0 30px;
}
.post_cont ul{
	margin: 0 0 30px 23px;
	list-style-type: disc;
}
.post_cont ol{
	margin: 0 0 30px 23px;
	list-style-type: decimal;
}
.post_cont table{
	border-collapse: separate;
	border-spacing: 5px;
	width: 100%;
	margin: 0 0 30px;
	font-size: 14px;
	line-height: 1.5;
}
.post_cont table th{
	background: var(--main-color);
	color:#fff;
	font-weight: bold;
	padding: 10px 15px;
}
.post_cont table tr:nth-of-type(1) th{
	background: var(--main-dark-color);
}
.post_cont table td{
	background: var(--main-light-color);
	padding: 10px 15px;
}
.post_cont .wp-block-quote{
	background: var(--main-light-color);
	padding: 50px;
	border-left: 3px solid var(--main-color);
	margin: 0 0 30px;
	position: relative;
}
.post_cont .wp-block-quote:before,
.post_cont .wp-block-quote:after{
	content: "”";
	display: block;
	font-size: 100px;
	color:var(--main-color);
	line-height: 1;
	position: absolute;
}
.post_cont .wp-block-quote:before{
	top: 10px;
	left: 10px;
}
.post_cont .wp-block-quote:after{
	bottom: 10px;
	right: 10px;
	transform: rotate(180deg);
}

.post_cont .wp-block-buttons{
	margin: 0 0 30px;
	display: flex;
}
.post_cont .wp-block-buttons a{
	display: block;
	text-align: center;
	background: var(--main-color);
	border: 1px solid var(--main-color);
	box-sizing: border-box;
	line-height: 48px;
	min-width: 380px;
	height: 50px;
	border-radius: 50px;
	color: #fff;
	font-weight: bold;
	transition: all 0.5s;
	position: relative;
	text-decoration: none;
}
.post_cont .wp-block-buttons a::after{
	content: "";
	background: url(img/btn_arrow01.png)center left / cover no-repeat;
	width: 16px;
	height: 12px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 20px;
}
.post_cont .wp-block-code{
	display: block;
	white-space: pre-wrap;
	margin: 0 0 30px;
}
.post_cont .wp-block-code code{
	display: inline-block;
	padding: 20px;
	color: #fff;
	background: #333;
}
.post_cont .wp-block-image{
	margin: 0 0 30px;
}
.post_cont .wp-block-image img{
	max-width: 100%;
	border-radius: 10px;
}




/* footer
------------------------------------------------------------------------*/
footer {
	padding: 80px 0;
	position: relative;
}
footer::before{
	content: "";
	width: 100%;
	height: 100%;
	background: url(img/footer_img01.png) no-repeat center / cover;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
footer .logo a{
	display: block;
	margin: 0 auto 20px;
	width: 222px;
	height: 80px;
	padding-top: 80px;
	box-sizing: border-box;
	overflow: hidden;
	background: url(img/footer_img02.svg) no-repeat;
}
footer .text01 {
	text-align: center;
	line-height: 1;
	margin-bottom: 35px;
}
footer .text01::before{
	content: "[";
	padding-right: 5px;
}
footer .text01::after{
	content: "]";
	padding-left: 5px;
}
footer address{
	font-size: 14px;
	margin-bottom: 25px;
}
footer .box01 ul {
	column-count: 2;
	column-gap: 30px;
}
footer .box01 li {
	height: 44px;
	font-size: 14px;
}
footer .box01 li::before{
	content: "・";
	margin-right: 3px;
}
footer .copy{
	text-align: center;
	font-size: 12px;
	line-height: 1;
	margin-top: 40px;
}


}/*SPの記述ここまで*/





/* lightbox
----------------------------------------------------------*/
.lb-loader,.lightbox{text-align:center;line-height:0;position:absolute;left:0}body.lb-disable-scrolling{overflow:hidden}.lightboxOverlay{position:absolute;top:0;left:0;z-index:9999;background-color:#000;filter:alpha(Opacity=80);opacity:.8;display:none}.lightbox{width:100%;z-index:10000;font-weight:400;outline:0}.lightbox .lb-image{display:block;height:auto;max-width:inherit;max-height:none;border-radius:3px;border:4px solid #fff}.lightbox a img{border:none}.lb-outerContainer{position:relative;width:250px;height:250px;margin:0 auto;border-radius:4px;background-color:#fff}.lb-outerContainer:after{content:"";display:table;clear:both}.lb-loader{top:43%;height:25%;width:100%}.lb-cancel{display:block;width:32px;height:32px;margin:0 auto;background:url(img/loading.gif) no-repeat}.lb-nav{position:absolute;top:0;left:0;height:100%;width:100%;z-index:10}.lb-container>.nav{left:0}.lb-nav a{outline:0;background-image:url(data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)}.lb-next,.lb-prev{height:100%;cursor:pointer;display:block}.lb-nav a.lb-prev{width:34%;left:0;float:left;background:url(img/prev.png) left 48% no-repeat;filter:alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-prev:hover{filter:alpha(Opacity=100);opacity:1}.lb-nav a.lb-next{width:64%;right:0;float:right;background:url(img/next.png) right 48% no-repeat;filter:alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-next:hover{filter:alpha(Opacity=100);opacity:1}.lb-dataContainer{margin:0 auto;padding-top:5px;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.lb-dataContainer:after{content:"";display:table;clear:both}.lb-data{padding:0 4px;color:#ccc}.lb-data .lb-details{width:85%;float:left;text-align:left;line-height:1.1em}.lb-data .lb-caption{font-size:13px;font-weight:700;line-height:1em}.lb-data .lb-caption a{color:#4ae}.lb-data .lb-number{display:block;clear:left;padding-bottom:1em;font-size:12px;color:#999}.lb-data .lb-close{display:block;float:right;width:30px;height:30px;background:url(img/close.png) top right no-repeat;text-align:right;outline:0;filter:alpha(Opacity=70);opacity:.7;-webkit-transition:opacity .2s;-moz-transition:opacity .2s;-o-transition:opacity .2s;transition:opacity .2s}.lb-data .lb-close:hover{cursor:pointer;filter:alpha(Opacity=100);opacity:1}
