@charset "utf-8";

@font-face {
	font-family: "03smartfontUI";
	src: url("../font/03smartfontUI.otf") format("opentype");
}


/* base
-------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
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, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, main, menu, nav, section {
	display: block;
}
html {
	line-height: 1;
	scroll-behavior: smooth;/* スムーススクロール */
}
ul, ol {
	list-style-type: none;
}
table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}
q, blockquote {
	quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
	content: "";
	content: none;
}
a img {
	border: none;
}
img {
	vertical-align: bottom;
	border: none;
	width: 100%;
	max-width: 100%;
	height: auto;
}
img[src*=".svg"] {
	width: 100%;
}
a {
	color: inherit;
	text-decoration: none;
}
*,
:before,
:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font: inherit;
	border: none;
	border-radius: 0;
	outline: none;
}
textarea {
	resize: vertical;
}
input[type='checkbox'],
input[type='radio'] {
	display: none;
}
input[type='submit'],
input[type='button'],
label,
button,
select {
	cursor: pointer;
}
select::-ms-expand {
	display: none;
}

#cookie-notice {
	font-size: 16px;
	z-index: 999;
}
#cookie-notice .cn-button {
	color: #1a1a1a;
	background: #00ff00;
	border-radius: 6px;
	line-height: 1;
	padding: 8px 16px;
}
.cn-close-icon {
	opacity: 1;
}
.cn-close-icon:before,
.cn-close-icon:after {
	background: #fff;
}
@media screen and (max-width: 768px) {
.page_content { padding: 60px 0; }
.c_section { padding: 40px 0; }
#cookie-notice {
	font-size: 14px;
}

}

/************************************************************************
	フォント
**************************************************************************/
body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic","Hiragino Kaku Gothic ProN","HiraKakuPro-W3","メイリオ",Meiryo,Verdana,sans-serif;
	color: #313333;
	font-size: clamp(13.5px, 0.565rem + 0.58vw, 16px);/* 769~1200 */
	font-weight: 500;/* 游ゴシック　ミディアム */
	letter-spacing: 0.02em;
	line-height: 1.75;
	background: #fff;
	word-wrap: normal;
}
@media screen and (max-width: 768px) {
	body {
		font-size: clamp(13.5px, 0.399rem + 2.03vw, 22px);/* 350~768 */
	}
}
.smartfont{
	font-family: '03smartfontUI', sans-serif;
}

.en {
	font-family: futura-pt, "lato", "Roboto", "Helvetica Neue", Helvetica, Arial, Verdana, "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", "YuGothic", "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

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

}

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

}

.b { font-weight: 700; }
.heavy { font-weight: 900; }
.tal { text-align: left; }
.tac { text-align: center; }
.tar { text-align: right; }
.taj{ text-align: justify;}


.indent{
	text-indent: 1em;
}
span.indent{
	display: inline-block;
}

.palt{
	font-feature-settings: "palt";
}

.capitalize{
	text-transform: capitalize;
}
.capitalize.no{
	text-transform: none;
}
.uppercase{
	text-transform: uppercase;
}

.i{
	font-style: italic;
}
.u{
	text-decoration: underline;
}

.marker{
	background:linear-gradient(transparent 50%, #fff2b9 80%);
}

.white{
	color: #fff;
}

/* -------------
サイズ　色　太さ
-------------------------------------------------------- */
/* 769~1200 */
.fz14a{ font-size: clamp(13.2px, 0.736rem + 0.19vw, 14px);}
.fz14{ font-size: clamp(13.2px, 0.736rem + 0.19vw, 14px);}
.fz16{ font-size: clamp(13.5px, 0.565rem + 0.58vw, 16px);}
.fz17{ font-size: clamp(13.8px, 0.506rem + 0.74vw, 17px);}
.fz18{ font-size: clamp(14px, 0.429rem + 0.93vw, 18px);}
.fz18s{ font-size: clamp(14px, 0.429rem + 0.93vw, 18px);}
.fz20{ font-size: clamp(15px, 0.38rem + 1.16vw, 20px);}
.fz24{ font-size: clamp(16px, 0.108rem + 1.86vw, 24px);}
.fz26{ font-size: clamp(16.5px, -0.028rem + 2.2vw, 26px);}
.fz28{ font-size: clamp(18.5px, 0.097rem + 2.2vw, 28px);}
.fz30{ font-size: clamp(20px, 0.135rem + 2.32vw, 30px);}

.fz36a{ font-size: clamp(22px, -0.186rem + 3.25vw, 36px);}
.fz36{ font-size: clamp(22px, -0.186rem + 3.25vw, 36px);}

@media screen and (max-width: 768px){/* 350~768 */
	.fz14{ font-size: clamp(13.2px, 0.469rem + 1.63vw, 20px);}
	.fz16{ font-size: clamp(13.5px, 0.399rem + 2.03vw, 22px);}
	.fz17{ font-size: clamp(13.6px, 0.358rem + 2.25vw, 23px);}
	.fz18{ font-size: clamp(13.7px, 0.317rem + 2.46vw, 24px)}
	.fz18s{ font-size: clamp(13px, 0.237rem + 2.63vw, 24px);}
	.fz20{ font-size: clamp(14px, 0.221rem + 2.99vw, 26.5px);}
	.fz24{ font-size: clamp(15px, 0.153rem + 3.59vw, 30px);}
	.fz26{ font-size: clamp(15.3px, 0.187rem + 3.52vw, 30px);}
	.fz28{ font-size: clamp(15.8px, 0.035rem + 4.35vw, 34px);}
	.fz30{ font-size: clamp(16px, -0.047rem + 4.78vw, 36px);}
	.fz36a{ font-size: clamp(17px, 0.068rem + 4.55vw, 36px);}
	.fz36{ font-size: clamp(18px, -0.026rem + 5.26vw, 40px);}
}

/************************************************************************
	フレックス
**************************************************************************/
/* flex系 */
.flex {
	display: -webkit-box;
	display: flex;
}

.flex_pc{/* 768以下block */
	display: -webkit-box;
	display: flex;
}

.wrap{
	flex-wrap: wrap;
}

.nowrap {
	flex-wrap: nowrap;
}

.fd_c {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
}

.ai_fs {
	-webkit-box-align: start;
	align-items: flex-start;
}
.ai_fe {
	-webkit-box-align: end;
	align-items: flex-end;
}
.ai_c {
	-webkit-box-align: center;
	align-items: center;
}

.jc_fs {
	-webkit-box-pack: start;
	justify-content: flex-start;
}
.jc_fe {
	-webkit-box-pack: end;
	justify-content: flex-end;
}
.jc_c {
	-webkit-box-pack: center;
	justify-content: center;
}
.jc_sb {
	-webkit-box-pack: justify;
	justify-content: space-between;
}
.jc_sa {
	justify-content: space-around;
}
.order1 {
	-ms-flex-order: 1;
	-webkit-order: 1;
	order: 1;
}
.order2 {
	-ms-flex-order: 2;
	-webkit-order: 2;
	order: 2;
}

@media screen and (max-width: 768px) {
	.flex_pc{
		display: block;
	}
}
/************************************************************************
	リンク
**************************************************************************/
a {
	color: inherit;
	transition: .5s;
}
a:hover {
	opacity: 0.5;
}

::-moz-selection {
	color: #fff;
	background: #1a1a1a;
}
::selection {
	color: #fff;
	background: #1a1a1a;
}


/************************************************************************
	インナー
**************************************************************************/
.inner_primary{
	max-width: 1200px;
	width: 96%;
	margin-left: auto;
	margin-right: auto;
}

.inner_secondary{
	max-width: 1100px;
	width: 94%;
	margin-left: auto;
	margin-right: auto;
}
.inner_tertiary{
	max-width: 980px;
	width: 92%;
	margin-left: auto;
	margin-right: auto;
}

.pt40{
	padding-top: min(40px, 2.5%);
}
.pb40{
	padding-bottom: min(40px, 2.5%);
}

.pt60{
	padding-top: min(60px, 3.8%);
}
.pb60{
	padding-bottom: min(60px, 3.8%);
}

.pt80{
	padding-top: min(80px, 5%);
}
.pb80{
	padding-bottom: min(80px, 5%);
}

.pt90{
	padding-top: min(90px, 5.6%);
}
.pb90{
	padding-bottom: min(90px, 5.6%);
}

.pt100{
	padding-top: min(100px, 6.3%);
}
.pb100{
	padding-bottom: min(100px, 6.3%);
}

.pt120{
	padding-top: min(120px, 7.5%);
}
.pb120{
	padding-bottom: min(120px, 7.5%);
}

.pt140{
	padding-top: min(140px, 8.8%);
}
.pb140{
	padding-bottom: min(140px, 8.8%);
}

.pt160{
	padding-top: min(160px, 10%);
}
.pb160{
	padding-bottom: min(160px, 10%);
}

.pt180{
	padding-top: min(180px, 11.3%);
}
.pb180{
	padding-bottom: min(180px, 11.3%);
}

.pt200{
	padding-top: min(200px, 12.5%);
}
.pb200{
	padding-bottom: min(200px, 12.5%);
}

@media screen and (max-width: 768px) {
	.pt40{
		padding-top: 5.2%;
	}
	.pb40{
		padding-bottom: 5.2%;
	}

	.pt60{
		padding-top: 8%;
	}
	.pb60{
		padding-bottom: 8%;
	}
	
	.pt80{
		padding-top: 10.7%;
	}
	.pb80{
		padding-bottom: 10.7%;
	}

	.pt90{
		padding-top: 12%;
	}
	.pb90{
		padding-bottom: 12%;
	}
	
	.pt100{
		padding-top: 13.3%;
	}
	.pb100{
		padding-bottom: 13.3%;
	}
	
	.pt120{
		padding-top: 16%;
	}
	.pb120{
		padding-bottom: 16%;
	}
	
	.pt140{
		padding-top: 18.7%;
	}
	.pb140{
		padding-bottom: 18.7%;
	}
	
	.pt160{
		padding-top: 21.3%;
	}
	.pb160{
		padding-bottom: 21.3%;
	}

	.pt180{
		padding-top: 24%;
	}
	.pb180{
		padding-bottom: 24%;
	}

	.pt200{
		padding-top: 26.7%;
	}
	.pb200{
		padding-bottom: 26.7%;
	}
}


/************************************************************************
	その他
**************************************************************************/

.anchor {
	margin-top: -100px;
	padding-top: 100px;
}

span.dib{
	display: inline-block;
}

.img_bg{
	position: relative;
	background: url(../img/cmn/mail.svg) no-repeat center/cover;
}

.img_bg::before{
	content: "";
	display: block;
	padding-top: 75%;
}

.borr20{
	border-radius: clamp(15px, 0.38rem + 1.16vw, 20px);/* 769~1200 */
}
.borr10{
	border-radius: clamp(7px, 0.103rem + 0.7vw, 10px);/* 769~1200 */
}


.attention_mark{
	position: relative;
	padding-left: 1.1em;
}
.attention_mark::before{
	content: "\0203B";
	position: absolute;
	left: 0;
}

@media screen and (max-width: 768px) {
	.borr20{
		border-radius: clamp(10px, 0.102rem + 2.39vw, 20px);/* 350~768 */
	}
	.borr10{
		border-radius: clamp(5px, 0.051rem + 1.2vw, 10px);/* 350~768 */
	}
}

/************************************************************************
	タイトル
**************************************************************************/



/************************************************************************
	ボタン
**************************************************************************/
.btn_primary{
	margin: auto;
}
.btn_primary a{
	font-family: '03smartfontUI', sans-serif;
	font-size: clamp(14px, 0.429rem + 0.93vw, 18px);/* 769~1200 */
	display: block;
	text-align: center;
	color: #fff;
	padding: .8em;
	border-radius: 5em;
	background-color: #4e89c3;
	position: relative;
}
.btn_primary a:hover{
	background-color: #38638e;
	opacity: 1;
}

.btn_primary.orange a{
	background-color: #ee883c;
}
.btn_primary.orange a:hover{
	background-color: #b5682d;
}

.btn_primary.green a{
	background-color: #97ba5c;
}
.btn_primary.green a:hover{
	background-color: #829f50;
}

.btn_primary a::after{
	content: "";
	display: inline-block;
	width: .5em;
	height: .8em;
	background: url(../img/cmn/arrow01.svg) no-repeat center/contain;
	position: absolute;
	right: 1.5em;
	top: calc(50% - .4em);
	transition: .4s;
}
.btn_primary.download a::after{
	width: 1.11em;
	height: 1.28em;
	background: url(../img/cmn/download.svg) no-repeat center/contain;
	top: calc(50% - .55em);
}
.btn_primary.transition a::after{
	width: 1.33em;
	height: 1.33em;
	background: url(../img/cmn/transition.svg) no-repeat center/contain;
	top: calc(50% - .67em);
}

.btn_primary a:hover::after{
	right: 1.7em;
}

.btn_primary a span{
	display: inline-block;
	transition: .4s;
}
.btn_primary a:hover span{
	transform: scale(.95);
}

@media screen and (max-width: 768px) {
	.btn_primary a{
		font-size: clamp(13.5px, 0.294rem + 2.51vw, 24px);/* 350~768 */
	}
}

/************************************************************************
	リスト
**************************************************************************/
.decimal li, p.decimal{
	position: relative;
	padding-left: 1.5em;
}
.decimal li::before, p.decimal::before{
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	border-radius: .5em;
	background-color: #313333;
	position: absolute;
	left: 0;
	top: .35em;
}
.decimal.decimal_blue li::before, p.decimal_blue::before{
	background-color: #4e89c3;
}
.decimal.decimal_orange li::before, p.decimal_orange::before{
	background-color: #ee883c;
}
.decimal.decimal_green li::before, p.decimal_green::before{
	background-color: #caddaa;
}

/************************************************************************
	アニメーション
**************************************************************************/
.trigger{
	opacity: 0;
}

/* フェードイン　*/
.animation{/* 下から上へ */
	animation-name: fadeup;
	animation-duration: 0.4s;
	animation-fill-mode: forwards;
	opacity: 0;
}

.animation.down{/* 上から下へ */
	animation-name: fadedown;
}
.animation.right{/* 左から右へ */
	animation-name: faderight;
}
.animation.left{/* 右から左へ */
	animation-name: fadeleft;
}

.animation.deray02{
	animation-delay: .2s;
}
.animation.deray04{
	animation-delay: .4s;
}
.animation.deray08{
	animation-delay: .8s;
}
.animation.deray12{
	animation-delay: 1.2s;
}
.animation.deray16{
	animation-delay: 1.6s;
}

.animation.duration06{
	animation-duration: 0.6s;
}
.animation.duration10{
	animation-duration: 1s;
}



	
	@keyframes fadeup{
	  from {
		opacity: 0;
	  	transform: translateY(2em);
	  }
	
	  to {
		opacity: 1;
	  	transform: translateY(0);
	  }
	}
	@keyframes fadedown{
	  from {
		opacity: 0;
	  	transform: translateY(-2em);
	  }
	
	  to {
		opacity: 1;
	  	transform: translateY(0);
	  }
	}
	@keyframes faderight{
	  from {
		opacity: 0;
	  	transform: translateX(-2em);
	  }
	
	  to {
		opacity: 1;
	  	transform: translateX(0);
	  }
	}
	@keyframes fadeleft{
	  from {
		opacity: 0;
	  	transform: translateX(2em);
	  }
	
	  to {
		opacity: 1;
	  	transform: translateX(0);
	  }
	}


/* フェードインここまで　*/


/************************************************************************
	PC/SP
**************************************************************************/
.block480, .sp, .block1024{ display: none; }

@media screen and (max-width: 1024px){
	.none1024{display: none;}
	.block1024{display: block;}
}

@media screen and (max-width: 768px) {
	.pc { display: none;}
	.sp { display: block;}
}

@media screen and (max-width: 480px) {
	.none480{ display: none;}
	.block480{ display: block;}
}

/************************************************************************
	loader
**************************************************************************/
#loader_bg {
    display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	align-items: center;
    background: #faf9f7;
	position: fixed;
	width: 100%;
	height: 100%;
	inset: 0;
	z-index: 999;
}
#loader_bg .logo{
	letter-spacing: .1em;
	animation: loader .7s ease;
}

