@charset "utf-8";
/*
Theme Name: iketax
Theme URI: https://iketax.com/
Version: 1.0
*/

/* common
---------------------------------------------------------------------------*/
@import url("css/easing.css");

:root {
	--color-text: #4E4E4E;
	--color-text-dark: #3E3B3E;
	--color-bg: #F0F9F9;
	--color-bg-gray: #E8ECEC;
	--color-border: #CEE7EA;
	--color-blue: #1F8399;
	--color-blue-light: #A7D0D7;
	--color-blue-mid: #5A8BA4;
	--color-blue-dark: #517D94;
	--color-pink: #D34C6B;

	/* 500 */
	--font-gothic-jp: Gothic Medium BBB, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;

	/* 700 */
	--font-gothic-jp-b: Midashi Go MB31, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;

	--font-gothic-jp-device: '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	
	/* 400 */
	--font-gothic-en: "Roboto", sans-serif;

	--base-font: 16;
  --base-width: 1320px;
  --scale-rate-wide: 0.45;
  --scale-rate-narrow: 0.3;
}

html {
	font-size: calc(100% * (1 + ((100vw - var(--base-width)) / var(--base-width)) * var(--scale-rate-narrow)) / var(--base-font));
}

@media (min-width: 1320px) {
	html {
		font-size: calc(100% * (1 + ((100vw - var(--base-width)) / var(--base-width)) * var(--scale-rate-wide)) / var(--base-font));
	}
}

body {
	overflow-y: scroll;
	/*background-color: var(--color-bg);*/
	color: var(--color-text);
	font-size: 16rem;
	font-family: var(--font-gothic-jp);
	line-height: 1;
	font-feature-settings: 'palt' 1;
	-webkit-text-size-adjust: none !important;
}

body:has(#wrap.bg),
body:has(#topContents),
body:has(#newsContents) {
	background-color: var(--color-bg);
}

body #wrap:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: url(img/souzoku/bg.jpg?260421) repeat left top / 126rem auto;
	width: 100%;
	height: 100%;
	transition: 1s linear;
	opacity: 0;
	z-index: -1;
}

body:not(:has(#wrap.bg)) #wrap:not(:has(#topContents)):not(:has(#newsContents)):after,
body:has(#wrap.bg-pink) #wrap:after {
	opacity: 1;
}

body:has(#wrap.bg-blue):not(:has(#wrap.bg-pink)) #wrap:after {
	opacity: 0;
}

body.noscroll { position: fixed; width: 100%; }

::-moz-selection { background: rgba(0,0,0,0.1); color: #000000; }
::selection { background: rgba(0,0,0,0.1); color: #000000; }

p { font-size: 16rem; line-height: 2; letter-spacing: 0.1em; margin-bottom: 1em; }
p:last-child { margin-bottom: 0 !important; }
.p p { display: inline; }

address,i { font-style: normal; }
img { max-width: none; }
figure img { width: 100%; }
picture { display: block; }

.dash { padding: 0 5rem 0 4rem; letter-spacing: -0.01em; }

.block { display: inline-block !important; }
.wide { display: inline-block !important; }
.narrow { display: none !important; }
.nav-sp, .btn-nav { display: none !important; }

.title-h1 { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* #loading
------------------------------------*/
#loading {
	display: none !important;
}

/* link
------------------------------------*/
a { color: var(--color-text); text-decoration: none; transition: .1s ease-out; -webkit-transform: translateZ(0); }
.hover { cursor: pointer; transition: .1s ease-out; }
a:hover,.hover:hover { color: var(--color-blue); }

p a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.line { display: inline-block; position: relative; padding-bottom: 1px; line-height: 1; }
.line:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: var(--color-text);
	width: 100%;
	height: 1px;
}

/* .btn
------------------------------------*/
button.btn-color,
.btn-color a {
	display: inline-block;
	background: var(--color-blue);
	border-radius: 3rem;
	padding: 18rem 26rem 18rem 28rem;
	color: #FFFFFF !important;
	font-family: var(--font-gothic-jp-b);
	font-weight: 700;
	font-size: 15rem;
	letter-spacing: 0.1em;
	text-align: center;
}

#souzokuContents button.btn-color,
#souzokuContents .btn-color a {
	background: var(--color-pink);
}

button.btn-color.size-m {
	padding: 19rem 38rem 19rem 40rem;
	font-size: 17rem;
}

button.btn-color,
.btn-color a {
	transition: .15s ease-out;
}

button.btn-color:hover,
.btn-color a:hover {
	opacity: 0.7;
}

.btn-link a {
	display: inline-block;
	position: relative;
	padding: 5rem 0 5rem 40rem;
	font-size: 15rem;
	letter-spacing: 0.12em;
	opacity: 1 !important;
}

.btn-link a i {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: url(img/share/btn-arrow.svg) no-repeat left top / 26.7rem auto;
	width: 27rem;
	height: 27rem;
	transition: .2s ease-out;
}

/*.btn-link a:hover i {
	transform: rotate(450deg);
}*/

.btn-link a span {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
}

.btn-link-s a {
	display: inline-block;
	padding: 3rem 30rem;
	font-size: 15rem;
	letter-spacing: 0.12em;
	opacity: 1 !important;
}

.btn-link-s a:hover {
	color: var(--color-blue);
}

.btn-link-s a i {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	background: url(img/share/btn-arrow-s.svg) no-repeat left top / 100% auto;
	width: 20rem;
	height: 20rem;
}


/* #wrap
---------------------------------------------------------------------------*/
#wrap {
	min-width: var(--width-min);
	padding: 0 0 240rem 300rem;
}

body.souzoku #wrap {
	position: relative;
	padding: 0;
	z-index: 1;
}

#newsContents,
#errorContents {
	padding-top: 150rem;
	padding-left: 4%;
	padding-right: 9%;
}

.top-support,
.top-img,
.top-message,
.top-access,
.top-news {
	padding-right: 6%;
}

.top-support,
.top-img,
.top-support,
.top-message,
.top-news {
	max-width: 970rem;
}

.top-access {
	max-width: 980rem;
}

#top-support,
#top-message,
#top-access,
#top-news,
#sec-contact {
	margin-top: calc(0px - 150rem);
	padding-top: 150rem;
}

#support1,#support2,#support3 {
	margin-top: -54rem;
	padding-top: 54rem;
}


/* header
---------------------------------------------------------------------------*/
header {
	margin: 0;
	padding: 0;
}