@keyframes loader {
	0% {
		opacity: 0;
		transform: translateY(20%);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

@media screen and (max-width: 768px) {
	#loader_bg .logo{
		width: 100%;
	}
}
/************************************************************************
	header
**************************************************************************/
header{
	font-size: clamp(14px, 0.652rem + 0.35vw, 16px);/* 1024~1600 */
	background-color: #fff;
	width: 100%;
	position: sticky;
	position: -webkit-sticky; /* Safari */
	top: 0;
	z-index: 100;
}

@media screen and (max-width: 1024px){
	header{
		font-size: clamp(10px, 0.102rem + 2.39vw, 20px);/* 350~768 */
	}
}

/* ----- ロゴ ----- */

.hd_logo{
	font-size: clamp(18px, 0.457rem + 1.04vw, 24px);/* 1025~1600 */
	padding-left: 1.3em;
}

@media screen and (max-width: 1024px){
	.hd_logo{
		font-size: clamp(14px, 0.195rem + 3.11vw, 27px);/* 350~768 */
		letter-spacing: 0;
		padding-left: 1em;
		padding-right: .5em;
	}
}
/* ----- ナビ・プライバシーポリシー ----- */

.hd_nav{
	margin-left: auto;
	margin-right: 1em;
}

@media screen and (max-width: 1024px){
	.hd_nav{
		display: none;
	}
}
/* -- プライバシーポリシー -- */
.privacy_link{
	text-align: right;
	padding: 0 1em 1em 0;
}
.privacy_link a{
	color: #ea625c;
	text-decoration: underline;
}

.privacy_link:hover{
	text-decoration: none;
}

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

/* -- ナビ -- */

.hd_nav li{
	white-space: nowrap;
	line-height: 1;
	padding: 0 1em;
	border-right: 1px solid #313333;
}
.hd_nav li:nth-last-of-type(1){
	border-right: none;
}

@media screen and (max-width: 1024px){
	
}
/* ----- ボタン ----- */
.hd_btn{
	white-space: nowrap;
	letter-spacing: 0;
	width: 7.5em;
	height: 7.5em;
	color: #fff;
	transition: .4s;
}
.is_scroll .hd_btn{
	width: 6.5em;
	height: 6.5em;
	color: #fff;
}

.hd_btn a{
	display: -webkit-box;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	-webkit-box-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	align-items: center;
	height: 100%;
	transition: .4s;
	opacity: 1;
}

.hd_btn .img_bg{
	width: 33.4%;
	transition: .4s;
}
.hd_btn .img_bg::before{
	padding-top: 100%;
}
.hd_btn:hover .img_bg{
	transform: translateY(-10%);
}

.hd_btn p{
	margin-top: 5%;
	margin-bottom: -5%;
	transition: .4s;
	transition-delay: .1s;
}
.hd_btn:hover p{
	transform: translateY(-10%);
}
@media screen and (max-width: 1024px){
	.hd_btn_wrapper{
		margin-left: auto;
	}

	.hd_btn{
		letter-spacing: -.1em;
		width: 6em;
		height: 6em;
	}

	.is_scroll .hd_btn{
		width: 5.5em;
		height: 5.5em;
	}
}

/* -- TEL -- */
.hd_tel{
	background-color: #00a493;
	transition: .5s;
}
.hd_tel:hover{
	background-color: #00796d;
}

.hd_tel .img_bg{
	background: url(../img/cmn/tel.svg) no-repeat center/contain;
}

@media screen and (max-width: 1024px){
	.hd_tel{
		letter-spacing: .05em;
	}
}

/* -- 支援申込み -- */
.hd_contact{
	background-color: #ea625c;
}
.hd_contact:hover{
	background-color: #bf504b;
}

.hd_contact .img_bg{
	background: url(../img/cmn/mail.svg) no-repeat center/contain;
}

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

/* -- ハンバーガー -- */
.hmb{
	display: none;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	-webkit-box-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	align-items: center;
	background-color: #59493f;
}

.hmb_bar{
	width: 50%;
	height: 33.4%;
	position: relative;
	transition: .4s;
}
.hmb:hover .hmb_bar{
	transform: translateY(-10%);
}

.hmb_bar span{
	display: inline-block;
	width: 100%;
	height: .1em;
	background-color: #fff;
	position: absolute;
	transition: .4s;
}
.hmb_bar span:nth-of-type(1){
	top: 0;
}
.hmb_bar span:nth-of-type(2){
	top: calc(50% - 1px);
}
.hmb_bar span:nth-of-type(3){
	bottom: 0;
}

.hmb_open .hmb_bar span:nth-of-type(1){
	top: 48%;
	transform: rotate(-45deg);
}
.hmb_open .hmb_bar span:nth-of-type(2){
	opacity: 0;
}
.hmb_open .hmb_bar span:nth-of-type(3){
	bottom: 48%;
	transform: rotate(45deg);
}

@media screen and (max-width: 1024px){
	.hmb{
		display: -webkit-box;
		display: flex;
	}
}


/* ***********************************************************************
	global
************************************************************************ */
body.hmb_open{
	overflow: hidden;
}
#global{
	color: #fff;
	width: 100%;
	height: 100%;
	min-height: 100vh;
	padding: 0 0 5em;
	margin: 0;
	background-color: #59493f;
	overflow-y: auto;
	position: fixed;
	z-index: 90;
	right: -120%;
	transition: all .6s;
}

.hmb_open #global{
	right: 0;
}
#global .nav{
	font-size: clamp(14px, 0.142rem + 3.35vw, 28px);/* 350~768 */
	text-align: center;
	max-width: 750px;
	margin: auto auto 3em;
}
#global .nav li{
	border-bottom: 1px solid #fff;
}

#global .nav li a{
	display: block;
	padding: 1em 0;
}

/************************************************************************
	footer
**************************************************************************/
footer{
	color: #fff;
	background-color: #59493f;
}

/* -- バナー -- */
footer .banner_wrapper{
	padding: 1.66em 0;
	background-color: #fff6d0;
}

footer .banner_wrapper .banner_list_pc{
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
}
footer .banner_wrapper .banner_list_sp{
	display: none;
	flex-wrap: wrap;
}

footer .banner_wrapper .banner{
	width: 15.8%;
	margin-right: 1.04%;
}
footer .banner_wrapper .banner:nth-last-of-type(1){
	margin-right: 0;
}
footer .banner_wrapper .banner a{
	display: block;
}


@media screen and (max-width: 768px){
	footer .banner_wrapper{
		padding: 13.3% 0;
	}
	footer .banner_wrapper .inner_primary{
		width: 84%;
	}

	footer .banner_wrapper .banner_list_pc{
		display: none;
	}
	footer .banner_wrapper .banner_list_sp{
		display: -webkit-box;
		display: flex;
	}

	footer .banner_wrapper .banner{
		width: 48.3%;
		margin-right: 3.4%;
		margin-bottom: 3.4%;
	}
	footer .banner_wrapper .banner:nth-of-type(2n){
		margin-right: 0;
	}

}

/* -- フッター　アドレスなど -- */
.footer .inner_primary{
	padding: min(100px, 8.3%) 0;
}

.footer address{
	margin-right: clamp(50px, -8.026rem + 23.2vw, 150px);/* 769~1200 */
}

.footer h2{
	font-size: clamp(16px, 0.108rem + 1.86vw, 24px);/* 769~1200 */
	margin-bottom: .5em;
}

.footer_nav01{
	-webkit-box-flex:1;
	flex-grow:1;
}

.footer_nav01 .ul01{
	margin-right: 10%;
}

.footer_nav01 li{
	margin-bottom: .5em;
}

.footer_nav02{
	display: none;
}

@media screen and (max-width: 768px){
	.footer .inner_primary{
		padding: 13.3% 0 6.66%;
	}
	.footer address{
		text-align: center;
		margin: auto;
	}

	.footer h2{
		font-size: clamp(22.5px, 0.072rem + 6.1vw, 48px);/* 350~768 */
		margin-bottom: .2em;
	}

	.footer_nav01{
		display: none;
	}

	.footer_nav02{
		display: block;
		font-size: clamp(14px, 0.142rem + 3.35vw, 28px);/* 350~768 */
		text-align: center;
	}
	.footer_nav02 li{
		border-top: 1px solid #fff;
	}
	.footer_nav02 li a{
		display: block;
		padding: 1em 0;
	}

}

/* -- 申し込みボタン -- */
.contact_btn_container_secondary{
	-webkit-box-pack: justify;
	justify-content: space-between;
	width: 96.4%;
	max-width: 1220px;
	padding-bottom: min(80px, 6.7%);
	margin: auto;
	border-radius: 0;
}
.contact_btn_container_secondary .contact_btn_wrapper{
	width: 49.2%;
	border-radius: clamp(15px, 0.38rem + 1.16vw, 20px);
}

.contact_btn_container_secondary .contact_btn_wrapper a{
	padding: 2.5% 2% 3%;
}
.contact_btn_container_secondary .contact_btn_wrapper .text01{
	font-size: 1em;
	letter-spacing: -.03em;
}

.contact_btn_container_secondary .tel_btn .text01::before {
    width: 1em;
    height: 1em;
    background: url(../img/cmn/tel.svg) no-repeat center/contain;
    left: -2em;
    top: calc(50% - 0.415em);
}

@media screen and (max-width: 768px){
	.contact_btn_container_secondary{
		padding-bottom: 13.3%;
	}
	.contact_btn_container_secondary .contact_btn_wrapper{
		border-radius: clamp(10px, 0.102rem + 2.39vw, 20px);
	}
	.contact_btn_container_secondary .contact_btn_wrapper a{
		font-size: clamp(16px, -0.047rem + 4.78vw, 36px);/* 350~768 */
		padding: 8% 2% 7.7%;
	}

	.contact_btn_container_secondary .tel_btn .text01::before {
		top: -.1em;
		left: auto;
	}

	.contact_btn_container_secondary .contact_btn .text01{
		margin: 0;
	}

	.contact_btn_container_secondary .contact_btn_wrapper .text02{
		font-size: .71em;
	}
	.contact_btn_container_secondary .contact_btn .text02{
		margin: auto;
	}
	
	
}

/* -- コピーライト -- */
.copyright{
	background-color: #fff;
	color: #313333;
	text-align: center;
	text-transform: capitalize;
	padding: 1.3em 0;
}
@media screen and (max-width: 768px){
	.copyright{
		font-size: clamp(10px, 0.102rem + 2.39vw, 20px);/* 350~768 */
	}
}

/* ***********************************************************************
	トップへボタン
************************************************************************ */
#to_top_btn{
	transition: .4s;
	opacity: 0;
	visibility: hidden;
	position: fixed;
	bottom: 40px;
	right: 40px;
	z-index: 80;
}
.is_scroll #to_top_btn{
	opacity: 1;
	visibility: visible;
}
.is_scroll #to_top_btn a{
	display: block;
}
.is_scroll #to_top_btn a:hover{
	transform: translateY(-.2em);
}
.is_scroll #to_top_btn a img{
	filter: drop-shadow(0px .1em .2em rgba(0, 0, 0, 0.2));
	transition: .4s;
}
.is_scroll #to_top_btn a:hover img{
	filter: drop-shadow(0px .2em .2em rgba(0, 0, 0, 0.3));
}
@media screen and (max-width: 768px){
	#to_top_btn{
		width: 8vw;
		min-width: 40px;
		bottom: 5.3vw;
		right: 5.3vw;
	}
}
/************************************************************************
	トップページ
**************************************************************************/