header .logo {
	position: fixed;
	top: 54rem;
	left: 44rem;
	z-index: 9;
	opacity: 0;
}

header .logo a {
	display: flex;
	align-items: flex-end;
}

header .logo .mark {
	width: 36rem;
	height: 36rem;
	margin-right: 18rem;
}

header .logo .mark img {
	width: 100%;
	height: 100%;
}

header .logo .mark i,
header .logo .mark i img {
	font-size: 0;
	line-height: 0;
}

header .logo .mark i {
	display: block;
	overflow: hidden;
	position: absolute;
	width: 17.5rem;
	transform-origin: center bottom;
}

header .logo .mark .i1,
header .logo .mark .i3 {
	height: 6rem;
}

header .logo .mark .i2,
header .logo .mark .i4 {
	height: 29rem;
}

header .logo .mark .i1 { top: 0; left: 0; }
header .logo .mark .i2 { top: 0; left: 18.5rem; }
header .logo .mark .i3 { top: 30rem; left: 18.5rem; }
header .logo .mark .i4 { top: 7rem; left: 0; }

header .logo .type {
	position: relative;
	padding: 1px;
}

header .logo .type > img {
	opacity: 0 !important;
	pointer-events: none;
}

header .logo .type .mask {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	transition: .6s var(--easeOutQuint);
}

header .logo .type .mask img { transition: .15s linear; }

header .logo.hidden .type .mask { width: 0; transition: .3s var(--easeOutQuart); }
header .logo.hidden:hover .type .mask { width: 100%; transition: .45s var(--easeOutQuint); }
header .logo.hidden .type .mask img { transition: .15s linear .15s; opacity: 0; }
header .logo.hidden:hover .type .mask img { transition: .15s linear; opacity: 1; }

header .logo .type img {
	display: inline-block;
	width: 195rem;
}

header .logo img {
	filter: brightness(90%);
}

header .gnav {
	position: fixed;
	top: 150rem;
	left: 42rem;
	z-index: 8;
	opacity: 0;
}

header .gnav > ul > li {
	margin-bottom: 6rem;
}

header .gnav > ul > li a:has(+ a:hover) {
	color: var(--color-blue);
}

header .gnav li {
	position: relative;
}

header .gnav li a {
	display: inline-block;
	position: relative;
	padding: 0 10rem 10rem 0;
	font-size: 14rem;
	letter-spacing: 0.08em;
}

header .gnav li ul {
	padding: 13rem 0 12rem 11rem;
}

header .gnav li li {
	margin-bottom: 4rem;
}

header .gnav li li a {
	color: var(--color-blue);
	letter-spacing: 0.08em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	font-size: 13rem!important;
}

header .gnav li li a:hover,
header .gnav li li a:has(+ a:hover) {
	opacity: 0.7;
}

header .gnav li a:nth-of-type(1) { pointer-events: none; }
header .gnav li a:nth-of-type(2) { position: absolute; top: 2rem; left: 0; opacity: 0 !important; }
body.top header .gnav li a:nth-of-type(1) { pointer-events: all; }
body.top header .gnav li a:nth-of-type(2) { pointer-events: none; }


/* footer
---------------------------------------------------------------------------*/
footer {
	position: fixed;
	bottom: 32rem;
	left: 44rem;
	margin: 0;
	padding: 0;
	opacity: 0;
}

body.souzoku footer {
	display: none;
}

.copyright img {
	width: 156rem;
}


/* contents
---------------------------------------------------------------------------*/
#mainContents {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: left;
}

.contents {
	opacity: 0;
}

/* .title-sec
------------------------------------*/
.title-sec {
	margin-bottom: 45rem;
	color: var(--color-blue);
}

.title-sec em {
	display: block;
	margin: 0 0 24rem -1rem;
}

.title-sec strong {
	display: block;
	font-size: 16rem;
	letter-spacing: 0.18em;
}

/* .dot-list
------------------------------------*/
.dot-list li {
	position: relative;
	margin: 0 0 6rem 3rem;
	padding-left: 15rem;
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.dot-list li:last-of-type { margin-bottom: 0; }
.dot-list li:before { display: block; content: '・'; position: absolute; top: 0; left: 0; }

/* .attention-list
------------------------------------*/
.attention-list li {
	position: relative;
	margin: 0 0 10rem;
	padding-left: 20rem;
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.attention-list li:last-of-type { margin-bottom: 0; }
.attention-list li:before { display: block; content: '※'; position: absolute; top: 0; left: 0; }


/* news archive
---------------------------------------------------------------------------*/
#newsContents .title-sec {
	margin: -3rem 0 80rem 10rem;
}

#newsContents .news-list,
#newsContents .wp-pagenavi {
	max-width: 765rem;
}

/* .news-list
------------------------------------*/
.news-list {
	border-top: 1px solid var(--color-border);
}

.news-list article {
	border-bottom: 1px solid var(--color-border);
}

.news-list article a {
	display: flex;
	background: url(img/share/ico-arrow-line.svg) no-repeat right 30rem center / 22rem auto;
	padding: 25rem 100rem 25rem 10rem;
	line-height: 1.6;
}

.news-list time {
	width: 112rem;
	min-width: 112rem;
	padding-top: 3rem;
	font-size: 13rem;
	letter-spacing: 0.06em;
}

.news-list h3 {
	font-size: 15rem;
	letter-spacing: 0.1em;
}


/* news single
---------------------------------------------------------------------------*/
.news-area {
	max-width: 650rem;
	margin: 0 0 0 10rem;
}

/* .news-title
------------------------------------*/
.news-title {
	margin-bottom: 35rem;
	padding-top: 10rem;
}

.news-title time {
	display: block;
	margin: 0 0 16rem 1rem;
	font-size: 12rem;
	letter-spacing: 0.1em;
}

.news-title h1 {
	color: var(--color-blue);
	font-size: 18rem;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

/* .news-main
------------------------------------*/
.news-main > * {
	font-family: var(--font-gothic-jp) !important;
}

.news-main, .news-main h2, .news-main p {
	font-size: 14rem;
	line-height: 2.4;
	letter-spacing: 0.1em;
}

.news-main h2 {
	margin: 60rem 0 18rem;
	font-size: 16rem;
}

.news-main > h2:first-child {
	margin-top: 0;
}

.news-main p {
	text-align: justify;
	word-break: break-all;
}

.news-main p:last-child { margin-bottom: 0; }
.news-main a { text-decoration: underline; word-break: break-all; }
.news-main strong { font-weight: bold; }
.news-main em { font-style: italic; }
.news-main del { text-decoration: line-through; }

.news-main img {
	display: block;
	max-width: calc(100% + 0rem);
	height: auto;
	margin: 45rem 0 40rem !important;
}

.news-main .wp-caption { max-width: 100%; margin-bottom: 40rem; }
.news-main .wp-caption-text { margin: -30rem 0 0; font-size: 12rem; }

.news-main .gallery > dl { width: 49.5% !important; margin-right: 1% !important; }
.news-main .gallery > dl:nth-child(even) { margin-right: 0 !important; }
.news-main .gallery a { pointer-events: none; }
.news-main .gallery img { border: none !important; width: 100% !important; margin: 0 !important; }

.news-main ul, .news-main ol { margin: 30rem 0 30rem; }
.news-main ul li { list-style: disc; margin: 0 0 6rem 18rem; }
.news-main ol li { list-style: decimal; margin: 0 0 6rem 24rem; }
.news-main ul li:last-of-type,
.news-main ol li:last-of-type { margin-bottom: 0; }

.news-main blockquote { background: #F5F5F5; margin: 40rem 0; padding: 28rem 36rem; text-align: justify; }
.news-main blockquote p { font-size: 14rem; line-height: 1.9; }

.post-main iframe { width: 840rem; height: 476rem; }

/* .news-table
------------------------------------*/
.news-table-wrap {
	margin-top: 60rem;
}

.news-table-wrap h3 {
	margin: 60rem 0 10rem;
	font-size: 16rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.news-table-wrap h3:first-child { margin-top: 0; }

.news-table-wrap table {
	width: calc(100% + 10rem);
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.news-table-wrap table:has(tr) {
	margin: 40rem -5rem 40rem;
}

.news-table-wrap h3 + table {
	margin-top: 0;
}

.news-table tr { border-bottom: 1px solid var(--color-border); }

.news-table th, .news-table td {
	padding-top: 20rem;
	padding-bottom: 5rem;
}

.news-table th {
	position: relative;
	min-width: 90rem;
	max-width: 120rem;
	padding-right: 20rem;
	padding-left: 5rem;
	color: var(--color-blue);
	text-align: left;
	vertical-align: top;
}

.news-table td {
	width: 100%;
	padding-right: 5rem;
}

.news-table table.right td { text-align: right; }

.news-table-attention {
	margin-top: -22rem;
	font-size: 13rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

/* .news-link
------------------------------------*/
.news-link { margin-top: 40rem; }
.news-link li { display: inline-block; margin: 0 12rem 14rem 0; }
.news-link li a { min-width: 220rem; }

/* .news-other
------------------------------------*/
.news-other {
	position: relative;
	max-width: 765rem;
	margin: 130rem 0 0 10rem;
}

.news-other h2 {
	margin: 0 0 28rem 10rem;
	color: var(--color-blue);
	font-size: 16rem;
	letter-spacing: 0.16em;
}

.news-other .btn-link-s {
	position: absolute;
	top: -3rem;
	right: 0;
}


/* .wp-pagenavi
---------------------------------------------------------------------------*/
.wp-pagenavi {
	overflow: hidden;
	margin: 110rem 0 0;
	font-size: 14rem;
	text-align: center;
}

.wp-pagenavi .extend {
	padding: 0 15rem;
}

.wp-pagenavi a {
	margin: 0 11rem;
	padding: 5rem;
}

.wp-pagenavi .current {
	display: inline-block;
	border-bottom: 1px solid #9ACBD5;
	margin: 0 13rem;
	padding: 5rem 3rem 12rem;
}

.wp-pagenavi a.first,
.wp-pagenavi a.last {
	display: none;
}

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	display: inline-block;
	background: url(img/share/ico-arrow-line-s.svg) no-repeat center center;
	text-indent: -9999px;
}

.wp-pagenavi a.previouspostslink {
	margin-right: 25rem;
	transform: scaleX(-1);
}

.wp-pagenavi a.nextpostslink {
	margin-left: 25rem;
}


/* page top
---------------------------------------------------------------------------*/

/* .top-news-head
------------------------------------*/
.top-news-head {
	position: absolute;
	top: 71rem;
	left: 370rem;
	max-width: calc(100% - 370rem - 330rem);
	font-size: 14rem;
	line-height: 1.6;
	z-index: 7;
}

.top-news-head time {
	display: inline-block;
	padding: 0 14rem 0 0;
	letter-spacing: 0.05em;
	transform: translateY(1rem);
}

.top-news-head strong a {
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

/* .top-main
------------------------------------*/
.top-main {
	position: relative;
	margin-bottom: 100rem;
	padding: 440rem 0 0;
}

.top-main h2 {
	position: absolute;
	top: 130rem;
	right: 8.4%;
	opacity: 0;
}

.top-main h2 img {
	width: 165rem;
}

.top-main .txt {
	position: absolute;
	top: 275rem;
	right: 32%;
	display: flex;
	flex-direction: row-reverse;
	opacity: 0;
}

.top-main .txt p {
	margin-left: 22rem;
	font-size: 15rem;
	line-height: 2.3;
	letter-spacing: 0.19em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.top-main .img1 {
	width: 38%;
	margin: 0 0 16.2% -3.4%;
	opacity: 0;
}

.top-main .img2 {
	position: absolute;
	bottom: 27%;
	right: 12%;
	width: 23.6%;
	opacity: 0;
}

.top-main .img3 {
	width: 38.4%;
	margin: 0 0 0 38.6%;
	opacity: 0;
}

/* .top-support
------------------------------------*/
.top-support {
	margin: 0 0 180rem;
}

.top-support .lead {
	margin-bottom: 80rem;
}

.top-support .lead .title-sec em img {
	width: 182rem;
}

.top-support .lead p {
	display: block;
	font-size: 15rem;
}

.top-support-inner {
	display: flex;
	justify-content: space-between;
}

.top-support-inner .img {
	align-self: flex-start;
	position: sticky;
	top: 54rem;
	left: 0;
	width: 34.5%;
}

.top-support-inner .img img {
	width: 100%;
}

.top-support-inner-s {
	width: 100%;
	margin-left: 12%;
}

.top-support-inner .inner:not(:last-child) {
	margin-bottom: 140rem;
}

.top-support-inner .inner h3 {
	margin-bottom: 32rem;
	color: var(--color-blue);
	font-size: 15rem;
	line-height: 1.7;
	letter-spacing: 0.08em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
}

.top-support-inner .inner h4 {
	margin-bottom: 16rem;
	font-size: 22rem;
	line-height: 1.8;
	letter-spacing: 0.15em;
}

.top-support-inner .inner p {
	margin-bottom: 12rem;
	font-size: 14rem;
	line-height: 2.15;
}

.top-support-inner .inner .btn-color {
	margin: 30rem 0 -10rem;
}

.top-support-inner .inner .list {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 3px;
	margin: 75rem 0 0 -3rem;
	padding: 30rem 45rem 32rem 30rem;
}

.top-support-inner .inner.support3 .list {
	margin-top: 45rem;
	padding-right: 30rem;
}

.top-support-inner .inner .list .pic {
	display: block;
	position: absolute;
	z-index: 1;
}

.top-support-inner .inner.support1 .list .pic { top: -75rem; right: 30rem; width: 120rem; }
.top-support-inner .inner.support2 .list .pic { bottom: -34rem; left: -18rem; width: 136rem; }
.top-support-inner .inner.support3 .list .pic { top: -88rem; right: 34rem; width: 131rem; }

.top-support-inner .inner .list h5 {
	width: 100%;
	margin: 0 0 7rem;
	color: var(--color-blue);
}

.top-support-inner .inner .list h5 strong {
	display: block;
	margin: 0 0 11rem -0.7rem;
	font-size: 15rem;
	letter-spacing: 0.1em;
}

.top-support-inner .inner .list h5 em {
	display: block;
}

.top-support-inner .inner .list h5 em img {
	width: 67rem;
}

.top-support-inner .inner .list ul {
	margin: 0 0 0 170rem;
}

.top-support-inner .inner.support3 .list ul {
	margin-left: 120rem;
}

.top-support-inner .inner .list li {
	position: relative;
	padding: 0 0 0 22rem;
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.top-support-inner .inner .list li:not(:last-of-type) {
	margin-bottom: 9rem;
}

.top-support-inner .inner .list li i {
	display: block;
	position: absolute;
	top: -2rem;
	left: 0;
	color: var(--color-blue);
	font-family: var(--font-gothic-en);
	font-weight: 500;
	font-size: 16rem;
}

.top-support-inner .inner .list li span {
	font-size: 12rem;
}

/* .top-img
------------------------------------*/
.top-img {
	position: relative;
	margin: 0 0 125rem;
	padding: 0 0 265rem;
}

.top-img .img1 {
	width: 61.4%;
	margin: 0 0 14% 21.2%;
}

.top-img .img2 {
	width: 39.7%;
	margin: 0 0 0 -2%;
}

.top-img .img3 {
	position: absolute;
	bottom: 0;
	right: 2.4%;
	width: 46%;
}

/* .top-message
------------------------------------*/
.top-message {
	margin: 0 0 180rem;
}

.top-message .title-sec em {
	margin-bottom: 18rem;
}

.top-message .title-sec em img {
	width: 120rem;
}

.top-message-inner {
	display: flex;
	align-items: flex-end;
	position: relative;
	padding: 25rem 0 0 7.2%;
}

.top-message figure {
	width: 46%;
	min-width: 46%;
}

.top-message figure .img2 {
	display: block;
	margin-top: 38rem;
}

.top-message .txt {
	padding: 0 0 0 60rem;
}

.top-message .txt h3 {
	position: absolute;
	top: -26rem;
	right: -4%;
}

.top-message .txt h3 img {
	width: 75rem;
}

.top-message .txt p {
	font-size: 14rem;
	line-height: 2.1;
	letter-spacing: 0.08em;
}

.top-message .txt p.name {
	margin-top: 35rem;
	font-size: 15rem;
	text-align: right;
}

.top-message .txt p.name span {
	padding-right: 7rem;
	font-size: 13rem;
}

.top-message .txt h4 {
	margin: 55rem 0 22rem -3rem;
	color: var(--color-blue);
	font-size: 13rem;
	letter-spacing: 0.15em;
}

.top-message .txt dl {
	display: flex;
}

.top-message .txt dl:not(:last-of-type) {
	margin-bottom: 7rem;
}

.top-message .txt dt,
.top-message .txt dd,
.top-message .txt dd p {
	font-size: 14rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

.top-message .txt dt {
	width: 65rem;
	min-width: 65rem;
}

/* .top-access
------------------------------------*/
.top-access {
	margin: 0 0 180rem;
}

.top-access figure {
	position: relative;
	margin: 0 0 78rem;
}

.top-access figure .pic {
	position: absolute;
	top: -118rem;
	left: 31rem;
	width: 125rem;
}

.top-access-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 14rem;
}

.top-access-inner .txt {
	padding: 0 40rem 0 0;
}

.top-access-inner .txt h1 {
	margin: 0 0 40rem;
}

.top-access-inner .txt h1 img {
	width: 279rem;
}

.top-access-inner .txt dl,
.top-access-inner .txt dt,
.top-access-inner .txt dd,
.top-access-inner .txt dd p {
	font-size: 14rem;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.top-access-inner .txt dl {
	display: flex;
	margin-bottom: 10rem;
}

.top-access-inner .txt dl:first-of-type {
	margin-bottom: 18rem;
}

.top-access-inner .txt dt {
	width: 79rem;
	min-width: 79rem;
}

.top-access-inner .txt dd p span {
	font-size: 12rem;
}

.top-access-inner .txt .btn-link {
	margin: 40rem 0 0;
}

.top-access-inner .map {
	position: relative;
	overflow: hidden;
	align-self: flex-start;
	width: 100%;
	max-width: 540rem;
	height: 354rem;
}

.top-access-inner .map iframe {
	position: absolute;
	top: -150rem;
	left: 0;
	width: 100%;
	height: calc(100% + 150rem);
}

/* .top-news
------------------------------------*/
.top-news {
	position: relative;
	margin: 0 0 180rem;
}

.top-news .title-sec {
	margin-left: 10rem;
}

.top-news .title-sec em img,
#newsContents .title-sec em img {
	width: 79rem;
}

.top-news .btn-link-s {
	position: absolute;
	top: 200rem;
	right: calc(6% + 28rem);
}


/* page souzoku
---------------------------------------------------------------------------*/
#souzokuContents {
	color: var(--color-text-dark);
}

#souzokuContents h1 {
	position: absolute;
	top: calc(100vh);
	left: 0;
	width: 100%;
	height: 82rem;
	padding: 33rem 500rem 0 40rem;
	font-size: 16rem;
	letter-spacing: 0.02em;
	z-index: 9;
	opacity: 0;
}

#souzokuContents h1.active {
	transition: .9s var(--easeOutQuart);
	top: calc(100vh - 82rem);
	opacity: 1;
}

#souzokuContents h1.hidden {
	pointer-events: none;
}

#souzokuContents h1 strong {
	display: inline-block;
	font-family: var(--font-gothic-jp-b);
	font-weight: 700;
	clip-path: inset(0% 0% 0% 0%);
	transition: .4s var(--easeOutQuart);
}

#souzokuContents h1.hidden strong {
	clip-path: inset(0% 100% 0% 0%);
	transition: .2s var(--easeOutQuart);
}

.souzoku-side .mask {
	transition: .35s var(--easeOutCubic);
}

.souzoku-side.visible .mask {
	width: 0;
	transition: .45s var(--easeOutQuart);
}

/* .souzoku-main
------------------------------------*/
.souzoku-main {
	position: relative;
	background: url(img/souzoku/bg.jpg?260421) repeat left top / 126rem auto;
	width: 100%;
	height: 100vh;
	z-index: 0;
}

.souzoku-main.active {
	transition: .9s var(--easeOutQuart);
	margin-bottom: -82rem;
}

.souzoku-main .inner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	margin-top: -4vh;
	text-align: center;
}