@media screen and (max-width: 768px){
	.top .fz18{
		font-size: clamp(13.5px, 0.294rem + 2.51vw, 24px);/* 350~768 */
	}
	
}

/* ----- 私たちは〜〜〜駆け込み寺です。 ----- */
/* -- MV -- */
#top_intro{
	padding-bottom: 2.5%;
}
#top_intro .mv{
	background: url(../img/top/mv.png) no-repeat bottom/cover;
	position: relative;
	margin-bottom: 5%;
}
#top_intro .mv::before{
	content: "";
	display: block;
	padding-top: 46.9%;
}

#top_intro .mv h2{
	text-align: center;
	position: absolute;
	top: 30%;
	left: 50%;
	transform: translateX(-50%);
}

#top_intro .mv h2 .text{
	display: inline-block;
	font-size: clamp(18px, 0.084rem + 2.17vw, 36px);/* 769~1600 */
	white-space: nowrap;
	padding: .1em 1em;
	margin: .15em auto;
	background-color: #fff;
}
#top_intro .mv h2 .text.text03{
	padding: .5em 1em .1em;
}

#top_intro .mv h2 .text .strong{
	color: #ea625c;
	position: relative;
}
#top_intro .mv h2 .text .strong::before{
	content: "";
	display: inline-block;
	width: .167em;
	height: .167em;
	background-color: #ea625c;
	border-radius: .1em;
	position: absolute;
	top: -.3em;
	left: 50%;
	transform: translateX(-50%);
}

@media screen and (max-width: 768px){
	#top_intro{
		padding-bottom: 13.3%;
	}

	#top_intro .mv{
		background: url(../img/top/mv_sp.png) no-repeat bottom/cover;
		margin-bottom: 7%;
	}
	#top_intro .mv::before{
		padding-top: 114.7%;
	}

	#top_intro .mv h2{
		top: 34%;
	}
	#top_intro .mv h2 .text{
		font-size: clamp(17px, 0.068rem + 4.55vw, 36px);/* 350~768 */
	}
}

/* MV人イラスト */
#top_intro .mv .img_bg{
	position: absolute;
}

#top_intro .mv .img01{
	width: 11.5%;
	background: url(../img/top/mv01.png) no-repeat center/contain;
	top: 46.7%;
	left: 17.5%;
}
#top_intro .mv .img01::before{
	padding-top: 137.2%;
}

#top_intro .mv .img02{
	width: 11.5%;
	background: url(../img/top/mv02.png) no-repeat center/contain;
	top: 45.3%;
	left: 67.5%;
}
#top_intro .mv .img02::before{
	padding-top: 137.5%;
}

#top_intro .mv .img03{
	width: 17%;
	background: url(../img/top/mv03.png) no-repeat center/contain;
	top: 71%;
	left: 38.8%;
}
#top_intro .mv .img03::before{
	padding-top: 82.2%;
}

@media screen and (max-width: 768px){
	#top_intro .mv .img01{
		width: 23.2%;
		background: url(../img/top/mv04.png) no-repeat center/contain;
		top: 55.2%;
		left: 74.7%;
	}
	#top_intro .mv .img01::before{
		padding-top: 152.9%;
	}

	#top_intro .mv .img02{
		width: 24.5%;
		top: 13.4%;
		left: 3.7%;
	}

	#top_intro .mv .img03{
		width: 25.9%;
		background: url(../img/top/mv03_sp.png) no-repeat center/contain;
		top: 70.5%;
		left: 36%;
	}
	#top_intro .mv .img03::before{
		padding-top: 104.1%;
	}
}

/* -- MV下 -- */

#top_intro .guidance{
	line-height: 2.2em;
	text-align: center;
	margin-bottom: 2em;
}

.intro_points{
	max-width: 340px;
	margin: auto;
}

.intro_points li{
	text-align: center;
	line-height: 1.2;
	color: #fff;
	width: 30.6%;
	background-color: #59493f;
	border-radius: 50%;
	position: relative;
}
.intro_points li::before{
	content: "";
	display: block;
	padding-top: 100%;
}

.intro_points li .wrap{
	white-space: nowrap;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.intro_points li .small{
	font-size: 16px;
}
.intro_points li .middle{
	font-size: 24px;
}
.intro_points li .big{
	font-size: 28px;
}

@media screen and (max-width: 768px){
	.intro_points{
		max-width: none;
		width: 72%;
		font-size: clamp(12px, 0.122rem + 2.87vw, 24px);/* 350~768 */
	}
	.intro_points li{
		width: 29.4%;
	}
	.intro_points li .small{
		font-size: 1em;
	}
	.intro_points li .middle{
		font-size: 1.5em;
	}
	.intro_points li .big{
		font-size: 1.75em;
	}
}

/* ----- こんなお悩みはありませんか？ ----- */
/* -- タイトル -- */
.top .sec_title{
	font-family: '03smartfontUI', sans-serif;
	font-size: clamp(20px, -0.534rem + 3.71vw, 36px);/* 769~1200 */
	margin: auto auto 1em;
	text-align: center;
	width: fit-content;
	white-space: nowrap;
	position: relative;
}

@media screen and (max-width: 768px){
	.top .sec_title{
		font-size: clamp(18px, -0.026rem + 5.26vw, 40px);/* 350~768 */
		margin: auto auto 1.5em;
	}
}

/* -- セクション本体・タイトル装飾 -- */
#top_problem{
	background: url(../img/top/problem_bg.png) no-repeat bottom/cover;
}

#top_problem .inner_primary{
	padding: 6.9% 3.8% 8.8%;
}

#top_problem .sec_title::before{
	content: "";
	display: inline-block;
	width: 2em;
	height: 1.72em;
	background: url(../img/top/problem_title01.png) no-repeat center/contain;
	position: absolute;
	left: -2.5em;
	top: -.5em;
}
#top_problem .sec_title::after{
	content: "";
	display: inline-block;
	width: 9.5em;
	height: 3.75em;
	background: url(../img/top/problem_title02.png) no-repeat center/contain;
	position: absolute;
	right: -9em;
	top: -1.5em;
}


@media screen and (max-width: 768px){
	#top_problem{
		background: url(../img/top/problem_bg_sp.png) no-repeat bottom/cover;
	}
	
	#top_problem .inner_primary{
		padding: 10% 0 19%;
	}

	#top_problem .sec_title::before{
		width: 2.5em;
		height: 3em;
		background: url(../img/top/problem_title01sp.png) no-repeat center/contain;
		left: -3.8em;
		top: 0;
	}
	#top_problem .sec_title::after{
		width: 4.32em;
		height: 3.3em;
		background: url(../img/top/problem_title02sp.png) no-repeat center/contain;
		right: -5.2em;
		top: .4em;
	}
	
}

/* -- リスト -- */

.problem_container{
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	justify-content: space-between;
}

.problem_container li{
	width: 31.7%;
	margin-bottom: 2.45%;
	position: relative;
}
.problem_container li::before{
	content: "";
	display: block;
	padding-top: 77.1%;
}
.problem01{
	background: url(../img/top/problem01.png) no-repeat bottom/contain;
}
.problem02{
	background: url(../img/top/problem02.png) no-repeat bottom/contain;
}
.problem03{
	background: url(../img/top/problem03.png) no-repeat bottom/contain;
}
.problem04{
	background: url(../img/top/problem04.png) no-repeat bottom/contain;
}
.problem05{
	background: url(../img/top/problem05.png) no-repeat bottom/contain;
}
.problem06{
	background: url(../img/top/problem06.png) no-repeat bottom/contain;
}

.problem_container li p{
	font-size: clamp(14px, 0.206rem + 1.39vw, 20px);/* 769~1200 */
	text-align: center;
	white-space: nowrap;
	position: absolute;
	top: 8%;
	left: 50%;
	transform: translateX(-50%);
}

@media screen and (max-width: 768px){
	.problem_container li{
		width: 49%;
		margin-bottom: 2%;
	}
	.problem_container li::before{
		padding-top: 88.5%;
	}

	.problem_container li.shorten{
		letter-spacing: -.02em;
	}

	.problem01{
		background: url(../img/top/problem01sp.png) no-repeat bottom/contain;
	}
	.problem02{
		background: url(../img/top/problem02sp.png) no-repeat bottom/contain;
	}
	.problem03{
		background: url(../img/top/problem03sp.png) no-repeat bottom/contain;
	}
	.problem04{
		background: url(../img/top/problem04sp.png) no-repeat bottom/contain;
	}
	.problem05{
		background: url(../img/top/problem05sp.png) no-repeat bottom/contain;
	}
	.problem06{
		background: url(../img/top/problem06sp.png) no-repeat bottom/contain;
	}

	.problem_container li p{
		font-size: clamp(11.5px, 0.065rem + 2.99vw, 24px);/* 350~769 */
		top: 8%;
		left: 50%;
		transform: translateX(-50%);
	}
}

/* ----- このような時はぜひ当協議会にご相談ください！ ----- */
/* -- セクション本体・タイトル装飾 -- */

#contact_btn{
	padding: 4% 0 13%;
	background: url(../img/top/contact_bg.png) no-repeat bottom -1% center/contain;
	border-bottom: .2vw solid #59493f;
}

#contact_btn .sec_title{
	margin: auto auto .1em;
}
#contact_btn .sec_title::before{
	content: "";
	display: inline-block;
	width: 2.16em;
	height: 4.69em;
	background: url(../img/top/contact_title01.png) no-repeat center/contain;
	position: absolute;
	left: -3em;
	top: -1.5em;
}

#contact_btn .sec_title::after{
	content: "";
	display: inline-block;
	width: 3.22em;
	height: 3.22em;
	background: url(../img/top/contact_title02.png) no-repeat center/contain;
	position: absolute;
	right: -3.9em;
	top: -.5em;
}

#contact_btn .attention{
	font-size: clamp(13.5px, 0.565rem + 0.58vw, 16px);/* 769~1200 */
	text-align: center;
	margin-bottom: 3em;
}

@media screen and (max-width: 768px){
	#contact_btn{
		padding: 13% 0 27%;
		background: url(../img/top/contact_bg_sp.png) no-repeat bottom/contain;
		border-bottom: .4vw solid #59493f;
	}

	#contact_btn .sec_title{
		margin: auto auto .4em;
	}

	#contact_btn .sec_title::before{
		width: 2em;
		height: 4.2em;
		left: -2.5em;
		top: -1.2em;
	}

	#contact_btn .sec_title::after{
		width: 2.9em;
		height: 2.9em;
		right: -2em;
		top: -1.5em;
	}

	#contact_btn .attention{
		font-size: clamp(12px, 0.227rem + 2.39vw, 22px);/* 350~768 */
	}
}

/* -- 問い合わせボタン -- */
.contact_btn_container{
	display: -webkit-box;
	display: flex;
}

.contact_btn_wrapper{
	width: 50%;
	transition: .4s;
}
.contact_btn_wrapper a{
	display: -webkit-box;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	-webkit-box-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	align-items: center;
	font-size: clamp(22px, -0.186rem + 3.25vw, 36px);/* 769~1200 */
	color: #fff;
	text-align: center;
	height: 100%;
	padding: 6% 2%;
}
.contact_btn_wrapper a:hover{
	opacity: 1;
	transform: scale(.98);
}

.tel_btn{
	background-color: #00a493;
	border-radius: clamp(15px, 0.38rem + 1.16vw, 20px) 0 0 clamp(15px, 0.38rem + 1.16vw, 20px);
}
.tel_btn:hover{
	background-color: #00796d;
}
.contact_btn{
	background-color: #ea625c;
	border-radius: 0 clamp(15px, 0.38rem + 1.16vw, 20px) clamp(15px, 0.38rem + 1.16vw, 20px) 0;
}
.contact_btn:hover{
	background-color: #bf504b;
}

.contact_btn_wrapper h3{
	font-size: .556em;
	width: 66.7%;
	padding: .5em;
	border: 1px solid #fff;
	border-radius: 50px;
	margin: 0 auto .5em;
}

.contact_btn_wrapper .text01{
	width: fit-content;
	margin: auto;
	position: relative;
}
.tel_btn .text01{
	font-size: 1.33em;
}
.contact_btn_wrapper .text01::before{
	content: "";
	display: block;
	position: absolute;
}
.tel_btn .text01::before{
	width: .83em;
	height: .83em;
	background: url(../img/cmn/tel.svg) no-repeat center/contain;
	left: -1em;
	top: calc(50% - .415em);
}
.contact_btn .text01::before{
	width: 1.11em;
	height: .95em;
	background: url(../img/cmn/mail.svg) no-repeat center/contain;
	left: -1.3em;
	top: calc(50% - .45em);
}

.contact_btn_wrapper .text02{
	font-size: .45em;
	margin-bottom: 0;
}

@media screen and (max-width: 768px){
	.contact_btn_wrapper a{
		font-size: clamp(17px, -0.036rem + 5.02vw, 38px);/* 350~768 */
		padding: 14% 0;
	}

	.contact_btn_wrapper h3{
		font-size: .63em;
		letter-spacing: -.01em;
		width: 85%;
		padding: .3em;
		margin: 0 auto 1.2em;
	}

	.tel_btn .text01{
		font-size: 1em;
	}
	.contact_btn .text01{
		font-size: 1em;
		letter-spacing: -.1em;
		white-space: nowrap;
		margin: 0 auto;
	}

	.contact_btn_wrapper .text01::before{
		position: relative;
		top: auto;
		left: auto;
		margin: auto auto .2em;
		transform: none;
	}
	.tel_btn .text01::before{
		width: 1em;
		height: 1em;
	}
	.contact_btn .text01::before{
		width: 1.1em;
	}

	.contact_btn_wrapper .text02{
		font-size: .63em;
		margin-bottom: auto;
	}

	.tel_btn{
		border-radius: clamp(10px, 0.102rem + 2.39vw, 20px) 0 0 clamp(10px, 0.102rem + 2.39vw, 20px);
	}
	.contact_btn{
		border-radius: 0 clamp(10px, 0.102rem + 2.39vw, 20px) clamp(10px, 0.102rem + 2.39vw, 20px) 0;
	}
}