.souzoku-main h2 {
	display: inline-block;
	margin: 4vh 0 5.5vh;
	font-family: var(--font-gothic-jp-b);
	font-weight: 700;
	font-size: min(31rem, 4vh);
	line-height: 1.82;
	letter-spacing: -0.04em;
	text-align: left;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	opacity: 0;
}

.souzoku-main .pic {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 0;
	width: 680rem;
	max-width: 76vh;
	margin: 0 auto;
}

.souzoku-main .pic > div {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 12rem;
	padding: 0 6rem;
}

.souzoku-main .pic img { width: 100%; }
.souzoku-main .pic > div > div img { opacity: 0; }

.souzoku-main h3 {
	position: absolute;
	top: 9.5vh;
	right: 8.5%;
	font-family: var(--font-gothic-jp-b);
	font-weight: 700;
	font-size: min(20rem, 2.5vh);
	letter-spacing: 0;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.souzoku-main h3 i {
	display: inline-block;
	position: relative;
	width: min(20rem, 2.5vh);
	height: min(20rem, 2.5vh);
	opacity: 0;
}

.souzoku-main h3 i span { display: block; }
.souzoku-main h3 i span.top { transform: rotate(180deg) translateX(-8rem) translateY(1.5rem); }
.souzoku-main h3 i span.btm { transform: rotate(0deg) translateX(-6rem) translateY(2rem); }
_::-webkit-full-page-media, _:future, :root .souzoku-main h3 i span.top { transform: rotate(90deg) translateX(-2rem); }
_::-webkit-full-page-media, _:future, :root .souzoku-main h3 i span.btm { transform: rotate(-90deg) translateX(-2rem) translateY(-1rem); }

.souzoku-main h3 i:after {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: var(--color-text-dark);
	width: min(20rem, 2.5vh);
	height: 1px;
}

.souzoku-main h3 i.hidden:after {
	transition: .1s ease-out;
	opacity: 0;
}

.souzoku-main h3 i.stop:after {
	animation: souzoku_main_h3_line_stop .6s linear forwards;
}

@keyframes souzoku_main_h3_line_stop {
	0% { opacity: 1; }
	10% { opacity: 0; }
	50% { opacity: 0; }
	60% { opacity: 1; }
	90% { opacity: 1; }
	100% { opacity: 0; }
}

/* .souzoku-wrap
------------------------------------*/
.souzoku-wrap {
	position: relative;
	display: flex;
}

.souzoku-nav {
	position: absolute;
	top: 0;
	right: 0;
	padding: 24rem 30rem 0 0;
	text-align: right;
	z-index: 10;
}

.souzoku-nav.fixed {
	position: fixed;
}

.souzoku-nav ul {
	display: flex;
}

.souzoku-nav li {
	background-color: #FFFFFF;
	margin-left: 10rem;
}

.souzoku-nav li a {
	display: inline-block;
	padding: 4rem 7rem 5rem 8rem;
	color: var(--color-text-dark);
	font-family: var(--font-gothic-jp-b);
	font-weight: 700;
	font-size: 16rem;
	line-height: 1.6;
	letter-spacing: 0.02em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25em;
}

.souzoku-nav li a:hover {
	/*color: var(--color-blue-dark);*/
	opacity: 0.7;
}

/* .souzoku-side
------------------------------------*/
.souzoku-side {
	position: relative;
	overflow: hidden;
	position: sticky;
	top: 0;
	left: 0;
	background-color: var(--color-bg-gray);
	width: 32%;
	height: 100vh;
	text-align: center;
	padding: 0;
}

.souzoku-side .mask {
	position: absolute;
	top: 0;
	right: 0;
	background-color: #FFFFFF;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.souzoku-side .pic {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24rem 18rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 60%;
	max-width: 30vh;
	z-index: 1;
}

.souzoku-side .pic img {
	width: 100%;
}

.souzoku-side h2 {
	position: absolute;
	bottom: 40rem;
	left: 0;
	width: 100%;
	padding: 0 6%;
	font-family: var(--font-gothic-jp-b);
  font-weight: 700;
	font-size: min(1.3vw, 17rem);
	line-height: 2;
	letter-spacing: 0.03em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.4em;
	z-index: 1;
}

/* .souzoku-inner
------------------------------------*/
.souzoku-inner {
	background-color: #FFFFFF;
	width: 68%;
	padding: 220rem 6% 160rem;
}

/* .souzoku-about
------------------------------------*/
.souzoku-about {
	max-width: 650rem;
	margin: -160rem auto 90rem;
	padding-top: 160rem;
}

.souzoku-about .lead {
	display: flex;
	justify-content: space-between;
	margin-bottom: 75rem;
}

.souzoku-about .lead h2 {
	margin-right: 55rem;
	font-family: var(--font-gothic-jp-b);
	font-weight: 700;
	font-size: 30rem;
	line-height: 1.4;
	letter-spacing: -0.03em;
	transform: translateY(-2rem);
}

.souzoku-about .lead .txt {
	margin-right: 40rem;
}

.souzoku-about .lead p {
	margin-bottom: 12rem;
	line-height: 1.9;
	letter-spacing: 0.04em;
}

.souzoku-about .check {
	background: url(img/souzoku/bg-check.png?260422) no-repeat left top / 100% auto;
	max-width: 456rem;
	min-height: 664rem;
	margin: 0 auto;
	padding: 140rem 73rem 0;
}

.souzoku-about .check p {
	font-family: var(--font-gothic-jp-b);
	font-weight: 700;
	font-size: 19rem;
	line-height: 1.75;
	letter-spacing: 0;
}

.souzoku-about .check h3 {
	margin-top: 34rem;
	margin-bottom: 18rem;
}

.souzoku-about .check h3 img {
	width: 71rem;
}

.souzoku-about .check li {
	background: url(img/souzoku/ico-check.svg) no-repeat left top 2rem / 12rem auto;
	margin-bottom: 11rem;
	padding: 0 0 0 17rem;
	font-size: 15.5rem;
	line-height: 1.5;
	letter-spacing: 0;
}

/* .souzoku-service
------------------------------------*/
#souzoku-service {
	margin-top: -80rem;
	padding-top: 80rem;
	margin-right: -10rem;
	margin-left: -10rem;
}