/* ----- 支援サービス ----- */

#top_service{
	padding: min(100px, 6.3%) 0 min(130px, 8.1%);
	background: url(../img/top/service_bg.png) no-repeat center/cover;
}

#top_service h2{
	font-family: '03smartfontUI', sans-serif;
	white-space: nowrap;
	margin-bottom: .5em;
}

#top_service .guidance{
	margin-bottom: 3em;
}

@media screen and (max-width: 768px){
	#top_service{
		padding: 12% 0 52%;
		background: url(../img/top/service_bg_sp.png) no-repeat center/cover;
	}
	#top_service .inner_primary{
		width: 92%;
	}

	#top_service .guidance{
		margin-bottom: 3em;
	}
}
/* -- フェーズ 最大枠　-- */
.top_phase{
	display: -webkit-box;
	display: flex;
	position: relative;
	z-index: 1;
}

.top_phase::after{
	content: "";
	display: block;
	width: min(366px, 29.3vw);
	height: min(326px, 26.1vw);
	background: url(../img/service/phase_img.png) no-repeat center/contain;
	position: absolute;
	bottom: 4%;
	right: 11%;
	z-index: 1;
}

@media screen and (max-width: 768px){
	.top_phase{
		display: block;
	}

	.top_phase::after{
		width: 52vw;
		height: 41.2vw;
		background: url(../img/service/phase_img.png) no-repeat center/contain;
		position: absolute;
		bottom: -54vw;
		right: 25%;
	}
}

/* -- フェーズ 大枠　-- */

@media screen and (max-width: 768px){
	.phase_container{
		margin-bottom: 18%;
	}
}
/* -- フェーズ　カテゴリタイトル -- */

.phase_container h3{
	font-family: '03smartfontUI', sans-serif;
	text-align: center;
	color: #fff;
	line-height: 1;
	width: min(520px, 41.6vw);
	padding: 1.1em 0 .2em;
	margin: 0 min(20px, 1.6vw) 0 auto;
	background-color: #4e89c3;
	border-radius: clamp(15px, 0.38rem + 1.16vw, 20px) clamp(15px, 0.38rem + 1.16vw, 20px) 0 0;
}
.phase_container.expert h3{
	background-color: #ee883c;
}

.phase_container h3 .sub{
	font-size: .6em;
}

@media screen and (max-width: 768px){
	.phase_container h3{
		width: 69.3vw;
		padding: .8em 0 0;
		margin: 0 auto 0 16.2vw;
		background-color: #4e89c3;
		border-radius: clamp(10px, 0.102rem + 2.39vw, 20px) clamp(10px, 0.102rem + 2.39vw, 20px) 0 0;
	}

	.phase_container h3 .sub{
		font-size: .66em;
	}
}
/* -- フェーズ　小枠　-- */

.phase_wrapper{
	display: -webkit-box;
	display: flex;
	position: relative;
	z-index: 1;
}



/* -- フェーズ　数字付きタイトル　-- */
.phase_num{
	display: -webkit-box;
	display: flex;
	font-family: '03smartfontUI', sans-serif;
	writing-mode: vertical-rl;
	color: #fff;
	width: min(100px, 7vw);
	margin-right: min(20px, 1.6vw);
	margin-top: 5px;
	margin-bottom: 5px;
	background-color: #00a493;
	position: relative;
}
.phase2 .phase_num, .phase5 .phase_num{
	background-color: #54bdb3;
}
.phase3 .phase_num{
	background-color: #8bd8d1;
}

.phase_num p{
	margin: 1.3em auto auto;
	position: relative;
}
.expert .phase_num{
	display: none;
}

.phase_num::after{
	content: "";
	display: inline-block;
	width: min(1200px, 95vw);
	height: 100%;
	background-color: #9dd4cf;
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
}
.phase2 .phase_num::after, .phase5 .phase_num::after{
	background-color: #8bd8d1;
}
.phase3 .phase_num::after{
	background-color: #d4f1f1;
}

.phase_num p::before{
	content: "";
	display: inline-block;
	width: 2em;
	height: 2em;
	margin-bottom: .8em;
	background: url(../img/service/phase_num01.png) no-repeat center/contain;
}
.phase2 .phase_num p::before, .phase5 .phase_num p::before{
	background: url(../img/service/phase_num02.png) no-repeat center/contain;
}
.phase3 .phase_num p::before{
	background: url(../img/service/phase_num03.png) no-repeat center/contain;
}

@media screen and (max-width: 768px){
	.phase_num{
		width: 13.3vw;
		margin-right: 0;
		margin-top: .8vw;
		margin-bottom: .8vw;
	}
	.phase_num::after{
		width: 90vw;
	}

	.expert .phase_num{
		display: -webkit-box;
		display: flex;
	}
}

/* -- フェーズの中身（白背景） -- */

.phase_content_wrapper{
	width: min(520px, 41.6vw);
	padding: min(20px, 1.6vw) min(10px, .8vw);
	margin-right: min(20px, 1.6vw);
	background-color: #4e89c3;
	position: relative;
}
.expert .phase_content_wrapper{
	background-color: #ee883c;
}

.phase_content_wrapper.last{
	border-radius: 0 0 clamp(15px, 0.38rem + 1.16vw, 20px) clamp(15px, 0.38rem + 1.16vw, 20px);
}

.phase_content_wrapper.last::after{
	content: "";
	display: block;
	width: 100%;
	height: min(60px, 4.5vw);
	background-color: #4e89c3;
	border-radius: 0 0 clamp(15px, 0.38rem + 1.16vw, 20px) clamp(15px, 0.38rem + 1.16vw, 20px);
	position: absolute;
	left: 0;
	bottom: max(-40px, -2vw);
	z-index: -1;
}

.expert .phase_content_wrapper.last::after{
	background-color: #ee883c;
	height: 20px;
	bottom: -4px;
}

.phase_content{
	display: -webkit-box;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	padding: 6% 4%;
	background-color: #fff;
	border-radius: clamp(15px, 0.38rem + 1.16vw, 20px);
}

#top_service .phase_content{
	height: clamp(323px, 5.743rem + 28.89vw, 453px);/* 800~1250 */
}
@media screen and (max-width: 799px){
	#top_service .phase_content{
		height: 340px;/* 769~799 */
	}
}

@media screen and (max-width: 768px){
	.phase_content_wrapper{
		width: 69.3vw;
		padding: 2.6vw 1.6vw;
		margin-left: 2.9vw;
		margin-right: auto;
	}

	.phase_content_wrapper.last::after{
		height: 9vw;
		bottom: -3vw;
		border-radius: 0 0 clamp(10px, 0.102rem + 2.39vw, 20px) clamp(10px, 0.102rem + 2.39vw, 20px);
	}
	.expert .phase_content_wrapper.last::after{
		height: 9vw;
		bottom: -4.2vw;
		border-radius: 0 0 clamp(10px, 0.102rem + 2.39vw, 20px) clamp(10px, 0.102rem + 2.39vw, 20px);
	}

	.phase_content{
		border-radius: clamp(10px, 0.102rem + 2.39vw, 20px);/* 350~768 */
	}
	#top_service .phase_content{
		height: auto;
	}
}


/* アイコン */
.phase_content .img_bg{
	width: 19.2%;
	margin: 0 auto 5%;
	background: url(../img/service/phase01.svg) no-repeat center/contain;
}
.phase_content .img_bg::before{
	padding-top: 100%;
}

.phase2 .phase_content .img_bg{
	width: 16.4%;
	background: url(../img/service/phase02.svg) no-repeat center/contain;
}
.phase2 .phase_content .img_bg::before{
	padding-top: 126.8%;
}
.phase3 .phase_content .img_bg{
	width: 20.6%;
	background: url(../img/service/phase03.svg) no-repeat center/contain;
}
.phase3 .phase_content .img_bg::before{
	padding-top: 90.3%;
}
.phase4 .phase_content .img_bg{
	width: 22.2%;
	background: url(../img/service/phase04.svg) no-repeat center/contain;
}
.phase4 .phase_content .img_bg::before{
	padding-top: 83.8%;
}
.phase5 .phase_content .img_bg{
	width: 21.4%;
	background: url(../img/service/phase05.svg) no-repeat center/contain;
}
.phase5 .phase_content .img_bg::before{
	padding-top: 81.3%;
}

/* テキスト部分 */
.phase_content h4{
	font-family: '03smartfontUI', sans-serif;
	text-align: center;
	line-height: 1.3;
	margin-bottom: .5em;
}

.phase_content h4 .sub{
	font-size: .7em;
}

.phase_content .text{
	margin: auto auto 1em;
}

.phase_content .btn_primary{
	width: 90.5%;
	margin-bottom: 0;
}

@media screen and (max-width: 768px){
	.phase_content h4{
		margin-bottom: 1.3em;
		letter-spacing: 0;
	}
	.phase3 .phase_content h4, .phase4 .phase_content h4, .phase5 .phase_content h4{
		margin-bottom: .5em;
	}
	.phase_content .text{
		font-size: clamp(13px, 0.237rem + 2.63vw, 24px);/* 350~768 */
		margin-bottom: 1em;
	}
	.phase_content .btn_primary a{
		font-size: .8em;
	}
}

/* ----- お知らせ ----- */
/* -- リンク2つ -- */
#top_news{
	padding: min(100px, 6.3%) 0 min(130px, 8.1%);
}

#top_news .link_wrapper{
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
}

#top_news .link_wrapper .link{
	width: 49%;
	position: relative;
}
#top_news .link_wrapper .link::before{
	content: "";
	display: block;
	padding-top: 43.8%;
	background: url(../img/top/to_about.png) no-repeat center/contain;
}
#top_news .link_wrapper .link.to_access::before{
	background: url(../img/top/to_access.png) no-repeat center/contain;
}

#top_news .link_wrapper .link .btn_primary{
	min-width: 22.22em;
	width: 64%;
	position: absolute;
	bottom: 0;
	right: 2em;
	transform: translateY(50%);
}
#top_news .link_wrapper .link .btn_primary a{
	background-color: #527fc9;
}
#top_news .link_wrapper .link.to_access .btn_primary a{
	background-color: #80c269;
}
#top_news .link_wrapper .link .btn_primary:hover a{
	background-color: #466eae;
}
#top_news .link_wrapper .link.to_access .btn_primary:hover a{
	background-color: #71ab5c;
}

#top_news .link_wrapper .link .btn_primary a::after{
	right: 1em;
}

#top_news .link_wrapper .link .btn_primary:hover a::after{
	right: 1.2em;
}

@media screen and (max-width: 1024px){
	#top_news .link_wrapper .link .btn_primary a{
		letter-spacing: -.05em;
	}
}

@media screen and (max-width: 768px){
	#top_news{
		padding: 20% 0;
	}

	#top_news .link_wrapper{
		display: block;
	}

	#top_news .link_wrapper .link{
		width: 100%;
		margin-bottom: 15%;
	}

	#top_news .link_wrapper .link .btn_primary{
		width: max(18em , 68%);
		min-width: 0;
	}
	#top_news .link_wrapper .link .btn_primary a{
		padding: .5em .8em;
	}
}

/* -- お知らせ一覧 -- */

#top_news .news_wrapper{
	padding: 8% 4.2% 0;
}

#top_news .news_wrapper .title_wrapper{
	padding-bottom: .5em;
}
#top_news .news_wrapper .title_wrapper h2{
	width: fit-content;
	padding-left: .2em;
	margin: 0;
}

#top_news .news_wrapper .title_wrapper .go_list{
	padding-right: .3em;
}
#top_news .news_wrapper .title_wrapper .go_list a{
	font-weight: 700;
	position: relative;
}
#top_news .news_wrapper .title_wrapper .go_list a::after{
	content: "\03e";
	display: inline-block;
	font-size: .7em;
	font-weight: 700;
	vertical-align: text-top;
	-webkit-text-stroke: .5px #313333;
	text-stroke: .5px #313333;
	margin-left: .5em;
}

.news_wrapper ul li{
	border-top: 1px solid #262626;
	padding: 1em 1.5em 1em 1em;
}
.news_wrapper ul li:nth-last-of-type(1){
	border-bottom: 1px solid #313333;
}

.news_wrapper ul li a{
	display: block;
	position: relative;
}
.news_wrapper ul li a::after{
	content: "";
	display: inline-block;
	width: .5em;
	height: .9em;
	background: url(../img/cmn/arrow01b.svg) no-repeat center/cover;
	position: absolute;
	right: -.6em;
	top: calc(50% - .45em);
}


.news_wrapper ul li .date{
	display: inline-block;
	width: 7em;
}

.news_wrapper ul li .text{
	display: inline-block;
	text-decoration: underline;
}
.news_wrapper ul li a:hover .text{
	text-decoration: none;
}

@media screen and (max-width: 768px){
	#top_news .news_wrapper{
		padding: 8% 2% 0;
	}
	#top_news .news_wrapper .title_wrapper .go_list a::after{
		font-size: 1em;
		vertical-align: baseline;
		-webkit-text-stroke: 0;
		text-stroke: 0;
	}
	.news_wrapper ul li .date{
		display: block;
	}
}

/************************************************************************
	下層ページ共通
**************************************************************************/
/* ページタイトル */
.lower_title{
	display: -webkit-box;
	display: flex;
	background: url(../img/cmn/lower_title.png) no-repeat center/cover;
	position: relative;
}
.lower_title::before{
	content: "";
	display: block;
	padding-top: min(280px, 23.3%);/* 280px/1200px */
}

.lower_title h1{
	line-height: 1.4;
	margin: auto;
}

.lower_title h1 span{
	display: inline-block;
}

.lower_title h1 .sub{
	font-size: .45em;
}

.title_secondary{
	font-weight: 700;
	padding: .5em 1em .5em 2.2em;
	border-bottom: 1px solid #caddaa;
	position: relative;
}
.title_secondary::before{
	content: "";
	display: inline-block;
	width: 1.16em;
	height: 1.16em;
	background: url(../img/cmn/secondary_deco.png) no-repeat center/contain;
	position: absolute;
	left: .8em;
	top: .75em;
}
.title_secondary.blue{
	border-bottom: 1px solid #4e89c3;
}
.title_secondary.blue::before{
	background: url(../img/cmn/secondary_deco_b.png) no-repeat center/contain;
}
.title_secondary.orange{
	border-bottom: 1px solid #ee883c;
}
.title_secondary.orange::before{
	background: url(../img/cmn/secondary_deco_o.png) no-repeat center/contain;
}
@media screen and (max-width: 768px){

	.lower_title{
		padding: 3em 0;
		background: url(../img/cmn/lower_title_sp.png) no-repeat center/cover;
	}
	.lower_title::before{
		padding-top: 38.7%;
	}
}
/* パンくずリスト */
.breadcrumbs ul{
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	padding: 1.75em 1.2em;
}
.breadcrumbs li:nth-last-of-type(1){
	text-decoration: underline;
}
.breadcrumbs li::before{
	content: "\03e";
	display: inline-block;
	font-weight: 700;
	color: #ea625c;
	padding: 0 1.2em;
}
.breadcrumbs li:nth-of-type(1)::before{
	display: none;
}
.breadcrumbs li a{
	text-decoration: underline;
}
.breadcrumbs li a:hover{
	text-decoration: none;
}

/* セクションタイトル */
.lower_sec_title{
	text-align: center;
	margin-bottom: 1.5em;
	position: relative;
}
.lower_sec_title::after{
	content: "";
	display: block;
	width: 3.2em;
	height: .1em;
	background-color: #313333;
	position: relative;
	left: calc(50% - 1.6em);
	bottom: -.2em;
}

/************************************************************************
	お知らせ
**************************************************************************/

/* ---- お知らせ記事詳細 ---- */
.article_title_wrapper{
	padding: 0 1em 1.5em;
}

.letter_body{
	padding: 2em 1em 4em;
	border-top: 1px solid #262626;
	border-bottom: 1px solid #262626;
}

.letter_body img{
	width: auto;
}

/* -- 記事一覧　ページャー -- */

.wp-pagenavi a, .wp-pagenavi span, .wp-pagenavi span.current{/* pagevnaviのcss打ち消し */
    border: none !important;
	font-weight: 500 !important;
}

.pager{
	padding: 2.5em 1em 0;
}
.wp-pagenavi{
	text-align: center;
}

/* 数字 */

#news .pager a, #news .pager .current, #news .pager .extend{
	margin: auto 1.1em;
	position: relative;
	z-index: 1;
} 
#news .pager .page::before, #news .pager .current::before{
	content: "";
	display: block;
	width: 2.5em;
	height: 2.5em;
	position: absolute;
	top: calc(50% - 1.25em);
	left: calc(50% - 1.25em);
	border-radius: 2.5em;
	z-index: -1;
} 

#news .pager a:hover{
	opacity: 1;
}
#news .pager .page::before{
	background-color: #fff;
	transition: .4s;
}
#news .pager .page:hover::before{
	background-color: #ddd;
}

#news .pager .current{
	color: #fff;
}
#news .pager .current::before{
	background-color: #000;
}



/* 前後 */
.wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink{
	vertical-align: bottom;
	position: relative;
	text-indent: -999999999999px;
	z-index: 1;
}

.wp-pagenavi .previouspostslink::before, .wp-pagenavi .nextpostslink::before{
	content: "";
	display: inline-block;
	width: .5em;
	height: 1em;
	background: url(../img/cmn/arrow01b.svg) no-repeat center/contain;
	position: absolute;
	top: calc(50% - .5em);
	left: calc(50% - .25em);
	z-index: 2;
}
.wp-pagenavi .previouspostslink::before{
	background: url(../img/cmn/arrow03b.svg) no-repeat center/contain;
}
.wp-pagenavi .previouspostslink::after, .wp-pagenavi .nextpostslink::after{
	content: "";
	display: block;
	width: 2.5em;
	height: 2.5em;
	position: absolute;
	top: calc(50% - 1.25em);
	left: calc(50% - 1.25em);
	border: 1px solid #000;
	border-radius: 2.5em;
	background-color: #fff;
	z-index: 1;
	transition: .4s;
}
.wp-pagenavi .previouspostslink:hover::after, .wp-pagenavi .nextpostslink:hover::after{
	background-color: #ddd;
	border: 1px solid #ddd;
}


/* -- 記事詳細　ページャー -- */
.single_pager{
	padding: 1.25em 1em;
}

.article_nav .prev a, .article_nav .next a{
	position: relative;
	min-width: 6em;
}
.article_nav .prev a::before{
	content: "";
	display: inline-block;
	vertical-align: text-bottom;
	width: 1em;
	height: 1em;
	margin-right: .5em;
	background: url(../img/cmn/arrow01b.svg) no-repeat center/contain;
	transform: scale(-1, 1);
}
.article_nav .next a::after{
	content: "";
	display: inline-block;
	vertical-align: text-bottom;
	width: 1em;
	height: 1em;
	margin-left: .5em;
	background: url(../img/cmn/arrow01b.svg) no-repeat center/contain;
}

.article_nav .to_list{
	display: inline-block;
	padding: .2em 2em;
	border: 1px solid #232323;
}

@media screen and (max-width: 768px){
	.single_pager{
		padding: 2em 1em;
	}
}
@media screen and (max-width: 480px){
	.article_nav .to_list{
		display: inline-block;
		padding: .2em 1em;
		border: 1px solid #232323;
	}
}

/************************************************************************
	奈良県中小企業活性化協議会とは
**************************************************************************/
#about .guidance{
	line-height: 2.2;
	text-align: center;
	margin-bottom: 2em;
}
/* ---- 冒頭 ---- */
#about .intro{
	background: url(../img/about/intro_bg.png) no-repeat bottom/contain;
}
#about .intro .inner_primary{
	position: relative;
}
#about .intro .guidance{
	padding: 0 20%;
}

#about .intro .inner_primary::before{
	content: "";
	display: block;
	width: 20.8%;
	padding-top: 15%;
	background: url(../img/about/intro_before.png) no-repeat center/contain;
	position: absolute;
	top: 20%;
}
#about .intro  .inner_primary::after{
	content: "";
	display: block;
	width: 12.5%;
	padding-top: 16%;
	background: url(../img/about/intro_after.png) no-repeat center/contain;
	position: absolute;
	right: 5%;
	bottom: 30%;
}
@media screen and (max-width: 768px){

	#about .intro .guidance{
		text-align: center;
		padding: 0 10%;
		margin-bottom: 2em;
	}

	#about .intro .inner_primary::before{
		width: 25%;
		padding-top: 18%;
		top: 5%;
	}
	#about .intro  .inner_primary::after{
		width: 16%;
		padding-top: 20%;
		background: url(../img/about/intro_after.png) no-repeat center/contain;
		bottom: auto;
		top: 8%;
	}
}

/* ---- 支援内容 ---- */

#about .detail{
	background-color: #fff6d0;
}

#about .detail .guidance{
	margin-bottom: 4.5em;
}

/* -- 支援内容枠内 -- */
.support_detail_outer{
	padding: 1.7%;
	margin-bottom: 5%;
	background-color: #4e89c3;
	overflow: hidden;
	position: relative;
}
.support_detail_outer::before{
	 content: "";
	 display: block;
	 width: 20.8%;
	 padding-top: 20.8%;
	 background: url(../img/about/support_detail_before01.png) no-repeat center/contain;
	 position: absolute;
	 left: -5%;
	 top: -9%;
}
.support_detail_outer.expert::before{
	 background: url(../img/about/support_detail_before02.png) no-repeat center/contain;
}

.support_detail_container{
	background-color: #fff;
	padding: 2.8em 0;
}


.support_detail_container h3{
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	margin-bottom: 1.7em;
}
.support_detail_container h3 .sub{
	font-size: .722em;
	color: #4e89c3;
}

.support_detail_wrapper{
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	justify-content: center;
}

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

	.support_detail_outer::before{
		width: 28%;
		padding-top: 28%;
		left: -6.5%;
		top: -2%;
   }

	.support_detail_wrapper{
		display: block;
	}
}

/* リスト部分 */
.support_detail{
	display: -webkit-box;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	width: 29.4%;
	margin-right: 2.95%;
}
.support_detail01 {
	margin-left: 2.95%;
}

.support_detail .img_bg{
	background: url(../img/about/support_detail01.png) no-repeat center/contain;
	margin-bottom: .8em;
}
.support_detail02 .img_bg{
	background: url(../img/about/support_detail02.png) no-repeat center/contain;
}
.support_detail03 .img_bg{
	background: url(../img/about/support_detail03.png) no-repeat center/contain;
}
.support_detail .img_bg::before{
	padding-top: 64.7%;
}

.support_detail h4{
	font-weight: 700;
	text-align: center;
	margin-bottom: 1em;
}

.support_detail ul{
	padding: 0 .4em;
	margin-bottom: 2em;
}
.support_detail li{
	margin-bottom: .5em;
}

.support_detail .btn_primary{
	width: 86%;
	margin-bottom: 0;
}


@media screen and (max-width: 768px){
	.support_detail{
		display: block;
		width: 90%;
		max-width: 500px;
		margin: auto auto 10%;
	}
	.support_detail03{
		margin-bottom: 0;
	}
}

/* -- 民間専門家活用支援 -- */
.support_detail_outer.expert{
	margin-bottom: 0;
	background-color: #ee883c;
}
.expert .support_detail_container h3 .sub{
	color: #ee883c;
}

.expert .support_detail{
	width: 34.8%;
	margin-right: 2.95%;
}

.support_detail04 .img_bg{
	background: url(../img/about/support_detail04.png) no-repeat center/contain;
}
.support_detail05 .img_bg{
	background: url(../img/about/support_detail05.png) no-repeat center/contain;
}


@media screen and (max-width: 768px){
	.expert .support_detail{
		width: 90%;
		margin: auto auto 10%;
	}
	.expert .support_detail05{
		margin-bottom: 0;
	}
}

/* ---- 支援対象者 ---- */
#about .support_target{
	margin-top: max(-80px, -5%);
	padding-top: min(230px, 14.4%);
	background: url(../img/about/detail_bg.png) no-repeat top/contain;
}
#about .support_target ul{
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	justify-content: space-between;
}

#about .support_target li{
	width: 31.6%;
}

#about .support_target li .img_bg::before{
	padding-top: 74.1%;
}
#about .support_target li .img_bg{
	margin-bottom: 1.5em;
	background: url(../img/about/support_target01.png) no-repeat center/contain;
}
#about .support_target .target02 .img_bg{
	background: url(../img/about/support_target02.png) no-repeat center/contain;
}
#about .support_target .target03 .img_bg{
	background: url(../img/about/support_target03.png) no-repeat center/contain;
}

@media screen and (max-width: 768px){
	#about .support_target{
		margin-top: -3%;
		padding-top: 26.7%;
	}

	#about .support_target ul{
		display: block;
	}
	#about .support_target li{
		width: 94%;
		max-width: 590px;
		margin: auto auto 10%;
	}
	#about .support_target li .img_bg{
		width: 80%;
		margin: auto auto 1.5em;
	}
}

/* ---- 支援体制 ---- */

#about .system_list{
	width: calc(100% - .5em);
	padding: 2em 1em 1.5em;
	margin-bottom: 2em;
	background-color: #f9faf4;
	border: 2px solid #59493f;
	box-shadow: .4em .4em 0px 0px #f8d595;
}

#about .system_list li{
	font-weight: 700;
	text-align: center;
	margin-bottom: .5em;
}
#about .system_list li:nth-last-of-type(1){
	margin-bottom: 0;
}

#about .support_system .guidance{
	text-align: left;
}

/* ---- アクセスマップ ---- */
#map{
	background: #f9faf4 url(../img/about/outro_bg.png) no-repeat bottom/contain;
}

#map .map_container{
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	padding: 1.875em;
	background-color: #fff;
	box-shadow: 0.4em 0.4em 0px 0px #caddaa;
}
@media screen and (max-width: 768px){
	#map .map_container{
		display: block;
	}
}

/* -- アドレス -- */
#map .map_container .address_wrapper{
	margin: 5.5% auto auto;
}
#map .map_container address{
	margin-bottom: 1.5em;
}
#map .map_container address h3{
	font-weight: 700;
	margin-bottom: .8em;
}
#map .map_container address li{
	margin-bottom: .2em;
}

#map .map_container .attention_list{
	line-height: 2.2;
}
#map .map_container .attention_list .green{
	color: #00a493;
	text-decoration: underline;
}
#map .map_container .attention_list .pink{
	color: #ea625c;
	text-decoration: underline;
}
#map .map_container .attention_list .green:hover, #map .map_container .attention_list .pink:hover{
	text-decoration: none;
}

@media screen and (max-width: 768px){
	#map .map_container .address_wrapper{
		margin: 0 auto 2em;
	}
}

/* -- マップ -- */
#map{
	scroll-margin-top: 6.5em;
}
#map .map{
	width: 54.2%;
	position: relative;
	overflow: hidden;
}
#map .map::before{
	content: "";
	display: block;
	padding-top: 76.9%;
}
#map .map iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
}