.souzoku-service {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 26rem 26rem;
	background: url(img/souzoku/bg-line.svg) repeat-y left top / 100% auto;
	max-width: 770rem;
	margin: 0 auto 120rem;
	padding: 60rem 46rem 56rem;
}

.souzoku-service .title {
	position: relative;
}

.souzoku-service h2 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	margin: -12rem 0 0 -16rem;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.souzoku-service h2 em {
	display: inline-block;
	position: relative;
	background-color: var(--color-blue-mid);
	border-radius: 100rem;
	margin: -12rem 0 0 18rem;
	padding: 24rem 16rem 18rem;
	font-family: var(--font-gothic-jp-b);
	font-weight: 700;
	color: #FFFFFF;
	font-size: 16rem;
	line-height: 0;
	letter-spacing: 0.02em;
}

.souzoku-service h2 em:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: -13.5rem;
	background: url(img/souzoku/parts-fukidashi.svg?260422) no-repeat left top / 100% auto;
	width: 30rem;
	height: 18rem;
}

.souzoku-service h2 strong {
	display: block;
	color: var(--color-blue-mid);
	font-family: var(--font-gothic-jp-b);
	font-weight: 700;
	font-size: 32rem;
	line-height: 1.25;
	letter-spacing: -0.06em;
}

.souzoku-service .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	background: #FEFBD7;
	border-radius: 30rem;
	padding: 28rem 32rem 30rem;
	text-align: center;
	z-index: 1;
}