@media screen and (max-width: 768px){
	#map .map{
		width: 100%;
	}
}

/* ---- アウトロ ---- */

#about .outro{
	background-color: #caddaa;
}

#about .outro .text_wrapper{
	width: 95%;
	max-width: 1160px;
	padding: 2em 1.5em;
	margin: auto;
	background-color: #fff;
	overflow: hidden;
}

#about .outro .title_secondary{
	font-weight: 500;
	padding: 0 0 .5em 1.6em;
	border-bottom: none;
}
#about .outro .title_secondary::before{
	left: 0;
	top: .25em;
}
#about .outro .title_secondary::after{
	content: "";
	display: block;
	width: calc(100% + 4em);
	height: 1px;
	background-color: #caddaa;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

#about .outro .text{
	line-height: 2;
	padding-top: 1.3em;
	margin-bottom: 1.5em;
}

#about .outro .attention_wrapper{
	padding: 1.5em 2em;
	background-color: #f9faf4;
}

#about .outro .attention_wrapper dt{
	font-weight: 700;
	margin-bottom: .5em;
}
#about .outro .attention_wrapper dd li{
	padding-left: .5em;
	margin-bottom: .4em;
	position: relative;
}
#about .outro .attention_wrapper dd li:nth-last-of-type(1){
	margin-bottom: 0;
}
#about .outro .attention_wrapper dd li::before{
	content: "・";
	position: absolute;
	left: -.5em;
}

@media screen and (max-width: 768px){
	#about .outro .attention_wrapper dd li{
		font-size: clamp(13px, 0.237rem + 2.63vw, 24px);/* 350~768 */
	}
}

/************************************************************************
	支援申し込み
**************************************************************************/
::placeholder {
	color: #ccc;
}

/* ---- お申し込みの流れ ---- */
#request .flow{
	background-color: #f9faf4;
}

.step_wrapper{
	display: -webkit-box;
	display: flex;
	padding-top: 4em;
}
.step_wrapper:nth-of-type(1){
	padding-top: 3.5em;
}

/* ---- お申し込みの流れ ナンバー ---- */
.step_wrapper .step_num{
	width: 6.5%;
	margin: 0 1.7% auto;
	position: relative;
}

.step_wrapper .step_num::after{
	content: "";
	display: block;
	width: 21%;
	padding-top: 21%;
	background-color: #fff;
	clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
	position: absolute;
	top: 55%;
	right: -27%;
	z-index: 1;
}

@media screen and (max-width: 768px){
	.step_wrapper .step_num{
		width: 12%;
		margin: 0 1.7% auto;
	}
}

/* -- お申し込みの流れ テキスト -- */
.step_wrapper .text_wrapper{
	width: 83.3%;
	padding: 1.8em 2.5em;
	margin-right: auto;
	background-color: #fff;
	box-shadow: 0px 0px 15px -10px #777777;
	position: relative;
}
.step_wrapper .text_wrapper::before{
	content: "";
	display: block;
	width: 2px;
	height: calc(100% - 6vw);
	background-color: #d9d9d9;
	position: absolute;
	left: -6%;
	top: min(116px, 9.7vw);
}
.step_wrapper.step05 .text_wrapper::before{
	display: none;
}

@media screen and (min-width: 1201px){
	.step_wrapper .text_wrapper::before{
		height: calc(100% - 4.5em);
	}
	
}


.step_wrapper .text_wrapper h3{
	font-weight: 700;
	color: #97ba5c;
	margin-bottom: .2em;
}
.step_wrapper .text_wrapper .text{
	margin-bottom: .5em;
}
.step_wrapper .text_wrapper .text:nth-last-of-type(1){
	margin-bottom: 0;
}

.step_wrapper .text_wrapper .attention{
	color: #808080;
	margin-bottom: .5em;
}
.step_wrapper .text_wrapper .attention:nth-last-of-type(1){
	margin-bottom: 1em;
}

.step_wrapper .text_wrapper .attention .orange{
	color: #f19149;
	text-decoration: underline;
}
.step_wrapper .text_wrapper .attention .orange:hover{
	text-decoration: none;
}

.step_wrapper .text_wrapper p.decimal_green{
	margin-bottom: 1.5em;
}

.step_wrapper .text_wrapper .btn_wrapper{
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
}

.step_wrapper .text_wrapper .btn_wrapper .btn_primary{
	width: 48.8%;
}
.step_wrapper .text_wrapper .btn_wrapper .btn_primary a{
	padding: .8em 3em;
}

.step_wrapper .text_wrapper ul.decimal_green{
	padding: 1em 0;
}
.step_wrapper .text_wrapper ul.decimal_green li{
	margin-bottom: .5em;
}

.step_wrapper .text_wrapper .preparations{
	padding: 1em 2em;
	margin-bottom: 1.5em;
	background-color: #eff5e5;
}

.step_wrapper .text_wrapper .preparations p{
	margin-bottom: 1em;
}

.check_list li{
	display: inline-block;
	padding-left: 2em;
	position: relative;
}
.check_list li::before{
	content: "";
	display: inline-block;
	width: 1.39em;
	height: 1.39em;
	margin-right: .5em;
	background: url(../img/request/checked.png) no-repeat center/contain;
	position: absolute;
	left: 0;
	top: .15em;
}

.step_wrapper .check_list li{
	margin-right: 1.2em;
	margin-bottom: .5em;
}

.step_wrapper .text_wrapper .preparations + .attention{
	margin-bottom: 2em;
}

@media screen and (max-width: 768px){
	.step_wrapper .text_wrapper{
		padding: 1.8em 1.5em;
		margin: 0 0 auto auto;
	}
	.step_wrapper .text_wrapper::before{
		content: "";
		display: block;
		width: max(1px, .3vw);
		height: calc(100% - 7vw);
		left: -11%;
		top: 16.5vw;
	}

	.step_wrapper .text_wrapper .btn_wrapper{
		display: block;
	}
	
	
	.step_wrapper .text_wrapper .btn_wrapper .btn_primary{
		width: 100%;
		margin-bottom: 1em;
	}

	.step_wrapper .text_wrapper .preparations{
	padding: 1em;
	margin-bottom: 1.5em;
	background-color: #eff5e5;
}
}
@media screen and (max-width: 400px){
	.step_wrapper .text_wrapper .btn_wrapper .btn_primary a{
		padding: .8em 1.5em;
	}
}

/* ---- お申し込みはこちら  ---- */
.request_form_container h2{
	margin-bottom: 3em;
}

/* -- お電話でのお問い合わせ  -- */
.request_form{
	padding: 3em 1em 4.5em;
	margin-bottom: 3em;
	border-top: clamp(1px, .4vw, 5px) solid #00a493;
	background-color: #f9faf4;
}

.request_form h3{
	font-weight: 700;
	text-align: center;
	color: #00a493;
	margin-bottom: .5em;
}

.request_form .guidance{
	text-align: center;
	margin-bottom: 1.5em;
}

.request_form .contact_btn_wrapper{
	width: 45.8%;
	margin: auto;
	border-radius: clamp(15px, 0.38rem + 1.16vw, 20px);
}
.request_form .contact_btn_wrapper a{
	padding: .3em;
}
.request_form .tel_btn .text01{
	font-size: 1em;
}
.request_form .tel_btn .text01::before{
	width: 1em;
	height: 1em;
	top: calc(50% - .5em);
	left: -3em;
}

@media screen and (max-width: 768px){
	.request_form .guidance{
		line-height: 2;
	}
	.request_form .contact_btn_wrapper{
		width: 80%;
		margin: auto;
		border-radius: clamp(10px, 0.102rem + 2.39vw, 20px);
	}
	.request_form .tel_btn .text01::before{
		position: absolute;
		width: 1em;
		height: 1em;
		top: calc(50% - .5em);
		left: -2em;
	}
}

/* -- メールでのお問い合わせ  -- */
.request_form.mail_container{
	padding: 3em 1em 2.5em;
	border-top: clamp(1px, .4vw, 5px) solid #ea625c;
}

.request_form.mail_container h3{
	color: #ea625c;
}

/* ---フォーム--- */

form .required{
	position: relative;
}
form .required::after{
	content: "必須";
	display: inline-block;
	font-size: .89em;
	padding: .2em .9em;
	color: #fff;
	background-color: #ea625c;
	border-radius: clamp(7px, 0.103rem + 0.7vw, 10px);
	position: absolute;
	right: 2em;
}

#request_form{
	margin-bottom: 50px;
}
#request_form .wrapper{
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	padding: 1em;
	border-top: 1px solid #b6b6b3;
}
#request_form .wrapper:nth-last-of-type(1){
	margin-bottom: 1.75em;
}

#request_form .input_title{
	width: 17.5em;
	padding-top: .5em;
}
#request_form .input_title .wrap_text{
	display: inline-block;
	width: 10em;
}
#request_form .input_container{
	width: calc(100% - 17.5em);
}
#request_form .input_wrapper, #request_form .input_wrapper02{
	width: 100%;
	margin-bottom: .5em;
}
#request_form .input_wrapper02 input[type="date"]{
	width: 13.89em;
	margin-right: .5em;
	text-align: left !important;
	position: relative;
}
input[type=date]::-webkit-calendar-picker-indicator {
    position: absolute;
    width: 100%;
    height: 100%;
	opacity: 0;
	cursor: pointer;
}
#request_form .select_wrapper{
	display: inline-block;
	width: 13.89em;
	position: relative;
}
#request_form .select_wrapper::after{
	content: "";
	position: relative;
	display: block;
	width: .78em;
	height: .45em;
	background: url(../img/cmn/arrow02b.svg) no-repeat center/contain;
	position: absolute;
	right: 1em;
	top: 50%;
	transform: translateY(-50%);
}
#request_form .input_wrapper02 select{
	width: 100%;
}

#request_form .select_wrapper.service_select{
	width: 100%;
	max-width: 28.5em;
}

#request_form .attention{
	position: relative;
	padding-left: 1.1em;
	margin-bottom: 1em;
}
#request_form .wrapper .attention:nth-last-of-type(1){
	margin-bottom: 0;
}
#request_form .attention::before{
	content: "\0203B";
	position: absolute;
	left: 0;
}


#request_form a.pink{
	color: #ea625c;
	text-decoration: underline;
}
#request_form a.pink:hover{
	text-decoration: none;
}

#request_form .to_privacy{
	text-decoration: underline;
}
#request_form .to_privacy:hover{
	text-decoration: none;
}
@media screen and (max-width: 768px){
	form .required::after{
		margin-left: 1em;
		border-radius: clamp(5px, 0.051rem + 1.2vw, 10px);
		position: relative;
		right: auto;
	}
	#request_form{
		margin-bottom: 30px;
	}
	#request_form .wrapper{
		display: block;
		padding: 1em .5em;
	}

	#request_form .input_title{
		width: auto;
		padding: 0;
		margin-bottom: 1.5em;
	}
	#request_form .input_container{
		width: 100%;
	}

	#request_form .input_title .wrap_text{
		display: inline-block;
		width: fit-content;
	}

	#request_form .input_wrapper02 input[type="text"]{
		width: 48%;
		margin-right: .5em;
	}
	#request_form .select_wrapper{
		display: inline-block;
		width: 48%;
		position: relative;
	}

}
/* inputの成形 */
#request_form input[type="text"], #request_form input[type="email"], #request_form input[type="tel"], #request_form input[type="date"], #request_form textarea, #request_form select{
	color: #1a1a1a;
	width: 100%;
	padding: .7em .5em;
	border: 1px solid #e0e0e0;
	box-shadow: none;
}

#request_form textarea{
	width: 100% !important;
	height: 16em !important;
}
.mfp_element_all {
    max-width: 100% !important;
}

/* 送信ボタン */
#request_form .btn_wrap{
	width: 45%;
	margin: auto;
}
#request_form .mfp_element_submit{
	width: 100%;
	padding: .3em;
	margin: auto;
	color: #fff;
	background: #ea625c;
	text-shadow: none;
	transition: .4s;
	position: relative;
}
#request_form .mfp_element_submit::after{
	content: "";
	display: block;
	width: .22em;
	height: .39em;
	background: url(../img/cmn/arrow01.svg) no-repeat center/contain;
	position: absolute;
	right: 1em;
	top: calc(50% - .195em);
	transition: .4s;
}
#request_form .mfp_element_submit:hover::after{
	right: 1.2em;
}
#request_form .mfp_element_submit:hover{
	box-shadow: none;
	background: #bf504b;
}
#request_form .mfp_element_submit span{
	display: inline-block;
	transition: .4s;
}
#request_form .mfp_element_submit:hover span{
	transform: scale(.95);
}

/* ファイル選択ボタン */
#request_form input[type="file"]{
	font-size: .8em;
	background: none;
	border: none;
	box-shadow: none;
}

/* チェックボックス */
#request_form .checkbox{
	position: relative;
}
#request_form .checkbox::before{
	content: "";
	display: inline-block;
	width: 1.1em;
	height: 1.1em;
	margin-right: 8px;
	background-color: #fff;
	vertical-align: middle;
	border: #808080 2px solid;
	border-radius: 3px;
	position: relative;
	top: -.1em;
}
#request_form .checkbox::after{
	content: "";
	display: inline-block;
	width: .4em;
	height: .6em;
	border-right: 2px solid #ea625c;
	border-bottom: 2px solid #ea625c;
	opacity: 0;
	transform: rotate(45deg);
	position: absolute;
	left: .4em;
	top: .45em;
}

#request_form  input[type=checkbox]:checked ~ .checkbox::after{
	opacity: 1;
}

#request_form .text{
	margin-bottom: .3em;
}

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

	#request_form .select_wrapper{
		display: inline-block;
		width: 48%;
		position: relative;
	}

	#request_form .btn_wrap{
		width: 80%;
		margin: auto;
	}

}