.souzoku-service .inner h3 {
	position: relative;
	margin: 0 0 15rem;
	padding: 0 17rem 0 25rem;
	color: var(--color-blue-dark);
	font-family: var(--font-gothic-jp-b);
	font-weight: 700;
	font-size: 23rem;
	line-height: 1.45;
	letter-spacing: 0;
	text-align: left;
}

.souzoku-service .inner h3 i {
	display: block;
	position: absolute;
	top: 1rem;
	left: 0;
}

.souzoku-service .inner p {
	font-size: 15rem;
	line-height: 1.6;
	letter-spacing: 0.1rem;
	text-align: justify;
}

.souzoku-service .inner .pic {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 100%;
	margin-top: 15rem;
}

.souzoku-service .inner1 .pic img { width: 193rem; margin-top: 0rem; }
.souzoku-service .inner2 .pic img { width: 175rem; margin-top: 5rem; }
.souzoku-service .inner3 .pic img { width: 182rem; margin-top: 0rem; }
.souzoku-service .inner4 .pic img { width: 171rem; margin-top: 5rem; }
.souzoku-service .inner5 .pic img { width: 161rem; margin-top: 5rem; }

/* .souzoku-fee
------------------------------------*/
.souzoku-fee,
#souzokuContents .sec-contact {
	max-width: 680rem;
}

.souzoku-fee {
	position: relative;
	background-color: var(--color-bg-gray);
	border-radius: 30rem;
	margin: 0 auto 130rem;
	padding: 36rem 48rem 43rem;
}

.souzoku-fee h2 {
	position: relative;
	margin-bottom: 8rem;
	color: var(--color-pink);
	font-family: var(--font-gothic-jp-b);
	font-weight: 700;
	font-size: 24rem;
	line-height: 1.8;
	letter-spacing: 0.04em;
}

.souzoku-fee h2 i {
	display: block;
	position: absolute;
	top: -55rem;
	left: -75rem;
}

.souzoku-fee h2 i img {
	width: 76rem;
}

.souzoku-fee p {
	font-size: 15rem;
	letter-spacing: 0.07em;
}

.souzoku-fee .price {
	display: flex;
	border-bottom: 3px solid #FFFFFF;
	width: max-content;
	margin-top: 30rem;
	padding: 0 0 9rem 2rem;
	color: var(--color-pink);
}

.souzoku-fee .price > div {
	margin-right: 34rem;
}

.souzoku-fee .price > div em {
	display: block;
	margin-bottom: 7rem;
	font-family: var(--font-gothic-jp-b);
	font-weight: 700;
	font-size: 24rem;
	line-height: 1.5;
	letter-spacing: 0.02em;
}

.souzoku-fee .price > div span {
	display: block;
}

.souzoku-fee .price > div span img {
	width: 177rem;
}

.souzoku-fee .price strong {
	transform: translateY(4rem);
}

.souzoku-fee .price strong img {
	width: 102rem;
}

.souzoku-fee .pic {
	position: absolute;
	bottom: -10rem;
	right: 43rem;
	width: 179rem;
}


/* contact
---------------------------------------------------------------------------*/

/* .sec-contact
------------------------------------*/
.sec-contact {
	max-width: 740rem;
	padding-left: 10rem;
	padding-right: 10rem;
}

.sec-contact .title-sec em img {
	width: 109rem;
}

.sec-contact p {
	font-size: 15rem;
	letter-spacing: 0.06em;
}

.sec-contact .tel {
	margin-top: 20rem;
}

.sec-contact .tel em {
	display: inline-block;
	padding-right: 11rem;
	font-size: 16rem;
	letter-spacing: 0.08em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.4em;
	text-decoration-color: #555;
	transform: translateY(-4rem);
}