/************************************************************************
	サンクスページ
**************************************************************************/
#thanks h2{
	text-align: center;
	margin-bottom: 1.5em;
}
#thanks .text{
	text-align: center;
	line-height: 2.2;
	margin-bottom: 3em;
}
#thanks .btn_primary{
	max-width: 20em;
}

/************************************************************************
	プライバシーポリシー
**************************************************************************/
#privacy .breadcrumbs{
	margin-bottom: 2em;
}
#privacy .text_wrapper{
	background-color: #f9faf4;
	padding: 2.5em 1em;
	margin-bottom: 5em;
}

#privacy .text_wrapper p{
	line-height: 2;
	max-width: 1000px;
	margin: auto;
}

.privacy_policy dt{
	font-weight: 700;
	padding: .5em 1em .5em 2.2em;
	border-bottom: 1px solid #caddaa;
	position: relative;
}
.privacy_policy dt::before{
	content: "";
	display: inline-block;
	width: 1.16em;
	height: 1.16em;
	background: url(../img/cmn/secondary_deco.png) no-repeat center/contain;
	position: absolute;
	left: .8em;
	top: .75em;
}

.privacy_policy dd{
	line-height: 2;
	padding: 1.5em 1em 2em;
	margin-bottom: 1em;
}
.privacy_policy dd:nth-last-of-type(1){
	margin-bottom: 0;
}

#privacy address{
	padding: 0 1em;
}
#privacy address ul{
	padding: 1.5em;
	background-color: #f9faf4;
}

#privacy address li h2{
	font-weight: 700;
	margin-bottom: .3em;
}

/************************************************************************
	よくある質問
**************************************************************************/

.faq_wrapper{
	padding: .5em;
	margin-bottom: 1.5em;
	border: 2px solid #abcf6e;
	border-radius: clamp(15px, 0.38rem + 1.16vw, 20px);/* 769~1200 */
}
.faq_wrapper.acc_open{
	background-color: #abcf6e;
}

.faq_wrapper dt{
	font-weight: 700;
	padding: .5em 2em .5em 3.3em;
	cursor: pointer;
	position: relative;
}
.faq_wrapper.acc_open dt{
	color: #fff;
}

.faq_wrapper dd{
	display: none;
	padding: 1.5em 2em 1.5em 3.3em;
	border-radius: clamp(15px, 0.38rem + 1.16vw, 20px);/* 769~1200 */
	background-color: #fff;
	position: relative;
}

.faq_wrapper dt::before, .faq_wrapper dd::before{
	display: inline-block;
	font-size: clamp(20px, 0.135rem + 2.32vw, 30px);/* 769~1200 */
	font-weight: 700;
	color: #abcf6e;
	position: absolute;

	left: .5em;
}
.faq_wrapper dt::before{
	content: "Q";
	top: -.05em;
}
.faq_wrapper.acc_open dt::before{
	color: #fff;
}

.faq_wrapper dd::before{
	content: "A";
	top: .5em;
}

.faq_wrapper dt::after{
	content: "";
	display: block;
	width: .7em;
	height: .4em;
	background: url(../img/cmn/arrow01g.svg) no-repeat center/contain;
	position: absolute;
	right: 1em;
	top: calc(50% - .2em);
}
.faq_wrapper.acc_open dt::after{
	background: url(../img/cmn/arrow03.svg) no-repeat center/contain;
}


@media screen and (max-width: 768px) {
		
	.faq_wrapper{
		border: max(1px, .3vw) solid #abcf6e;
		border-radius: clamp(10px, 0.102rem + 2.39vw, 20px);/* 350~768 */
	}

	.faq_wrapper dt::before, .faq_wrapper dd::before{
		font-size: clamp(17px, 0.068rem + 4.55vw, 36px);/* 350~768 */
	}

	.faq_wrapper dt::before{
		top: 0;
	}
	.faq_wrapper dd::before{
		top: .7em;
	}

	.faq_wrapper dd{
		border-radius: clamp(10px, 0.102rem + 2.39vw, 20px);/* 350~768 */
	}
}
@media screen and (max-width: 480px) {
	.faq_wrapper dt::before{
		top: .15em;
	}
	.faq_wrapper dd::before{
		top: .9em;
	}
}

/************************************************************************
	サービス一覧ページ
**************************************************************************/
/* ---- イントロ ---- */
#service .intro{
	background: #f9faf4 url(../img/top/contact_bg.png) no-repeat bottom/contain;
	border-bottom: 0.2vw solid #59493f;
}

#service .intro .guidance{
	text-align: center;
	margin-bottom: 1.8em;
}

@media screen and (max-width: 768px) {
	#service .intro{
		background: url(../img/top/contact_bg_sp.png) no-repeat bottom/contain;
	}
}

/* ---- 協議会による支援 ---- */
.phase_council{
	background: #fff6d0 url(../img/service/phase_expert_deco.png) no-repeat bottom/contain;
}
.phase_council .lower_sec_title{
	margin-bottom: 2em;
}

#service .phase_container h3{
	width: min(1056.5px, 83.7vw);
	margin: 0 min(24px, 1.9vw) 0 auto;
}
#service .phase_content_wrapper{
	width: min(1060px, 83.7vw);
	margin: 0 min(24px, 1.9vw) 0 auto;
	margin-left: auto;
}

@media screen and (max-width: 768px) {
	.phase_council{
		padding-bottom: 5%;
	}
	#service .phase_container h3{
		width: 76vw;
		margin: 0 auto 0 15.8vw;
	}
	#service .phase_content_wrapper{
		width: 76vw;
		margin-left: 2.5vw;
    	margin-right: auto;
	}

	#service .phase_num::after{
		width: 94vw;
	}
}

/* -- phase白枠内 -- */
#service .phase_content{
	padding: 0;
}

#service .phase_content_wrapper.last::after {
    height: min(60px, 4.5vw);
    bottom: max(-30px, -1.3vw);
}
@media screen and (max-width: 768px) {
	#service .phase_content_wrapper.last::after {
		height: 6vw;
		bottom: -2.5vw;
	}
}
/* -- phase白枠内上 -- */
.phase_content .content01{
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	-webkit-box-align: start;
	align-items: flex-start;
	padding: 5% 3% 2.5em;
}

#service .phase_content .img_bg{
	width: 32.8%;
	margin: 0;
	background: url(../img/service/phase01img.png) no-repeat center/cover;
}
#service .phase2 .phase_content .img_bg{
	background: url(../img/service/phase02img.png) no-repeat center/cover;
}
#service .phase3 .phase_content .img_bg{
	background: url(../img/service/phase03img.png) no-repeat center/cover;
}
#service .phase4 .phase_content .img_bg{
	background: url(../img/service/phase04img.png) no-repeat center/cover;
}
#service .phase5 .phase_content .img_bg{
	background: url(../img/service/phase05img.png) no-repeat center/cover;
}
#service .phase_content .img_bg::before{
	padding-top: 73.5%;
}
#service .expert .phase_content .img_bg::before{
	padding-top: 88.2%;
}

#service .phase_content .text_wrapper{
	width: 62%;
}

#service .phase_content h4{
	text-align: left;
	padding-left: 2.5em;
	margin-bottom: 1em;
	position: relative;
	white-space: nowrap;
}
#service .phase_content h4::before{
	content: "";
	display: block;
	width: 2em;
	height: 2em;
	background: url(../img/service/phase01.svg) no-repeat center/contain;
	position: absolute;
	left: 0;
	top: -.3em;
}
#service .phase2 .phase_content h4::before{
	background: url(../img/service/phase02.svg) no-repeat center/contain;
}
#service .phase3 .phase_content h4::before{
	background: url(../img/service/phase03.svg) no-repeat center/contain;
}
#service .phase4 .phase_content h4::before{
	background: url(../img/service/phase04.svg) no-repeat center/contain;
}
#service .phase5 .phase_content h4::before{
	background: url(../img/service/phase05.svg) no-repeat center/contain;
}

#service .phase_content .decimal{
	font-size: clamp(13px, 0.237rem + 2.63vw, 24px)
}

@media screen and (max-width: 768px) {
	.phase_content .content01{
		display: block;
		padding: 8% 5% 1.5em;
	}
	#service .phase_content .img_bg{
		width: 60%;
		margin: auto auto 8%;
	}
	#service .phase_content .text_wrapper{
		width: 100%;
	}
}

/* -- phase白枠内こんなお悩みを解決します -- */
#service .phase_content .resolution{
	padding: 0 3%;
	position: relative;
}
#service .phase_content .resolution::before{
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background-color: #4e89c3;
	position: absolute;
	left: 0;
	top: 50%;
}
#service .phase_content .resolution span{
	display: inline-block;
	font-weight: 700;
	color: #4e89c3;
	padding: .3em 1em;
	border: 2px solid #4e89c3;
	background-color: #fff;
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 768px) {
	#service .phase_content .resolution{
		padding: 0 6%;
	}
}

/* -- phase白枠内下 -- */
.phase_content .content02{
	padding: 2em 3%;
}
.phase_content .check_list{
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: .8em;
}
.phase_content .check_list li{
	margin: 0 auto .5em 0;
}

.phase_content .btn_primary{
	max-width: 410px;
}
@media screen and (max-width: 768px) {
	.phase_content .content02{
		padding: 1.5em 6%;
	}
}
/* ---- チェックリスト個別 ---- */
.phase1 .phase_content .check_list li:nth-of-type(2n+1){
	width: 22em;
}
.phase1 .phase_content .check_list li:nth-of-type(2n){
	width: 27.5em;
}

.phase2 .phase_content .check_list li{
	width: 100%;
}

.phase3 .phase_content .check_list li:nth-of-type(2n+1){
	width: 26em;
}
.phase3 .phase_content .check_list li:nth-of-type(2n){
	width: 27.5em;
}

.phase4 .phase_content .check_list li{
	width: 25em;
}

.phase5 .phase_content .check_list li:nth-of-type(2n+1){
	width: 26em;
}
.phase5 .phase_content .check_list li:nth-of-type(2n){
	width: 27.5em;
}
/* ---- 専門家による支援 ---- */

.phase_expert{
	background-color: #caddaa;
	position: relative;
}

.phase_expert .lower_sec_title{
	margin-bottom: 2em;
}

#service .expert .phase_num{
	display: -webkit-box;
	display: flex;
}
#service .phase_container.expert h3{
	background-color: #ee883c;
}
#service .expert .phase_content_wrapper{
	background-color: #ee883c;
}

.expert .phase_content .content01{
	padding: 5% 3% 0;
}

#service .expert .phase_content .resolution::before{
	background-color: #ee883c;
}
#service .expert .phase_content .resolution span{
	color: #ee883c;
	border: 2px solid #ee883c;
}

@media screen and (max-width: 768px) {
	.phase_expert{
		padding-bottom: 2%;
	}
	.expert .phase_content .content01{
		padding: 5% 5% 1em;
	}

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

	#service .phase4 .phase_content h4{
		transform: translateX(-2%);
	}
}
/* ---- 支援の流れ ---- */
#service .flow{
	background-color: #f9faf4;
}
#service .flow .lower_sec_title{
	margin-bottom: 2.5em;
}

/* ---- 第１次対応 ---- */
#service .flow_container{
	padding: 2.5em;
	border: 2px solid #39b4a9;
	background-color: #fff;
	position: relative;
	z-index: 1;
}

#service .flow_container h3{
	color: #fff;
	background-color: #39b4a9;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 1.25em), 50% 100%, 0 calc(100% - 1.25em));
	position: absolute;
	top: -1px;
}
#service .flow_container h3 span{
	writing-mode: vertical-rl;
	text-orientation: upright;
	padding: 1em .3em 4em;
}

#service .flow_container ul{
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	justify-content: space-between;
	width: 74%;
	margin: auto;
}
#service .flow_container ul li{
	display: -webkit-box;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	width: 33%;
}

#service .flow_container ul li .img_bg{
	width: 76%;
	margin: 0 auto .8em;
	background: url(../img/service/flow01.png) no-repeat center/cover;
}
#service .flow_container ul li:nth-of-type(2) .img_bg{
	background: url(../img/service/flow02.png) no-repeat center/cover;
}
#service .flow_container ul li:nth-of-type(3) .img_bg{
	background: url(../img/service/flow03.png) no-repeat center/cover;
}

#service .flow_container ul li .img_bg::before{
	padding-top: 93.8%;
}

#service .flow_container ul li p{
	text-align: center;
	margin: auto;
}

@media screen and (max-width: 768px) {
	#service .flow_container{
		max-width: 500px;
		padding: 1em 1em 2em;
		margin: auto;
		border: max(1px, .3vw) solid #39b4a9;
	}

	#service .flow_container h3{
		clip-path: polygon(0 0, calc(100% - 1.25em) 0, 100% 50%, calc(100% - 1.25em) 100%, 0 100%);
		top: 1em;
		left: 0;
	}
	#service .flow_container h3 span{
		writing-mode: horizontal-tb;
		padding: .3em 4em .3em 1.2em;
	}

	#service .flow_container ul{
		display: block;
		width: 100%;
		padding-top: 4.5em;
		margin: auto;
	}

	#service .flow_container ul li{
		width: 100%;
		margin-bottom: 2em;
	}

	#service .flow_container ul li .img_bg{
		width: 80%;
		max-width: 300px;
	}
}

/* ---- 協議会が計画を必要と判断した場合 ---- */
#service .flow_arrow{
	width: 92%;
	padding: 1.2em 0 4.5em;
	margin: auto;
	position: relative;
	z-index: 1;
}
#service .flow_arrow::before{
	content: "";
	display: block;
	width: 4%;
	height: 94%;
	background: url(../img/service/arrow.png) no-repeat top/contain;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
#service .flow_arrow p{
	text-align: center;
	color: #fff;
	padding: .5em;
	border-radius: 3em;
	background-color: #72c9bf;
}

@media screen and (max-width: 768px) {
	#service .flow_arrow::before{
		width: 9%;
	}
}

/* ---- 第２次対応 ---- */
#service .flow_container.flow02 h3 span{
	writing-mode: vertical-rl;
	text-orientation: upright;
	padding: 1em .3em 1.5em;
}
.flow02_list{
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	justify-content: space-between;
	width: 86%;
	margin-right: 3.3%;
	margin-left: auto;
}

.flow02_list .text_wrapper{
	width: 49%;
	padding: 1.5em 1.5em 2em;
	margin-bottom: 2%;
	background-color: #e5f6f4;
}

.flow02_list .text_wrapper h4{
	font-weight: 700;
	color: #39b4a9;
	margin-bottom: .5em;
}

@media screen and (max-width: 768px) {
	#service .flow_container.flow02 h3 span{
		writing-mode: horizontal-tb;
		text-orientation: upright;
		padding: .3em 3em .3em 1.2em;
	}
	.flow02_list{
		display: block;
		width: 100%;
		padding-top: 4.5em;
		margin: auto;
	}
	.flow02_list .text_wrapper{
		width: 100%;
		margin-bottom: 1.5em;
	}
}

/************************************************************************
	サービス詳細
**************************************************************************/
#service_detail h1{
	position: relative;
	padding-top: 1em;
}
#service_detail.edit h1{
	position: relative;
	padding-top: .5em;
}
#service_detail h1 .bubble{
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic","Hiragino Kaku Gothic ProN","HiraKakuPro-W3","メイリオ",Meiryo,Verdana,sans-serif;
	display: inline-block;
	font-size: .45em;
	font-weight: 700;
	color: #fff;
	white-space: nowrap;
	padding: .5em 3em;
	background-color: #4e89c3;
	border-radius: 2em;
	position: absolute;
	top: -1.8em;
	left: 50%;
	translate: -50%;
}
#service_detail.edit h1 .bubble{
	padding: .5em 4em;
	top: -2.7em;
	background-color: #ee883c;
}
#service_detail h1 .bubble::before{
	content: "";
	width: .6em;
	height: .8em;
	background-color: #4e89c3;
	clip-path: polygon(0 0, 0 100%, 100% 0);
	position: absolute;
	bottom: -.6em;
	left: 5.3em;
}
#service_detail.edit h1 .bubble::before{
	background-color: #ee883c;
}

#service_detail h1 .sub{
	white-space: nowrap;
	position: absolute;
	bottom: -2em;
	left: 50%;
	translate: -50%;
}

/* ---- 冒頭 ---- */
#service_detail .intro{
	background-color: #f9faf4;
}
#service_detail .intro .guidance{
	text-align: center;
	margin-bottom: 3em;
}
#service_detail.edit .intro .guidance{
	margin-bottom: 0;
	margin-top: 3em;
}

#service_detail .intro_list{
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
}

#service_detail .intro_list li{
	width: 25%;
}
#service_detail .intro_list .bubble{
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	align-items: center;
	text-align: center;
	width: 12em;
	background: url(../img/service_detail/intro_bubble.png) no-repeat center/contain;
	position: relative;
	z-index: 1;
}
#service_detail .intro_list .bubble::before{
	content: "";
	display: block;
	padding-top: 100%;
}
#service_detail .intro_list .bubble .blue{
	color: #4e89c3;
}
#service_detail .intro_list .bubble .orange{
	color: #ee883c;
}

@media screen and (max-width: 768px) {
	#service_detail .intro_list li{
		width: 50%;
	}
}

/* -- イラスト -- */
#service_detail .intro_list .img_bg{
	width: 86%;
	margin-left: auto;
	margin-top: -27.5%;
	background: url(../img/service_detail/intro_list00b.png) no-repeat center/contain;
	position: relative;
}
#service_detail.edit .intro_list .img_bg{
	background: url(../img/service_detail/intro_list00o.png) no-repeat center/contain;
}
@media screen and (max-width: 1024px) {
	#service_detail .intro_list .img_bg{
		margin-top: -20%;
	}
}

#service_detail .intro_list .img_bg .z_index{
	width: 40%;
	background: url(../img/service_detail/intro_list12z.png) no-repeat bottom/contain;
	position: absolute;
	bottom: 10%;
	left: 50%;
	z-index: 1;
	transform: translateX(-50%);
}
#service_detail .intro_list .img_bg .z_index::before{
	content: "";
	display: block;
	padding-top: 168%;
}

#service_detail .intro_list .img_bg::before{
	padding-top: 86%;
}
#service_detail .intro_list .list01 .img_bg{
	background-image: url(../img/service_detail/intro_list01.png);
}
#service_detail .intro_list .list02 .img_bg{
	background-image: url(../img/service_detail/intro_list02.png);
}
#service_detail .intro_list .list03 .img_bg{
	background-image: url(../img/service_detail/intro_list03.png);
}
#service_detail .intro_list .list04 .img_bg{
	background-image: url(../img/service_detail/intro_list04.png);
}
#service_detail .intro_list .list05 .img_bg{
	background-image: url(../img/service_detail/intro_list05.png);
}
#service_detail .intro_list .list06 .img_bg{
	background-image: url(../img/service_detail/intro_list06.png);
}
#service_detail .intro_list .list07 .img_bg{
	background-image: url(../img/service_detail/intro_list07.png);
}
#service_detail .intro_list .list08 .img_bg{
	background-image: url(../img/service_detail/intro_list08.png);
}
#service_detail .intro_list .list09 .img_bg{
	background-image: url(../img/service_detail/intro_list09.png);
}
#service_detail .intro_list .list10 .img_bg{
	background-image: url(../img/service_detail/intro_list10.png);
}
#service_detail .intro_list .list11 .img_bg{
	background-image: url(../img/service_detail/intro_list11.png);
}

#service_detail .intro_list .list13 .img_bg{
	background-image: url(../img/service_detail/intro_list13.png);
}

#service_detail .intro_list .list14 .img_bg .z_index{
	width: 85.3%;
	background-image: url(../img/service_detail/intro_list14z.png);
	bottom: 12%;
}
#service_detail .intro_list .list14 .img_bg .z_index::before{
	padding-top: 69.7%;
}

#service_detail .intro_list .list15 .img_bg .z_index{
	width: 43.4%;
	background-image: url(../img/service_detail/intro_list15z.png);
	bottom: 15%;
}
#service_detail .intro_list .list15 .img_bg .z_index::before{
	padding-top: 128.7%;
}

#service_detail .intro_list .list16 .img_bg{
	background-image: url(../img/service_detail/intro_list16.png);
}
#service_detail .intro_list .list17 .img_bg{
	background-image: url(../img/service_detail/intro_list17.png);
}

#service_detail .intro_list .list18 .img_bg .z_index{
	width: 59.2%;
	background-image: url(../img/service_detail/intro_list18z.png);
}
#service_detail .intro_list .list18 .img_bg .z_index::before{
	padding-top: 89.2%;
}

#service_detail .intro_list .list19 .img_bg .z_index{
	width: 59.2%;
	background-image: url(../img/service_detail/intro_list19z.png);
}
#service_detail .intro_list .list19 .img_bg .z_index::before{
	padding-top: 100%;
}

#service_detail .intro_list .list20 .img_bg{
	background-image: url(../img/service_detail/intro_list20.png);
}

/* ---- 支援について ---- */
.about_service .title_secondary{
	margin-bottom: .9em;
}
.about_service .guidance{
	letter-spacing: 0;
	padding: 0 .5em;
	margin-bottom: 3em;
}
.edit .about_service .summary .guidance{
	margin-bottom: 4em;
}

.about_service .flow{
	width: 83.3%;
	margin: auto auto 4em;
}

.about_service .flow li{
	padding: 1em;
	margin-bottom: .75em;
	background-color: #dfedfa;
	position: relative;
}

.about_service .flow .img{
	width: 4.5em;
}

.about_service .flow li .text_wrapper{
	width: calc(100% - 5.5em);
	padding: 1em 0;
	margin-left: 1em;
}

@media screen and (max-width: 768px){
	.about_service .flow{
		width: 96%;
	}
	
}

/* -- 矢印 -- */
.v_arrow{
	border: 1px dashed #4e89c3;
	height: 66%;
	width: 2px;
	position: absolute;
	top: calc(50% + 1.5em);
	left: 3.1em;
	z-index: 1;
}
.v_arrow::before{
	content: "";
	display: block;
	width: .75em;
	height: .625em;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	background-color: #4e89c3;
	position: absolute;
	bottom: -.6em;
	left: calc(50% - .375em);
}



/* -- 計画策定後も専門家が支援します -- */
.plan_container{
	width: 92%;
	margin: auto auto 2.5em;
	overflow: hidden;
}

.plan_title{
	font-weight: 700;
	text-align: center;
	color: #fff;
	padding: 2em .5em;
	background-color: #ee883c;
}

.plan_wrapper{
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	justify-content: space-between;
	padding: 2em 1.5em;
	background-color: #ffe9d9;
}

.plan{
	display: -webkit-box;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	width: 48.2%;
	padding: 1em .5em 1.5em;
	margin-bottom: 2.5%;
	background-color: #fff;
}
.plan03, .plan04, .plan05, .plan06{
	margin-bottom: 0;
}

.plan .img_bg{
	width: 70%;
	margin: 0 auto .5em;
	background: url(../img/service_detail/plan01.png) no-repeat bottom/contain;
}
.plan .img_bg::before{
	padding-top: 55%;
}
.plan02 .img_bg{
	background-image: url(../img/service_detail/plan02.png);
}
.plan03 .img_bg{
	background-image: url(../img/service_detail/plan03.png);
}
.plan04 .img_bg{
	background-image: url(../img/service_detail/plan04.png);
}
.plan05 .img_bg{
	background-image: url(../img/service_detail/plan05.png);
}
.plan06 .img_bg{
	background-image: url(../img/service_detail/plan06.png);
}

.plan h4{
	font-weight: 700;
	text-align: center;
	color: #ee883c;
}

.plan h4 .text{
	margin: auto;
}

@media screen and (max-width: 768px){
	.plan{
		display: block;
		width: 100%;
		padding: 1em .5em 1.5em;
		margin-bottom: 2em;
		background-color: #fff;
	}
	.plan04, .plan06{
		margin-bottom: 0;
	}
}

/* -- 伴走支援 -- */
.accom_container{
	width: 92%;
	margin: auto auto 3em;
}

.accom_wrapper{
	display: -webkit-box;
	display: flex;
	border: 1px solid #ee883c;
	margin-bottom: 1.25em;
}

.accom_wrapper dt{
	font-weight: 700;
	text-align: center;
	color: #fff;
	line-height: 1.5;
	background-color: #ee883c;
	width: 10em;
	padding: .5em 1em;
	position: relative;
}
.accom_wrapper dt::after{
	content: "";
	display: block;
	width: .93em;
	height: .62em;
	background-color: #ee883c;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	position: absolute;
	right: -.6em;
	top: calc(50% - .31em);
}

.accom_wrapper dt .sub{
	font-size: .77em;
}

.accom_wrapper dd{
	-ms-flex-item-align: center;
	align-self: center;
	line-height: 2;
	width: calc(100% - 10em);
	padding: .5em 1em .5em 2.5em;
}

@media screen and (max-width: 768px){
	.accom_wrapper{
		display: block;
		border: 1px solid #ee883c;
		margin-bottom: 1.25em;
	}

	.accom_wrapper dt{
		width: 100%;
		padding: .2em 1em .5em;
	}
	.accom_wrapper dt::after{
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		right: calc(50% - .465em);
		top: auto;
		bottom: -.6em;
	}
	.accom_wrapper dd{
		-ms-flex-item-align: center;
		align-self: center;
		line-height: 2;
		width: 100%;
		padding: 1.5em 1em .5em;
	}

	.accom_wrapper .decimal li::before, .accom_wrapper p.decimal::before{
		top: .45em;
	}
	
}

/* -- テーブル -- */
.service_table_wrapper{
	width: 92%;
	margin: auto auto 5em;
	overflow-x: auto;
}
.service_table{
	width: 100%;
	min-width: 780px;
}
.service_table, .service_table th, .service_table td{
	border: 1px solid #b3b3b3;
}

.service_table th{
	font-size: 1.125em;
	font-weight: 700;
	text-align: center;
	padding: 1em .8em;
}
.service_table thead th:nth-of-type(1){
	color: #fff;
	background-color: #ee883c;
	width: 11.5em;
}
.service_table thead th:nth-of-type(n+2):nth-of-type(-n+4){
	color: #ee883c;
	background-color: #ffe9d9;
}
.service_table thead th:nth-of-type(2){
	width: 12em;
}
.service_table thead th:nth-of-type(3){
	width: 10.5em;
}
.service_table thead th:nth-of-type(4){
	width: calc(100% - 34em);
}

.service_table td{
	padding: 1.5em 1em;
}

/* ---- 支援対象 ---- */

.about_service .btn_primary{
	max-width: 800px;
	width: 80%;
}

@media screen and (max-width: 768px){
	.about_service .btn_primary{
		width: 96%;
	}
}

/* ---- 支援お申し込みはこちら ---- */
.to_request{
	background: #f9faf4 url(../img/top/contact_bg.png) no-repeat bottom/contain;
	border-bottom: .2vw solid #59493f;
}

.to_request .lower_sec_title{
	margin-bottom: 2em;
}




/* 240308一時的に追加 */

#transfer{
	font-size: 1.25em;
	font-weight: 700;
	text-align: center;
	margin-bottom: 1em;
}

#transfer a{
	display: inline-block;
	padding: 0 .5em;
	text-decoration: underline;
	color: #ee883c;
}
#transfer a:hover{
	text-decoration: none;
}

@media screen and (max-width: 768px){
	#transfer{
		font-size: 1.15em;
		text-align: left;
	}
}