.sec-contact .tel strong {
	display: inline-block;
	padding-right: 16rem;
	font-family: var(--font-gothic-en);
	font-weight: 300;
	font-size: 33rem;
	letter-spacing: 0.6rem;
	transform: translateY(2rem);
	opacity: 0.8;
}

.sec-contact .tel strong i {
	display: inline-block;
	transform: translateY(-1.5rem);
}

.sec-contact .tel strong i:nth-of-type(1) { margin: 0 2rem 0 2rem; }
.sec-contact .tel strong i:nth-of-type(2) { margin: 0 0 0 3rem; }

.sec-contact .tel strong .let {
	display: inline-block;
	margin-right: -3rem;
}

.sec-contact .tel > span {
	font-size: 15rem;
	text-underline-offset: 0.06em;
}

.sec-contact .tel time {
	padding-left: 3rem;
	font-family: var(--font-gothic-en);
	font-size: 17rem;
	letter-spacing: 0.06em;
}

.sec-contact .btn-color {
	margin: 38rem 0 0;
}

/* #souzokuContents .sec-contact
------------------------------------*/
#souzokuContents .sec-contact {
	margin-right: auto;
	margin-left: auto;
}

#souzokuContents .sec-contact .title-sec em {
	margin-bottom: 20rem;
}

#souzokuContents .sec-contact .title-sec em img {
	width: 87rem;
}

#souzokuContents .sec-contact .title-sec strong {
	color: var(--color-text-dark);
	letter-spacing: 0.04em;
}

/* .form-wrap
------------------------------------*/
.form-wrap {
	margin: 80rem 0 0;
}

.form-wrap dl, .form-wrap dl p { line-height: 1.6; }
.form-wrap dl div { display: flex; margin-bottom: 24rem; }
.form-wrap dl div:last-of-type { margin-bottom: 0; }

.form-wrap dt {
	width: 190rem;
	min-width: 190rem;
	padding: 15rem 0 0;
}

.form-wrap dt,
.form-wrap dt p {
	font-size: 15rem;
	letter-spacing: 0.06em;
}

.form-wrap dl > div:last-of-type dt {
	padding-top: 12rem;
	align-self: flex-start;
}

.form-wrap dt span {
	padding-left: 2rem;
	font-size: 12rem;
	letter-spacing: 0.06em;
}

.form-wrap dd {
	width: 100%;
	min-height: 48rem;
}

.form-wrap dd p {
	font-size: 12rem;
	line-height: 1.7;
	text-align: justify;
}

.sec-contact p.form-attention {
	margin: 15rem 0 0 190rem;
	font-size: 13rem;
	line-height: 1.9;
	letter-spacing: 0.08rem;
	text-align: justify;
}

/* input
------------------------------------*/
.wpcf7-form-control-wrap {
	display: inline-block;
	position: relative;
	width: 100%;
}

.form-wrap input[type="text"],
.form-wrap input[type="email"],
.form-wrap input[type="tel"],
.form-wrap select,
.form-wrap textarea {
  -webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
  border-radius: 0;
	color: var(--color-text-dark);
	font-family: var(--font-gothic-jp-device);
}

.form-wrap input[type="text"],
.form-wrap input[type="email"],
.form-wrap input[type="tel"],
.form-wrap select,
.form-wrap textarea,
.form-wrap .btn-select .customSelect {
	display: inline-block;
	background-color: rgba(255,255,255,0.8);
	border: none;
	border-radius: 3rem;
	width: 100%;
	height: 53rem;
	padding: 12rem 20rem;
	font-size: 15rem;
	letter-spacing: 0.06em;
}

.form-wrap select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: relative;
	cursor: pointer;
	z-index: 1;
}

.btn-select .wpcf7-form-control-wrap .customSelect {
	position: relative;
	z-index: 0;
}

.btn-select .wpcf7-form-control-wrap:before {
	display: block;
	content: '';
	position: absolute;
	top: 13rem;
	right: 21rem;
	background: url(img/share/btn-arrow.svg) no-repeat left top / 100% auto;
	width: 27rem;
	height: 27rem;
	transform: rotate(90deg);
	z-index: 2;
	pointer-events: none;
}

.form-wrap textarea {
	display: block;
	height: 340rem;
	padding: 18rem 20rem;
	line-height: 1.8;
}

::-webkit-input-placeholder { display: none; font-size: 0; }
:-moz-placeholder { display: none; font-size: 0; }
::-moz-placeholder { display: none; font-size: 0; }
:placeholder-shown { display: none; font-size: 0; }

/* .privacy-check
------------------------------------*/
.privacy-check {
	margin: 15rem 0 0 190rem;
}

.privacy-check p {
	font-size: 14rem;
}

.privacy-check .wpcf7-form-control-wrap {
	width: auto;
}

.privacy-check .wpcf7-form-control-wrap label {
	cursor: pointer;
}

@supports (-webkit-appearance: none) and (not (-webkit-touch-callout: none)) {
	.privacy-check .wpcf7-form-control-wrap input {
		margin-right: 12rem;
		transform-origin: left center;
		transform: scale(1.3);
	}
}

_::-webkit-full-page-media, _:future, :root .privacy-check .wpcf7-form-control-wrap input {
	margin-right: 12rem;
	transform-origin: left center;
	transform: scale(1.3) translateY(-1rem);;
}

/* .btn-submit
------------------------------------*/
.btn-submit {
	display: block;
	position: relative;
	margin: 55rem 0 0 190rem;
}

.btn-submit input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	background: #2D7687;
	border: none;
	border-radius: 0;
	width: 100%;
	margin: 0;
	padding: 15rem 15rem 15rem;
	color: #FFFFFF;
	font-family: var(--font-gothic-jp-b);
  font-weight: 700;
	font-size: 17rem;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-align: center;
	white-space: nowrap;
	transition: .15s ease-out;
}

.btn-submit input:hover { opacity: 0.7; }

/* error
------------------------------------*/
.form-wrap .txt-error,
.wpcf7-not-valid-tip,
.txt-response,
.wpcf7-response-output { display: block; }

.form-wrap .txt-error,
.wpcf7-not-valid-tip {
	margin: 10rem 0 0;
	padding: 0;
	font-size: 13rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.screen-reader-response { display: none; }

.txt-response,
.wpcf7-response-output {
	margin: 40rem 0 0 190rem;
	color: var(--color-blue);
	font-size: 15rem;
	line-height: 1.6;
	letter-spacing: 0.07em;
}

.wpcf7-response-output:first-child {
	margin: -45rem 0 45rem;
	padding-top: 45rem;
}

.wpcf7-response-output:empty {
	margin: 0;
	padding-top: 0;
}

.hidden-fields-container {
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* .sec-privacy
------------------------------------*/
.sec-privacy {
	box-sizing: border-box;
	background-color: #E1F0F0;
	border: none;
	border-radius: 3rem;
	margin: 40rem 0 0 190rem;
	padding: 5px;
}

.sec-privacy .inner {
	overflow-y: scroll;
	box-sizing: border-box;
	width: 100%;
	height: 300rem;
	padding: 44rem 40rem 10rem 40rem;
	overflow-x: auto;
	position: relative;
}

.sec-privacy .inner::-webkit-scrollbar { width: 1px !important; }
.sec-privacy .inner::-webkit-scrollbar-track { background: none; }
.sec-privacy .inner::-webkit-scrollbar-thumb { background: var(--color-blue-dark); }

.sec-privacy h2 {
	margin-bottom: 28rem;
	font-size: 16rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.sec-privacy dl > div {
	margin-bottom: 25rem;
}

.sec-privacy dt {
	margin: 35rem 0 10rem;
}

.sec-privacy dt,
.sec-privacy dt p {
	font-size: 14rem;
	line-height: 1.9;
	letter-spacing: 0.06em;
}

.sec-privacy dt:first-of-type {
	margin-top: 0;
}

.sec-privacy dd {
	color: #565656;
	text-align: justify;
}

.sec-privacy dd p {
	font-size: 14rem;
	line-height: 1.85;
	letter-spacing: 0.04em;
}

.sec-privacy .dot-list li:before {
	top: 2rem;
}

.sec-privacy ol {
	padding: 15rem 0rem 20rem 18rem;
}

.sec-privacy ol:last-child {
	padding-bottom: 0;
}

.sec-privacy ol li {
	margin-bottom: 4rem;
	list-style: decimal;
	font-size: 12rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

/* #souzokuContents .form-wrap
------------------------------------*/
#souzokuContents .form-wrap input[type="text"],
#souzokuContents .form-wrap input[type="email"],
#souzokuContents .form-wrap input[type="tel"],
#souzokuContents .form-wrap select,
#souzokuContents .form-wrap textarea,
#souzokuContents .form-wrap .btn-select .customSelect {
	border: 1px solid var(--color-bg-gray);
	border-radius: 0;
}

#souzokuContents .btn-select .wpcf7-form-control-wrap:before {
	top: 24rem;
	background-image: url(img/share/ico-arrow-line-black.svg);
	width: 12rem;
	height: 7rem;
	transform: rotate(0deg);
}

#souzokuContents .sec-privacy {
	background-color: #EEF0EE;
}

#souzokuContents .txt-response,
#souzokuContents .wpcf7-response-output {
	color: var(--color-pink);
}

#souzokuContents .btn-submit input {
	background-color: var(--color-pink);
}

/* recaptcha
------------------------------------*/
.grecaptcha-badge { pointer-events: none; z-index: -999; opacity: 0; transition: .15s ease-out; }
/*body.contact .grecaptcha-badge { pointer-events: auto; z-index: 0; opacity: 1; }*/


/* page error
---------------------------------------------------------------------------*/
#errorContents .title-sec strong { font-size: 19rem; }


/* media query
---------------------------------------------------------------------------*/
@media (max-width: 1200px) {
	.top-support .lead p,
	.top-support-inner .inner p,
	.top-message .txt p,
	.sec-contact p,
	.souzoku-fee p {
		text-align: justify;
	}
	.top-support .lead p br,
	.top-support-inner .inner p br,
	.top-message .txt p br,
	.sec-contact p br,
	.souzoku-fee p br {
		display: none !important;
	}

	/* .top-news-head
	------------------------------------*/
	.top-news-head {
		max-width: calc(100% - 370rem - 270rem);
	}

	/* .top-main
	------------------------------------*/
	.top-main h2 {
		right: 7%;
	}
	.top-main h2 img {
		width: 150rem;
	}
	.top-main .txt {
		right: 33.5%;
	}
	.top-main .txt p {
		line-height: 2;
	}
	.top-main .img1 {
		width: 36%;
		margin-left: -7.5%;
	}

	/* .top-support-inner
	------------------------------------*/
	.top-support-inner .inner p {
		line-height: 2;
		letter-spacing: 0.04em;
	}
	.top-support-inner .inner .list h5 {
		margin-bottom: 23rem;
	}
	.top-support-inner .inner .list h5 strong {
		margin-bottom: 10rem;
	}
	.top-support-inner .inner .list ul {
		margin-left: 25%;
	}
	.top-support-inner .inner .list li:not(:last-of-type) {
		margin-bottom: 6rem;
	}
	.top-support-inner .inner.support1 .list .pic {
		top: -55rem;
		right: 10rem;
		width: 105rem;
	}
	.top-support-inner .inner.support2 .list .pic {
		bottom: -28rem;
		left: -35rem;
		width: 115rem;
	}
	.top-support-inner .inner.support3 .list {
		margin-top: 50rem;
	}
	.top-support-inner .inner.support3 .list .pic {
    top: -40rem;
    right: 25rem;
    width: 100rem;
	}

	/* .top-img
	------------------------------------*/
	.top-img {
		margin-bottom: 175rem;
	}

	/* .top-message
	------------------------------------*/
	.top-message .txt h3 {
		top: -120rem;
		right: 1%;
	}
	.top-message .txt h3 img {
		width: 71rem;
	}
	.top-message .txt p {
		margin-bottom: 8rem;
		line-height: 1.9;
		letter-spacing: 0.06em;
	}
	.top-message .txt p.name {
		margin-top: 20rem;
	}
	.top-message .txt h4 {
		margin-top: 35rem;
		margin-bottom: 18rem;
	}
	.top-message .txt dl:not(:last-of-type) {
		margin-bottom: 4rem;
	}
	.top-message .txt dt, .top-message .txt dd, .top-message .txt dd p {
		line-height: 1.6;
	}

	/* .souzoku
	------------------------------------*/
	.souzoku-inner {
		padding-right: 5%;
		padding-left: 8%;
	}
	.souzoku-about .lead h2 {
		margin-right: 35rem;
		font-size: 28rem;
	}
	.souzoku-fee .pic {
    right: 35rem;
    width: 160rem;
	}
}


/* print
---------------------------------------------------------------------------*/
@media print {

}