	html, body {
		line-height: 1.5;
		font-size: 15px;	
		font-weight: 400;
		letter-spacing: .05em
	}
	body{
		position: relative;
		font-size: 1rem;
		font-family: "noto-sans-cjk-jp", "Hiragino Sans", Meiryo, sans-serif;
		color: var(--clr_base);
	}

	/*
	 * Remove text-shadow in selection highlight:
	 * https://twitter.com/miketaylr/status/12228805301
	 *
	 * Customize the background color to match your design.
	 */

	::-moz-selection {
	  background: #b3d4fc;
	  text-shadow: none;
	}

	::selection {
	  background: #b3d4fc;
	  text-shadow: none;
	}

	/*
	 * A better looking default horizontal rule
	 */

	hr {
	  display: block;
	  height: 1px;
	  border: 0;
	  border-top: 1px solid #ccc;
	  margin: 1em 0;
	  padding: 0;
	}

	/*
	 * Remove the gap between audio, canvas, iframes,
	 * images, videos and the bottom of their containers:
	 * https://github.com/h5bp/html5-boilerplate/issues/440
	 */

	audio,
	canvas,
	iframe,
	img,
	svg,
	video {
	  vertical-align: middle;
	}

	/*
	 * Remove default fieldset styles.
	 */

	fieldset {
	  border: 0;
	  margin: 0;
	  padding: 0;
	}

	/*
	 * Allow only vertical resizing of textareas.
	 */

	textarea {
	  resize: vertical;
	}

	/* ==========================================================================
	   Commons styles
	   ========================================================================== */
	a{text-decoration: none; color: inherit}
	a:focus, *:focus { outline:none;}
	/*a[href^="tel:"] {
		pointer-events: none;
		cursor: text;
	}*/
	img{border: 0px;}
	dd{margin: 0}
	p,h1,h2,h3,h4,h5{margin: 0;padding: 0}
	figure{margin: 0;padding: 0}
	ul,li,dl,ol{margin: 0;padding: 0;list-style: none}
	.b{font-weight: bold}
	.fw_n{font-weight: normal}
	.tx_und{text-decoration: underline}
	.tx_cent{text-align: center}
	.tx_right{text-align: right}
	.tx_left{text-align: left}
	.disp_blk{display: block}
	.disp_non{display: none}
	.marker_tp_1 {background:rgba(0, 0, 0, 0) linear-gradient(transparent 75%, #ffff00 0%) repeat scroll 0 0; }
	:root {
		--clr_wht: #FFF;
		--clr_blk: #000000;		
		--clr_base: #333333;
		--clr_blue: #013062;
		--clr_blue2: #012F5F;
		--clr_org: #EF5218;
		--clr_org2: #EF571B;
		--clr_beg: #F9F4EE;	
		--clr_beg2: #FAF6EF;	
		--clr_brown: #DAD3CA;	
	}
	.bg_clr_wht {
		background-color: #FFF
	}
	.bg_clr_beg {
		background-color: var(--clr_beg)
	}
	.fc_wht {color: #FFF}
	.fc_blue {color: var(--clr_blue)}
	.fc_blue2 {color: var(--clr_blue2)}
	.fc_org {color: var(--clr_org)}
	.txs_12 {
		font-size: 12px;	
	}
	.txs_13 {
		font-size: 13px;	
	}
	.txs_14 {
		font-size: clamp(12px, 0.97vw, 14px);	
	}
	.txs_15 {
		font-size: clamp(11px, 1.04vw, 15px);	
	}
	.txs_16 {
		font-size: clamp(13px, 1.111vw, 16px);	
	}
	.txs_17 {
		font-size: clamp(13px, 1.18vw, 17px);	
	}
	.txs_18 {
		font-size: clamp(13px, 1.25vw, 18px);	
	}
	.txs_19 {
		font-size: clamp(15px, 1.32vw, 19px);	
	}
	.txs_20 {
		font-size: clamp(13px, 1.39vw, 20px);	
	}
	.txs_21 {
		font-size: clamp(13px, 1.46vw, 21px);	
	}
	.txs_22 {
		font-size: clamp(13px, 1.53vw, 22px);
	}
	.txs_23 {
		font-size: clamp(17px, 1.60vw, 23px);
	}
	.txs_24 {
		font-size: clamp(13px, 1.67vw, 24px);
	}
	.txs_25 {
		font-size: clamp(18px, 1.74vw, 25px);
	}
	.txs_26 {
		font-size: clamp(18px, 1.81vw, 26px);
	}
	.txs_27 {
		font-size: clamp(18px, 1.88vw, 27px);
	}
	.txs_28 {
		font-size: clamp(18px, 1.9444vw, 28px);
	}
	.txs_29 {
		font-size: clamp(18px, 2.01vw, 29px);
	}
	.txs_30 {
		font-size: clamp(22px, 2.08vw, 30px);	
	}
	.txs_31 {
		font-size: clamp(22px, 2.15vw, 31px);	
	}
	.txs_32 {
		font-size: clamp(22px, 2.22vw, 32px);	
	}
	.txs_33 {
		font-size: clamp(22px, 2.29vw, 33px);	
	}
	.txs_34 {
		font-size: clamp(24px, 2.36vw, 34px);	
	}
	.txs_35 {
		font-size: clamp(16px, 2.43vw, 35px);	
	}
	.txs_36 {
		font-size: clamp(26px, 2.50vw, 36px);	
	}
	.txs_37 {
		font-size: clamp(36px, 2.57vw, 37px);	
	}
	.txs_38 {
		font-size: clamp(26px, 2.64vw, 38px);	
	}
	.txs_39 {
		font-size: clamp(28px, 2.71vw, 39px);	
	}
	.txs_40 {
		font-size: clamp(20px, 2.78vw, 40px);	
	}
	.txs_41 {
		font-size: clamp(36px, 2.85vw, 41px);	
	}
	.txs_42 {
		font-size: clamp(30px, 2.92vw, 42px);	
	}
	.txs_43 {
		font-size: clamp(30px, 2.99vw, 43px);	
	}
	.txs_44 {
		font-size: clamp(18px, 3.06vw, 44px);	
	}
	.txs_45 {
		font-size: clamp(20px, 3.12vw, 45px);	
	}
	.txs_46 {
		font-size: clamp(36px, 3.19vw, 46px);	
	}
	.txs_47 {
		font-size: clamp(36px, 3.26vw, 47px);	
	}
	.txs_48 {
		font-size: clamp(36px, 3.33vw, 48px);	
	}
	.txs_49 {
		font-size: clamp(36px, 3.40vw, 49px);	
	}
	.txs_50 {
		font-size: clamp(36px, 3.47vw, 50px);	
	}
	.txs_51 {
		font-size: clamp(36px, 3.54vw, 51px);	
	}
	.txs_52 {
		font-size: clamp(36px, 3.61vw, 52px);	
	}
	.txs_53 {
		font-size: clamp(36px, 3.68vw, 53px);	
	}
	.txs_54 {
		font-size: clamp(36px, 3.75vw, 54px);	
	}
	.txs_55 {
		font-size: clamp(36px, 3.82vw, 55px);	
	}
	.txs_56 {
		font-size: clamp(36px, 3.89vw, 56px);	
	}
	.txs_57 {
		font-size: clamp(36px, 3.96vw, 57px);	
	}
	.txs_58 {
		font-size: clamp(36px, 4.03vw, 58px);	
	}
	.txs_59 {
		font-size: clamp(36px, 4.10vw, 59px);	
	}
	.txs_60 {
		font-size: clamp(36px, 4.17vw, 60px);	
	}
	.txs_61 {
		font-size: clamp(36px, 4.24vw, 61px);	
	}
	.txs_62 {
		font-size: clamp(36px, 4.31vw, 62px);	
	}
	.txs_63 {
		font-size: clamp(36px, 4.38vw, 63px);	
	}
	.txs_64 {
		font-size: clamp(36px, 4.44vw, 64px);	
	}
	.txs_65 {
		font-size: clamp(36px, 4.51vw, 65px);	
	}
	.txs_66 {
		font-size: clamp(36px, 4.58vw, 66px);	
	}
	.txs_67 {
		font-size: clamp(36px, 4.65vw, 67px);	
	}
	.txs_68 {
		font-size: clamp(36px, 4.72vw, 68px);	
	}
	.txs_69 {
		font-size: clamp(36px, 4.79vw, 69px);	
	}
	.txs_70 {
		font-size: clamp(36px, 4.86vw, 70px);	
	}
	.txs_71 {
		font-size: clamp(36px, 4.93vw, 71px);	
	}
	.txs_72 {
		font-size: clamp(36px, 5.00vw, 72px);	
	}
	.txs_73 {
		font-size: clamp(36px, 5.07vw, 73px);	
	}
	.txs_74 {
		font-size: clamp(36px, 5.14vw, 74px);	
	}
	.txs_75 {
		font-size: clamp(36px, 5.21vw, 75px);	
	}
	.txs_76 {
		font-size: clamp(36px, 5.28vw, 76px);	
	}
	.txs_77 {
		font-size: clamp(36px, 5.35vw, 77px);	
	}
	.txs_78 {
		font-size: clamp(36px, 5.42vw, 78px);	
	}
	.txs_79 {
		font-size: clamp(36px, 5.49vw, 79px);	
	}
	.txs_80 {
		font-size: clamp(36px, 5.56vw, 80px);	
	}
	.txs_81 {
		font-size: clamp(36px, 5.62vw, 81px);	
	}
	.txs_82 {
		font-size: clamp(36px, 5.69vw, 82px);	
	}
	.txs_83 {
		font-size: clamp(36px, 5.76vw, 83px);	
	}
	.txs_84 {
		font-size: clamp(36px, 5.83vw, 84px);	
	}
	.txs_85 {
		font-size: clamp(36px, 5.90vw, 85px);	
	}
	.txs_86 {
		font-size: clamp(36px, 5.97vw, 86px);	
	}
	.txs_87 {
		font-size: clamp(36px, 6.04vw, 87px);	
	}
	.txs_88 {
		font-size: clamp(36px, 6.11vw, 88px);	
	}
	.txs_89 {
		font-size: clamp(36px, 6.18vw, 89px);	
	}
	.txs_90 {
		font-size: clamp(36px, 6.25vw, 90px);	
	}
	.txs_91 {
		font-size: clamp(36px, 6.32vw, 91px);	
	}
	.txs_92 {
		font-size: clamp(36px, 6.39vw, 92px);	
	}
	.txs_93 {
		font-size: clamp(36px, 6.46vw, 93px);	
	}
	.txs_94 {
		font-size: clamp(36px, 6.53vw, 94px);	
	}
	.txs_95 {
		font-size: clamp(36px, 6.60vw, 95px);	
	}
	.txs_96 {
		font-size: clamp(36px, 6.67vw, 96px);	
	}
	.txs_97 {
		font-size: clamp(36px, 6.74vw, 97px);	
	}
	.txs_98 {
		font-size: clamp(36px, 6.81vw, 98px);	
	}
	.txs_99 {
		font-size: clamp(36px, 6.88vw, 99px);	
	}
	.txs_100 {
		font-size: clamp(36px, 6.94vw, 100px);	
	}
	.tx_sdw_1{
		text-shadow:2px 2px 0 #ffffff,-2px 2px 0 #ffffff,2px -2px 0 #ffffff,-2px -2px 0 #ffffff;
	}
	span.line {
	  padding-bottom: 2px;
	  border-bottom: 2px solid var(--clr_base);
	  -webkit-box-decoration-break: clone;
	  box-decoration-break: clone;
	}
	.ff_min {
		font-family: "hiragino-mincho-pron", sans-serif;
	}
	.ls_ng_100 {
		letter-spacing: -.1em;
	}
	.ls_ng_55 {
		letter-spacing: -.055em;
	}
	.ls_ng_25 {
		letter-spacing: -.055em;
	}
	.ls_ng_15 {
		letter-spacing: -.015em
	}
	.ls_0 {
		letter-spacing: 0
	}
	.ls_25 {
		letter-spacing: .025em
	}
	.ls_35 {
		letter-spacing: .035em
	}
	.ls_5 {

		letter-spacing: .05em
	}
	.ls_75 {
		letter-spacing: .075em;
	}
	.ls_80 {
		letter-spacing: .08em
	}
	.ls_100 {
		letter-spacing: .1em
	}
	.ls_200 {
		letter-spacing: .2em
	}
	.fw_400 {
		font-weight: 400
	}
	.fw_500 {
		font-weight: 500
	}
	.fw_550 {
		font-weight: 550
	}
	.fw_600 {
		font-weight: 600
	}
	.fw_700 {
		font-weight: 700
	}
	.fw_800 {
		font-weight: 800
	}
	.fw_900 {
		font-weight: 900
	}
	.lh_1 {
		line-height: 1
	}
	.lh_1_1 {
		line-height: 1.1
	}
	.lh_1_2 {
		line-height: 1.2
	}
	.lh_1_3 {
		line-height: 1.3
	}
	.lh_1_4 {
		line-height: 1.4
	}
	.lh_1_6 {
		line-height: 1.6
	}
	.lh_1_7 {
		line-height: 1.7
	}
	.lh_1_8 {
		line-height: 1.8
	}
	.lh_2 {
		line-height: 2
	}
	.ls_non {letter-spacing: 0}
	.ls_nega {letter-spacing: -.075em}
	.flex_wrapper{
	display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	}
	.flex-wrap_par{
		flex-wrap: wrap;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;	
		display: flex;		
	}
	.flex-rev{
		flex-flow: row-reverse;
	}
	.jus_bet{justify-content: space-between}
	.jus_cent{justify-content: center}
	.an_stat{align-items: flex-start}
	.an_bl{align-items: baseline}
	.an_end{align-items: flex-end}
	.an_cent{align-items: center}
	.block_link{
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%	
	}
	@media (hover: hover) {
	.hover{
		transition-property: all;
		transition: 0.15s linear;
	}
	.hover:hover{
		opacity: 0.75;
	}
	.brightness {
	  transition: filter 0.3s ease;
	  filter: brightness(
		1
	  ); 
	}
	.brightness:hover {
	  filter: brightness(1.2);
	}
	}
	.pc{display: block}
	.sp{display: none!important}
	*, *:before, *:after {
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
			 -o-box-sizing: border-box;
			-ms-box-sizing: border-box;
				box-sizing: border-box;
	}
	.max_img{
		max-width: 100%;
		height: auto;
		display: block;
	}
	.img_w100{width: 100%; height: auto}
	.img_w50{width: 50%; height: auto}
	.img_w40{width: 40%; height: auto}
	.img_w30{width: 30%; height: auto}
	.img_w20{width: 20%; height: auto}
	.centered {
		display: block;
		margin-left: auto;
		margin-right: auto;
		}
	.alignright {
		margin: 0 0 0 3%;
		display: inline;
		}
	.alignleft {
		margin: 0 3% 0 0;
		display: inline;
		}
	.alignright {
		float: right;
		}
	.alignleft {
		float: left;
		}
	.clear{clear: both}
	.pos_rel{position: relative}
	.inl_b {display: inline-block}
	.inl {display: inline}
	.wrap_1000 {
		max-width: 1000px;
		margin-left: auto;
		margin-right: auto;
	}
	.wrap_1172 {
		max-width: 1172px;
		margin-left: auto;
		margin-right: auto;
	}
	.wrap_1200 {
		max-width: 1200px;
		margin-left: auto;
		margin-right: auto;
	}
	.wrap_1440 {
		max-width: 1440px;
		margin-left: auto;
		margin-right: auto;
	}
	.list_type_num li,
	.list_type_1 li {
		position: relative;
		padding-left: 16px;
		margin-bottom: 1%;
	}
	.list_type_num li:last-child,
	.list_type_1 li:last-child {
		margin-bottom: 0;
	}
	.list_type_1 li::after {
		content: "・";  
		position: absolute;
		top: 0;
		left: 0;
	}
	.list_type_2 li {
		position: relative;
		padding-left: 17px;
		margin-bottom: 0;
	}
	.list_type_2 li::after {
		content: "�E";  
		position: absolute;
		top: 0;
		left: 0;	
	}

	.list_type_num {
		counter-reset: number 0;
	}
	.list_type_num li {
		position: relative;
	}
	.list_type_num li::before {
		position: absolute;
		top: 0;
		left: 0;	
	  counter-increment: number 1;
	  content: counter(number) ".";
	}

	.bx_type_1 {
	}
	.h_type_1 .en {
		font-size: clamp(12px, 1.04vw, 15px);	
		font-weight: 700;
		color: var(--clr_org2);
		letter-spacing: .0em;
		margin-bottom: 5px
	}
	.h_type_1 .ttl {
		color: var(--clr_blue);
	}
	.h_type_1.ver1 .ttl {
		font-family: "hiragino-mincho-pron", sans-serif;
		font-size: clamp(18px, 2.22vw, 32px);	
		font-weight: 600;
		letter-spacing: .1em;
	}
	.h_type_1.ver2 .en {
		margin-bottom: 0
	}
	.h_type_1.ver2 .ttl {
		font-family: "noto-sans-cjk-jp", "Hiragino Sans", Meiryo, sans-serif;
		font-size: clamp(16px, 1.67vw, 24px);
		letter-spacing: .05em;
	}
	/*-------------------------------------
	ggmap
	--------------------------------------*/
	.ggmap {
	position: relative;
	padding-bottom: 44.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	}
	.ggmap iframe,
	.ggmap object,
	.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	}
	/*-------------------------------------
	�]��
	--------------------------------------*/
	.sec_pad_20{
		padding: min(1.39vw, 20px) 0;
	}
	.sec_pad_20_t{
		padding-top: min(1.39vw, 20px);
	}
	.sec_pad_20_b{
		padding-bottom: min(1.39vw, 20px);
	}
	.sec_pad_30{
		padding: min(2.08vw, 30px) 0;
	}
	.sec_pad_30_t{
		padding-top: min(2.08vw, 30px);
	}
	.sec_pad_30_b{
		padding-bottom: min(2.08vw, 30px);
	}
	.sec_pad_40{
		padding: min(2.78vw, 40px) 0;
	}
	.sec_pad_40_t{
		padding-top: min(2.78vw, 40px);
	}
	.sec_pad_40_b{
		padding-bottom: min(2.78vw, 40px);
	}
	.sec_pad_50{
		padding: min(3.47vw, 50px) 0;
	}
	.sec_pad_50_t{
		padding-top: min(3.47vw, 50px);
	}
	.sec_pad_50_b{
		padding-bottom: min(3.47vw, 50px);
	}
	.sec_pad_60{
		padding: min(4.17vw, 60px) 0;
	}
	.sec_pad_60_t{
		padding-top: min(4.17vw, 60px);
	}
	.sec_pad_60_b{
		padding-bottom: min(4.17vw, 60px);
	}
	.sec_pad_70{
		padding: min(4.86vw, 70px) 0;
	}
	.sec_pad_70_t{
		padding-top: min(4.86vw, 70px);
	}
	.sec_pad_70_b{
		padding-bottom: min(4.86vw, 70px);
	}
	.sec_pad_80{
		padding: min(5.56vw, 80px) 0;
	}
	.sec_pad_80_t{
		padding-top: min(5.56vw, 80px);
	}
	.sec_pad_80_b{
		padding-bottom: min(5.56vw, 80px);
	}
	.sec_pad_90{
		padding: min(6.25vw, 90px) 0;
	}
	.sec_pad_90_t{
		padding-top: min(6.25vw, 90px);
	}
	.sec_pad_90_b{
		padding-bottom: min(6.25vw, 90px);
	}
	.sec_pad_100{
		padding: min(6.94vw, 100px) 0;
	}
	.sec_pad_100_t{
		padding-top: min(6.94vw, 100px);
	}
	.sec_pad_100_b{
		padding-bottom: min(6.94vw, 100px);
	}
	.sec_pad_110{
		padding: min(7.64vw, 110px) 0;
	}
	.sec_pad_110_t{
		padding-top: min(7.64vw, 110px);
	}
	.sec_pad_110_b{
		padding-bottom: min(7.64vw, 110px);
	}
	.sec_pad_120{
		padding: min(8.33vw, 120px) 0;
	}
	.sec_pad_120_t{
		padding-top: min(8.33vw, 120px);
	}
	.sec_pad_120_b{
		padding-bottom: min(8.33vw, 120px);
	}
	.sec_pad_130{
		padding: min(9.03vw, 130px) 0;
	}
	.sec_pad_130_t{
		padding-top: min(9.03vw, 130px);
	}
	.sec_pad_130_b{
		padding-bottom: min(9.03vw, 130px);
	}
	.sec_pad_140{
		padding: min(9.72vw, 140px) 0;
	}
	.sec_pad_140_t{
		padding-top: min(9.72vw, 140px);
	}
	.sec_pad_140_b{
		padding-bottom: min(9.72vw, 140px);
	}
	.sec_pad_150{
		padding: min(10.42vw, 150px) 0;
	}
	.sec_pad_150_t{
		padding-top: min(10.42vw, 150px);
	}
	.sec_pad_150_b{
		padding-bottom: min(10.42vw, 150px);
	}
	.sec_pad_160{
		padding: min(11.11vw, 160px) 0;
	}
	.sec_pad_160_t{
		padding-top: min(11.11vw, 160px);
	}
	.sec_pad_160_b{
		padding-bottom: min(11.11vw, 160px);
	}
	.sec_pad_170{
		padding: min(11.81vw, 170px) 0;
	}
	.sec_pad_170_t{
		padding-top: min(11.81vw, 170px);
	}
	.sec_pad_170_b{
		padding-bottom: min(11.81vw, 170px);
	}
	.sec_pad_180{
		padding: min(12.50vw, 180px) 0;
	}
	.sec_pad_180_t{
		padding-top: min(12.50vw, 180px);
	}
	.sec_pad_180_b{
		padding-bottom: min(12.50vw, 180px);
	}
	.sec_pad_190{
		padding: min(13.19vw, 190px) 0;
	}
	.sec_pad_190_t{
		padding-top: min(13.19vw, 190px);
	}
	.sec_pad_190_b{
		padding-bottom: min(13.19vw, 190px);
	}
	.sec_pad_200{
		padding: min(13.89vw, 200px) 0;
	}
	.sec_pad_200_t{
		padding-top: min(13.89vw, 200px);
	}
	.sec_pad_200_b{
		padding-bottom: min(13.89vw, 200px);
	}
	.mgn_auto {
		margin-inline: auto;
	}
	.mgn_t_5 {
		margin-top: 5px
	}
	.mgn_t_10 {
		margin-top: min(0.69vw, 10px)
	}
	.mgn_t_15 {
		margin-top: min(1.04vw, 15px)
	}
	.mgn_t_20 {
		margin-top: min(1.39vw, 20px)
	}
	.mgn_t_25 {
		margin-top: min(1.74vw, 25px)
	}
	.mgn_t_30 {
		margin-top: min(2.08vw, 30px)
	}
	.mgn_t_35 {
		margin-top: min(2.43vw, 35px)
	}
	.mgn_t_40 {
		margin-top: min(2.78vw, 40px)
	}
	.mgn_t_45 {
		margin-top: min(3.12vw, 45px)
	}
	.mgn_t_50 {
		margin-top: min(3.47vw, 50px)
	}
	.mgn_t_55 {
		margin-top: min(3.82vw, 55px)
	}
	.mgn_t_60 {
		margin-top: min(4.17vw, 60px)
	}
	.mgn_t_65 {
		margin-top: min(4.51vw, 65px)
	}
	.mgn_t_70 {
		margin-top: min(4.86vw, 70px)
	}
	.mgn_t_75 {
		margin-top: min(5.21vw, 75px)
	}
	.mgn_t_80 {
		margin-top: min(5.56vw, 80px)
	}
	.mgn_t_85 {
		margin-top: min(5.90vw, 85px)
	}
	.mgn_t_90 {
		margin-top: min(6.25vw, 90px)
	}
	.mgn_t_95 {
		margin-top: min(6.60vw, 95px)
	}
	.mgn_t_100 {
		margin-top: min(6.94vw, 100px)
	}
	.mgn_t_105 {
		margin-top: min(7.29vw, 105px)
	}
	.mgn_t_110 {
		margin-top: min(7.64vw, 110px)
	}
	.mgn_t_115 {
		margin-top: min(7.99vw, 115px)
	}
	.mgn_t_120 {
		margin-top: min(8.33vw, 120px)
	}
	.mgn_t_125 {
		margin-top: min(8.68vw, 125px)
	}
	.mgn_t_130 {
		margin-top: min(9.03vw, 130px)
	}
	.mgn_t_135 {
		margin-top: min(9.38vw, 135px)
	}
	.mgn_t_140 {
		margin-top: min(9.72vw, 140px)
	}
	.mgn_t_145 {
		margin-top: min(10.07vw, 145px)
	}
	.mgn_t_150 {
		margin-top: min(10.42vw, 150px)
	}
	.mgn_t_155 {
		margin-top: min(10.76vw, 155px)
	}
	.mgn_t_160 {
		margin-top: min(11.11vw, 160px)
	}
	.mgn_t_165 {
		margin-top: min(11.46vw, 165px)
	}
	.mgn_t_170 {
		margin-top: min(11.81vw, 170px)
	}
	.mgn_t_175 {
		margin-top: min(12.15vw, 175px)
	}
	.mgn_t_180 {
		margin-top: min(12.50vw, 180px)
	}
	.mgn_t_185 {
		margin-top: min(12.85vw, 185px)
	}
	.mgn_t_190 {
		margin-top: min(13.19vw, 190px)
	}
	.mgn_t_195 {
		margin-top: min(13.54vw, 195px)
	}
	.mgn_t_200 {
		margin-top: min(13.89vw, 200px)
	}
	.gap_15 {
		column-gap: min(1.04vw, 15px);
	}
	.gap_16 {
		column-gap: min(1.11vw, 16px);
	}
	.gap_17 {
		column-gap: min(1.18vw, 17px);
	}
	.gap_18 {
		column-gap: min(1.25vw, 18px);
	}
	.gap_19 {
		column-gap: min(1.32vw, 19px);
	}
	.gap_20 {
		column-gap: min(1.39vw, 20px);
	}
	.gap_21 {
		column-gap: min(1.46vw, 21px);
	}
	.gap_22 {
		column-gap: min(1.53vw, 22px);
	}
	.gap_23 {
		column-gap: min(1.60vw, 23px);
	}
	.gap_24 {
		column-gap: min(1.67vw, 24px);
	}
	.gap_25 {
		column-gap: min(1.74vw, 25px);
	}
	.gap_26 {
		column-gap: min(1.81vw, 26px);
	}
	.gap_27 {
		column-gap: min(1.88vw, 27px);
	}
	.gap_28 {
		column-gap: min(1.94vw, 28px);
	}
	.gap_29 {
		column-gap: min(2.01vw, 29px);
	}
	.gap_30 {
		column-gap: min(2.08vw, 30px);
	}
	.gap_31 {
		column-gap: min(2.15vw, 31px);
	}
	.gap_32 {
		column-gap: min(2.22vw, 32px);
	}
	.gap_33 {
		column-gap: min(2.29vw, 33px);
	}
	.gap_34 {
		column-gap: min(2.36vw, 34px);
	}
	.gap_35 {
		column-gap: min(2.43vw, 35px);
	}
	.gap_36 {
		column-gap: min(2.50vw, 36px);
	}
	.gap_37 {
		column-gap: min(2.57vw, 37px);
	}
	.gap_38 {
		column-gap: min(2.64vw, 38px);
	}
	.gap_39 {
		column-gap: min(2.71vw, 39px);
	}
	.gap_40 {
		column-gap: min(2.78vw, 40px);
	}
	.gap_41 {
		column-gap: min(2.85vw, 41px);
	}
	.gap_42 {
		column-gap: min(2.92vw, 42px);
	}
	.gap_43 {
		column-gap: min(2.99vw, 43px);
	}
	.gap_44 {
		column-gap: min(3.06vw, 44px);
	}
	.gap_45 {
		column-gap: min(3.12vw, 45px);
	}
	.gap_46 {
		column-gap: min(3.19vw, 46px);
	}
	.gap_47 {
		column-gap: min(3.26vw, 47px);
	}
	.gap_48 {
		column-gap: min(3.33vw, 48px);
	}
	.gap_49 {
		column-gap: min(3.40vw, 49px);
	}
	.gap_50 {
		column-gap: min(3.47vw, 50px);
	}
	.gap_51 {
		column-gap: min(3.54vw, 51px);
	}
	.gap_52 {
		column-gap: min(3.61vw, 52px);
	}
	.gap_53 {
		column-gap: min(3.68vw, 53px);
	}
	.gap_54 {
		column-gap: min(3.75vw, 54px);
	}
	.gap_55 {
		column-gap: min(3.82vw, 55px);
	}
	.gap_56 {
		column-gap: min(3.89vw, 56px);
	}
	.gap_57 {
		column-gap: min(3.96vw, 57px);
	}
	.gap_58 {
		column-gap: min(4.03vw, 58px);
	}
	.gap_59 {
		column-gap: min(4.10vw, 59px);
	}
	.gap_60 {
		column-gap: min(4.17vw, 60px);
	}
	.gap_61 {
		column-gap: min(4.24vw, 61px);
	}
	.gap_62 {
		column-gap: min(4.31vw, 62px);
	}
	.gap_63 {
		column-gap: min(4.38vw, 63px);
	}
	.gap_64 {
		column-gap: min(4.44vw, 64px);
	}
	.gap_65 {
		column-gap: min(4.51vw, 65px);
	}
	.gap_66 {
		column-gap: min(4.58vw, 66px);
	}
	.gap_67 {
		column-gap: min(4.65vw, 67px);
	}
	.gap_68 {
		column-gap: min(4.72vw, 68px);
	}
	.gap_69 {
		column-gap: min(4.79vw, 69px);
	}
	.gap_70 {
		column-gap: min(4.86vw, 70px);
	}
	.gap_71 {
		column-gap: min(4.93vw, 71px);
	}
	.gap_72 {
		column-gap: min(5.00vw, 72px);
	}
	.gap_73 {
		column-gap: min(5.07vw, 73px);
	}
	.gap_74 {
		column-gap: min(5.14vw, 74px);
	}
	.gap_75 {
		column-gap: min(5.21vw, 75px);
	}
	.gap_76 {
		column-gap: min(5.28vw, 76px);
	}
	.gap_77 {
		column-gap: min(5.35vw, 77px);
	}
	.gap_78 {
		column-gap: min(5.42vw, 78px);
	}
	.gap_79 {
		column-gap: min(5.49vw, 79px);
	}
	.gap_80 {
		column-gap: min(5.56vw, 80px);
	}
	.gap_81 {
		column-gap: min(5.62vw, 81px);
	}
	.gap_82 {
		column-gap: min(5.69vw, 82px);
	}
	.gap_83 {
		column-gap: min(5.76vw, 83px);
	}
	.gap_84 {
		column-gap: min(5.83vw, 84px);
	}
	.gap_85 {
		column-gap: min(5.90vw, 85px);
	}
	.gap_86 {
		column-gap: min(5.97vw, 86px);
	}
	.gap_87 {
		column-gap: min(6.04vw, 87px);
	}
	.gap_88 {
		column-gap: min(6.11vw, 88px);
	}
	.gap_89 {
		column-gap: min(6.18vw, 89px);
	}
	.gap_90 {
		column-gap: min(6.25vw, 90px);
	}
	.gap_91 {
		column-gap: min(6.32vw, 91px);
	}
	.gap_92 {
		column-gap: min(6.39vw, 92px);
	}
	.gap_93 {
		column-gap: min(6.46vw, 93px);
	}
	.gap_94 {
		column-gap: min(6.53vw, 94px);
	}
	.gap_95 {
		column-gap: min(6.60vw, 95px);
	}
	.gap_96 {
		column-gap: min(6.67vw, 96px);
	}
	.gap_97 {
		column-gap: min(6.74vw, 97px);
	}
	.gap_98 {
		column-gap: min(6.81vw, 98px);
	}
	.gap_99 {
		column-gap: min(6.88vw, 99px);
	}
	.gap_100 {
		column-gap: min(6.94vw, 100px);
	}
	img.obj {
		position: absolute;
		display: block;
		height: auto;
		z-index: 0
	}
	.no_link{
		pointer-events: none;
		cursor: default;
		text-decoration:none;
	}
	.yaku {	font-feature-settings: "palt";}
	.han_br{
		word-wrap: break-word;
		overflow-wrap: break-word;
	}
	.v_mid {
		vertical-align: middle;
	}
	.idt{
	  text-indent: 1em;
	}

	/* ==========================================================================
	   Author's custom styles
	   ========================================================================== */
	header.general {
		padding: 9px min(1.67vw, 32px);
		background: #FFF;
		position: sticky;
		top: 0;	z-index: 1000;
	}
	header.general .inn {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	header.general .logos {
		position: relative;
		display: flex;
		align-items: center;
		column-gap: 8px;
	}
	header.general .logo {
		display: block;
		width:min(3.13vw, 60px);
		height: auto
	}
	header.general .ttl {
		font-size: clamp(14px, 0.94vw, 18px);	
		font-weight: 700;
		letter-spacing: .1em;
		line-height: 1.5;
	}
	header.general .lists {
		display: flex;
		align-items: center;
		column-gap: min(0.89vw, 17px)
	}
	header.general .lists ul {
		display: flex;
		align-items: center;
		column-gap: min(2.08vw, 40px);	
	}
	header.general .lists > li a {
		font-size: clamp(12px, 0.73vw, 14px);	
		font-weight: 500;
		letter-spacing: .035em;
		opacity: 1;
		transition: opacity 0.25s 0s ease;	
	}
	header.general .listss > li a:hover {
		opacity: .5
	}
	header.general .lists li.par {
		position: relative;
	}
	header.general .lists li.par a {
		display: inline-flex;
		align-items: center;
		column-gap: 8px;
	}
	header.general .lists li.par a::after {
		content: "";
		width: 11px;
		height: 8px;
		background: url("../img/ico_arrw_1.svg") no-repeat center / cover;
		flex-shrink: 0;
	}
	header.general .lists li.par .dropdown {
	  position: absolute;
	  top: 100%;   
	  left: 50%;
	  transform: translateX(-50%) translateY(10px); 
	  display: block;  
	  width: 230px;    
	  padding: 0;
	  background-color: #fff;
	  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	  border-radius: 4px;

	  opacity: 0;
	  visibility: hidden;
	  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
	  z-index: 100;
	}

	header.general .lists li.par:hover .dropdown {
	  opacity: 1;
	  visibility: visible;
	  transform: translateX(-50%) translateY(0); 
	}

	header.general .lists li.par .dropdown li {
	  width: 100%;
	}

	header.general .lists li.par .dropdown li a {
	  display: block;
	  padding: 17px 20px;
	  font-size: 13px;
	  color: #333;
	  text-align: left; 
	  transition: background-color 0.2s ease, color 0.2s ease;
	}

	header.general .lists li.par .dropdown li a:hover {
	  background-color: #f5f5f5;
	  color: #000;
	  opacity: 1; 
	}

	header.general .lists li.par a::after {
	  transition: transform 0.3s ease; 
	}

	header.general .lists li.par:hover a::after {
	  transform: rotate(180deg); 
	}
	header.general .infos {
		display: flex;
		align-items: center;
		column-gap: min(1.67vw, 32px)
	}
	header.general .infos .tels {
		display: flex;
		align-items: center;
		column-gap: min(0.57vw, 11px);
		color: var(--clr_blue);	
		position: relative;
	}
	header.general .infos .num {
		font-size: clamp(14px, 1.04vw, 20px);	
		font-weight: 700;
		letter-spacing: .0em;
	}
	header.general .infos .time {
		font-size: clamp(11px, 0.68vw, 13px);	
		font-weight: 500;
		color: var(--clr_blue);
		letter-spacing: .013em;
	}
	header.general .infos .btn a {
		display: block;
		padding: 16px min(1.46vw, 28px);
		border-radius: 33px;
		background: var(--clr_org);
		font-size: 13px;	
		font-weight: 700;
		color: #FFF;
		text-align: center;
		letter-spacing: .0em;
		line-height: 1;
		font-feature-settings: "palt";	
	}
	.fv {
		position: relative;
		z-index: 1;
		background: #FFF8EE
	}
	.fv .inn {
		background: url("../img/kv.png") no-repeat top right / cover
	}
	.fv .inn .tx {
		padding-left: min(6.94vw, 100px);
		color: var(--clr_blue);	
	}
	.fv .inn .tx .ttl {
		font-family: "hiragino-mincho-pron", sans-serif;
		font-size: clamp(16px, 3.33vw, 48px);	
		font-weight: 600;
		letter-spacing: .22em;
		line-height: 1.35;
		font-feature-settings: "palt";
	}
	.fv .inn .tx .msg {
		letter-spacing: .09em;
		line-height: 2.2;
	}
	.fv .inn .tx .btns {
		max-width: 544px;
	}
	.fv .inn .tx .btn {
		flex: 1;
		position: relative;
		padding: min(1.11vw, 16px) min(1.46vw, 21px) min(1.11vw, 16px) min(2.78vw, 40px); 
		border-radius: 6px; 
		background-color: #EF5218; 
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 8px; 
		transition: background-color 0.25s ease, border-color 0.25s ease;
	}
	.fv .inn .tx .btn p {
		color: #fff;
		font-size: clamp(11px, 1.04vw, 15px);	
		font-weight: 700; /* Bold */
		letter-spacing: 0.16em; /* 16% */
	}

	.fv .inn .tx .btn::after {
		content: "";
		width: 8px;
		height: 8px;
		border-top: 2px solid #ffffff;
		border-right: 2px solid #ffffff;
		transform: rotate(45deg);

		flex-shrink: 0;
		transition: transform 0.25s ease, border-color 0.25s ease;
	}

	.fv .inn .tx .btn.ver2 {
		background-color: #ffffff;
		border: 1px solid var(--clr_blue); 
	}

	.fv .inn .tx .btn.ver2 p {
		color: var(--clr_blue);
	}

	.fv .inn .tx .btn.ver2::after {
		border-color: var(--clr_blue);
	}

	.fv .inn .tx .btn:hover::after {
		transform: rotate(45deg) translate(3px, -3px);
	}
	.in_side_pad {	
		padding-right: min(4.17vw, 60px);
		padding-left: min(4.17vw, 60px);	
	}
	.in_side_pad_l {	
		padding-left: min(4.17vw, 60px);	
	}
	.fv_und {
		margin-top: calc(min(1.74vw, 25px) * -1);
		position: relative;
		z-index: 10;	
		column-gap: 13px;
	}
	.fv_und .item {
		flex: 1;
		padding: min(1.74vw, 25px) min(1.39vw, 20px);
		box-shadow: 0px 2px 3px 0px #00071D1A;
		border-radius: 8px;
		background: #FFFFFF;
		display: flex;
		column-gap: min(2.01vw, 29px);
	}
	.fv_und .item .tx {
		font-weight: 700;
		color: var(--clr_blue);
	}
	.fv_und .item .tx .ttl {
		font-size: clamp(13px, 1.111vw, 16px);	
	}
	.fv_und .item .tx .msg {
		font-size: 12px;	
		margin-top: 5%;
		line-height: 2
	}
	.tp_concept .col_l {
		width: min(54.44vw, 784px);
		display: flex;
	}
	.tp_concept .col_l .tx {
		width: min(21.67vw, 312px);
		flex-shrink: 0
	}
	.tp_concept .col_l .tx .msg {
		letter-spacing: 0;
	}
	.tp_concept .col_l .px {
		flex: 1; 
		margin: 0; 
	}
	.tp_concept .col_r {
		flex: 1; 
		display: flex;
		column-gap: 10px;
		justify-content: space-between
	}
	.tp_concept .col_r .box {
		flex: 1;
		padding: min(2.08vw, 30px) min(1.67vw, 24px);
		border-radius: 10px;
		background: #F9F4EE
	}
	.tp_concept .col_r .box .row {
		display: flex;
		align-items: center;
		column-gap: 8px
	}
	.tp_concept .col_r .box .row .px {
		width: min(3.33vw, 48px)
	}
	.tp_concept .col_r .box .row .tx {
		flex: 1;
		font-size: 12px;
		left: 0;
		line-height: 2
	}
	.tp_sv .stage {
		gap: min(1.67vw, 24px);
	}
	.tp_sv .stage .item {
		width: calc((100% - min(1.67vw, 24px) * 2) / 3);
		padding: 10px;
		border-radius: 4px;
		background: #FFF;
		box-shadow: 0px 2px 3px 0px #00071D1A;
		display: flex;
		column-gap: 16px;
		position: relative;
	}
	.tp_sv .stage .item .px {
		width: min(12.64vw, 182px);
	}
	.tp_sv .stage .item .tx {
		padding: 2% 0;
		flex: 1;
		display: flex;
		flex-direction: column;
		justify-content: space-between
	}
	.tp_sv .stage .item .tx .in_ttl {
		color: var(--clr_blue);
		letter-spacing: .0em;
		font-weight: 600
	}
	.tp_sv .stage .item .tx .msg {
		font-size: 10px;
		line-height: 1.8;
		color: var(--clr_blue);
		letter-spacing: .0em;
		font-weight: 600;
		font-feature-settings: "palt";	
	}
	.more {
		font-size: 11px;
		color: var(--clr_org2);
		letter-spacing: .0em;
		font-weight: 600;
		line-height: 1
	}
	.more span {
		position: relative;
	}
	.more span::after {
		content: "";
		position: absolute;
		top: 0;
		bottom:0;
		right: -17px;
		width: 12px;
		height: 7px;
		margin: auto;
		background: url("../img/ico_arrw_2.svg") no-repeat center / cover
	}
	.tp_cs .stage .item {
		flex: 1;
		padding: 16px;
		border-radius: 4px;
		background: #FFF;
		box-shadow: 0px 2px 3px 0px #00071D1A;
		position: relative;
	}
	.tp_cs .stage .item .num {
		display: inline;
		font-weight: 700;
		font-size: 10px;
		leading-trim: NONE;
		line-height: 1;
		letter-spacing: 6%;
		color: #FFF;
		background: var(--clr_blue);
		border-radius: 32px;
		padding: 2px 6px
	}
	.tp_cs .stage .item {
		position: relative;
	}
	.tp_cs .stage .item .sepa {
		margin-top: 4%;
		display: flex;
		align-items: flex-end;
		column-gap: 12px;
		color: var(--clr_blue)
	}
	.tp_cs .stage .item .in_ttl {
		font-size: clamp(13px, 0.97vw, 14px);	
		font-weight: 700;
		letter-spacing: .0em;
	}
	.tp_cs .stage .item .sepa .tx .msg {
		margin-top: 4%;
		font-size: 12px;	
		font-weight: 700;
		letter-spacing: .06em;
		line-height: 2;
	}
	.faqs .item {
		flex: 1;
		background: var(--clr_beg2);
		box-shadow: 0px 2px 3px 0px #00071D1A;	
	}
	.faqs .item.price {
	}
	.faqs .item.price .px {
		width: min(16.94vw, 244px)
	}
	.faqs .item.price .tx {
		flex: 1;
		padding: 3% 2% 3% 7%;	
	}
	.faqs .item.price .tx .ttl {
		padding-bottom: 1%;
		margin-bottom: 4%;
		border-bottom: 2px solid var(--clr_brown)	
	}
	.list_type_chk li {
		padding-left: min(1.81vw, 26px);
		position: relative;
		font-size: 12px;	
		font-weight: 700;
		letter-spacing: .1em;
		line-height: 2;
		margin-bottom: 3%
	}
	.list_type_chk li:last-child {
		margin-bottom: 0
	}
	.list_type_chk li::before {
		content: "";
		position: absolute;
		top: .3em;
		left: 0;
		width: min(1.11vw, 16px);
		height: min(1.11vw, 16px);
		margin: auto;
		background: url("../img/ico_chk.png") no-repeat center / contain
	}
	.faqs .item.faq {
		padding: min(0.97vw, 14px) min(2.36vw, 34px) min(1.74vw, 25px)	
	}
	.faqs .item.faq .ttl {
		padding-bottom: .5%;
		border-bottom: 2px solid var(--clr_brown);
	}
	.faqs .item.faq .block {
		background: #FFF;
		padding: 6px 16px;
	}
	.faqs .item.faq .block .row dl {
		display: flex;
		font-size: 12px;	
		font-weight: 700;
		color: var(--clr_blue);
		letter-spacing: .1em;
	}
	.faqs .item.faq .block .row dt {
		width: 4%
	}
	.faqs .item.faq .block .row dd {
		flex: 1
	}
	.faqs .item.faq .block .row.q_area {
		position: relative;
		padding-right: min(2.78vw, 40px);
		cursor: pointer;
	}
	.faqs .item.faq .block .row.q_area::after {
		content: "";
		position: absolute;
		top: 0;
		bottom:0;
		right: min(2.08vw, 30px);
		width: 14px;
		height: 8px;
		margin: auto;
		background: url("../img/ico_arrw_3.svg") no-repeat center / contain;
		transition: transform 0.3s ease;
	}
	.faqs .item.faq .block .row.a_area {
		display: none;
		margin-top: 10px
	}
	.faqs .item.faq .block .row.q_area.open::after {
		transform: rotate(180deg);
	}
	.tp_ulz {
		padding: 16px 0;
		background: linear-gradient(90deg, #FEF7F2 0%, #FFF7F0 100%);
	}
	.tp_ulz .big_ttl {
		width: min(45.14vw, 650px);	
		background: linear-gradient(90deg, #FEF7F2 0%, #FFF7F0 100%);
	}
	.tp_ulz .big_ttl .px {
		width: min(20.14vw, 290px)
	}
	.tp_ulz .big_ttl .tx {
		flex: 1
	}
	.tp_ulz .lists {
		flex: 1;
	}
	.tp_ulz .lists .list_type_chk {
		width: min(32.64vw, 470px);
	}
	.tp_ulz .lists .list_type_chk li {
		font-size: 12px;
		margin-bottom: 2%;
		line-height: 1.3;
		letter-spacing: .025em;
	}
	.tp_ulz .lists .list_type_chk .px {
		flex: 1
	}
	.tp_cta {
		padding: 16px 0;
		background-image: url("../img/tp_cta_bg_l.png"), url("../img/tp_cta_bg_r.png");
		background-repeat: no-repeat;
		background-position: left, right;
		background-size: contain
	}
	.tp_cta .msg {
		color: var(--clr_blue2)
	}
	.tp_cta .btns {
		width: min(33.33vw, 480px);
	}
	.tp_cta .btns .btn {
		flex: 1;
	}
	.tp_cta .btns .btn a {
		display: flex;
		height: 100%;	
		gap: min(1.39vw, 20px);
		align-items: center;
		justify-content: center;
		padding: 17px 2%;
		border-radius: 10px;
	}
	.tp_cta .btns .btn a .mn {
		font-size: clamp(13px, 1.111vw, 16px);	
		font-weight: 700;
		color: #FFF;
		letter-spacing: 0.1em;
	}
	.tp_cta .btns .btn.tels a {
		background: #013061
	}
	.tp_cta .btns .btn.mail a {
		background: var(--clr_org)
	}
	.tp_cta .btns .btn a img {
		display: block;
		height: auto;
		width:min(2.15vw, 31px);
	}
	footer {
		padding: 16px 0;
		background: #053764;
		font-size: 13px;
		font-weight: 500;
		color: #FFF;
	}
	footer .stage .col {
		letter-spacing: .2em;	
		line-height: 1.7;
		padding: 0 min(2.78vw, 40px);
		border-right: 1px solid #FFFFFF
	}
	footer .stage .col.no2 {
		padding-top: 3%
	}
	footer .stage .col:last-child {
		border-right: none;
		padding-right: 0;
	}
	footer .stage .col:first-child {
		padding-left: 0;
	}
	footer .stage .col.no1 .ttl {
		font-weight: 700
	}
	.under_fv {
		position: relative
	}
	.under_fv::after {
		content: "";
		position: absolute;
		top: 0;
		bottom:0;
		left: 0;
		right: 0;
		width: 100%;
		max-width: 1440px;
		height: 100%;
		margin: auto;
		background: linear-gradient(89.64deg, #053764 0.24%, rgba(5, 55, 100, 0) 99.62%);
	}
	.under_fv .in_wrap {
		position: absolute;
		top: 0;
		bottom:0;
		left: 0;
		right: 0;
		width: 100%;
		height: 100%;
		margin: auto;
		display: flex;
		justify-content: center;
		align-items: center;
		z-index: 100
	}
	.under_fv .in_wrap .h_type_1.ver1 {
		text-align: center;
	}
	.h_type_1.ver1 .ttl {
		font-size: clamp(18px, 3.06vw, 44px);	
		letter-spacing: .0;
		color: #FFF
	}
	.breadcrumb_wrap {
	}
	.breadcrumb_wrap .inn {
		padding-top: min(5.56vw, 80px);
		padding-bottom: min(4.17vw, 60px);
		border-bottom: 1px solid var(--clr_brown)
	}

	.breadcrumb_wrap .breadcrumbs {
		font-size: 12px;
		font-weight: 400;
		line-height: 1.3;
		letter-spacing: 0em;
		color: var(--clr_blue);	
	}

	.breadcrumb_wrap .breadcrumbs a {
		text-decoration: none;
		transition: opacity 0.3s ease;
	}

	.breadcrumb_wrap .breadcrumbs a:hover {
		opacity: 0.7;
	}

	.breadcrumb_wrap .breadcrumbs>span:not(:last-child)::after {
		content: "-";
		margin: 0 8px; 
		display: inline-block;
	}
	.breadcrumb_wrap .breadcrumbs .current-item {
		font-weight: 700
	}
	.block_tp_1 {
		padding-bottom: min(2.78vw, 40px);
		border-bottom: 1px solid var(--clr_brown)
	}
	.block_tp_1 .px {
		width: min(40.14vw, 578px)
	}
	.block_tp_1 .tx {
		flex: 1
	}
	.under .bse_tx {
		font-size: clamp(14px, 1.111vw, 16px);	
		font-weight: 400;
		letter-spacing: .0em;
		line-height: 1.7;
	}
	.sec_tp_2_box {
		padding: min(3.82vw, 55px) min(2.78vw, 40px);
		background: var(--clr_beg2)
	} 
	.sec_tp_2_cta {
		max-width: 612px;
		margin-inline: auto;
		padding: 10px 2%;
		border-radius: 10px;
		background: #FFF;
		box-shadow: 0px 2px 3px 0px #00071D1A;
	}
	.sec_tp_2_cta .tx {
		display: flex;
		align-items: center;
		padding-right: min(1.67vw, 24px);
		padding-left: min(2.08vw, 30px);
		border-right: 1px solid var(--clr_brown)
	}
	.sec_tp_2_cta .num {
		padding-left: min(1.67vw, 24px);
		padding-right: min(2.08vw, 30px);
		text-align: center;
	}
	.form_area {
		padding: min(2.78vw, 40px);
		border-radius: 10px;
		background: #FFF;
	}
	.form_area .upp {
		display: flex;
	}
	.form_area .upp .left {
		width: 22.54%;
		display: flex;
		align-items: center;
		border-right: 1px solid var(--clr_brown)
	}
	.form_area .right {
		flex: 1;
		padding-left: min(2.78vw, 40px)
	}
	.form_area .right .row {
		display: flex;
		margin-bottom: 8px
	}
	.form_area .right .row:last-child {
		margin-bottom: 0
	}
	.form_area .right .row .title {
		flex: 1;
		display: flex;
		align-items: center;
		column-gap: 8px;
	}
	.form_area .right .row .title .req {
		border-radius: 33px;
		padding: 6px 8px;
		font-size: 11px;
		font-weight: 600;
		color: #FFF;
		left: 0;
		line-height: 1;
		background: var(--clr_org)
	}
	.form_area .right .row .title .tx {
		font-size: clamp(12px, 0.97vw, 14px);	
		font-weight: 700
	}

	.form_area .right .row .input {
		width: min(37.5vw, 540px);
	}
	.form_area .right .row .input input[type="text"],
	.form_area .right .row .input input[type="email"],
	.form_area .right .row .input input[type="tel"],
	.form_area .right .row .input textarea {
		width: 100%;
		padding: 12px 16px;
		border: 1px solid #D9D9D9;
		border-radius: 6px;
		background: #FFF;
		font-size: 15px;
		color: #333;
		box-sizing: border-box;
		transition: border-color 0.3s ease;
	}
	.form_area .right .row .input input:focus,
	.form_area .right .row .input textarea:focus {
		border-color: var(--clr_blue);
		outline: none;
	}
	.form_area .right .row .input textarea {
		height: 160px;
		resize: vertical;
	}
	.form_area .right .row .input input::placeholder,
	.form_area .right .row .input textarea::placeholder {
		color: #B3B3B3;
		opacity: 1;
	}
	.form_area .right .row .input textarea {
		height: 200px;
		resize: vertical;
	}
	.form_area .check {
		display: flex;
		justify-content: center;
	}
/* 全体のレイアウト（Flexboxで横並び・中央揃え） */
.check_label_wrapper {
  display: flex;
  align-items: center;
  justify-content: center; /* 中央寄せにしたい場合 */
  cursor: pointer;
}

/* 1. デフォルトのチェックボックス要素を視覚的に隠す */
/* ※ display: none; にするとCF7の送信検証がうまく動かない場合があるため、領域ごと隠します */
.check_label_wrapper .wpcf7-form-control-wrap {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
  overflow: hidden;
}

/* 2. カスタムチェックボックス（四角）のベースデザイン */
.check_label_wrapper .checkbox_icon {
  display: inline-block;
  width: 20px;   /* 任意のサイズ */
  height: 20px;  /* 任意のサイズ */
  border: 1px solid #707070; /* 枠線の色 */
  background-color: #fff;
  margin-right: 12px; /* テキストとの余白 */
  position: relative;
  flex-shrink: 0; /* 画面幅が縮んでも四角が潰れないようにする */
}

/* 3. チェックが入った時の「レ点」マーク */
.check_label_wrapper:has(input:checked) .checkbox_icon::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 6px;
  width: 6px;
  height: 11px;
  border-right: 2px solid #E65A28; /* ボタンの色（オレンジ）に合わせる */
  border-bottom: 2px solid #E65A28;
  transform: rotate(45deg);
}

/* 4. リンク部分のクリック配慮 */
.check_label_wrapper .checkbox_text a {
  position: relative;
  z-index: 2; /* ラベル全体のクリックより優先させる */
  text-decoration: underline; /* リンクであることを明示 */
}
.form_btn_wrap {
		display: flex;
		justify-content: center;
	}
	.form_btn_wrap {
		display: flex;
		justify-content: center;
		margin-top: min(2.78vw, 40px);
	}
	.form_btn_wrap .submit_btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 16px;
		width: 265px;
		height: 55px;
		background-color: var(--clr_org);
		color: var(--clr_wht);
		font-size: 16px;
		font-weight: 700;
		border: none;
		border-radius: 8px;
		cursor: pointer;
		padding: 16px min(1.67vw, 24px);
		box-sizing: border-box;
		transition: opacity 0.3s ease, transform 0.2s ease;
	}
	.form_btn_wrap .submit_btn::after {
		display: none
	}
	.form_btn_wrap .submit_btn:hover {
		opacity: 0.85;
	}
	.form_btn_wrap .submit_btn:active {
		transform: scale(0.98);
	}
.submit_btn.back_btn {
	margin-right: 20px
}
.wpcf7-spinner {
    position: absolute;
}
	.sec_tp_2_box .area_wrap .ttl span {
		line-height: 1;
		letter-spacing: 0;
		color: var(--clr_org);
		font-weight: 700;
		background: #FFF;
		padding: 6px min(1.67vw, 24px);
		border-radius: 33px;
		border: 1px solid var(--clr_org)
	}
	.faq_block {
		box-shadow: 0px 2px 3px 0px #00071D1A;
		border-radius: 10px;
		overflow: hidden
	} 
	.faq_block .row .in {
		display: flex
	} 
	.faq_block .row .in .en {
		width: 4%;
		letter-spacing: .06em;
		font-weight: 700
	} 
	.faq_block .row .in .mn {
		flex: 1
	} 
	.faq_block .row.q_area {
		cursor: pointer;
	}
	.faq_block .row.q_area .in {
		padding: 14px min(2.78vw, 40px);
		padding-right: 50px;	
		background: var(--clr_beg2);
		color: var(--clr_blue);
		position: relative
	} 
	.faq_block .row .in .en {
		font-size: clamp(18px, 1.67vw, 24px);
	} 
	.faq_block .row.q_area .in .mn {
		font-size: clamp(14px, 1.111vw, 16px);	
		letter-spacing: .01em;
		font-weight: 700;
		padding-top: 0.5em;
		position: relative
	} 

	.faq_block .row.a_area {
		padding: 16px min(3.82vw, 55px);
		display: none
	} 
	.faq_block .row.a_area .in .en {
		color: var(--clr_brown)
	} 
	.faq_block .row.a_area .in .mn {
		font-size: clamp(12px, 0.97vw, 14px);	
		letter-spacing: 0;
		padding-top: 0.5em;
	} 
	.faq_block .row.q_area .in::after {
		content: "";
		position: absolute;
		right: min(2.78vw, 40px);
		top: 50%;
		width: 8px;
		height: 8px;
		border-top: 2px solid var(--clr_blue);
		border-right: 2px solid var(--clr_blue);
		transform: translateY(-50%) rotate(135deg);
		transition: transform 0.3s ease;
	}
	.faq_block .row.q_area.open .in::after {
		transform: translateY(-50%) rotate(-45deg);
	}
	.faq_block .row.a_area {
		padding: 16px min(3.82vw, 55px);
	} 
	.faq_block .row.a_area .in .en {
		color: var(--clr_brown)
	} 
	.faq_block .row.a_area .in .mn {
		font-size: clamp(12px, 0.97vw, 14px);	
		letter-spacing: 0;
		padding-top: 0.5em;
	}
	.block_tp_2 {
		padding: min(2.22vw, 32px) min(2.78vw, 40px);
		background: var(--clr_beg2);
		display: flex;
		align-items: center;
		justify-content: space-between;
		border-radius: 10px;
	}

	.block_tp_2 .tx {
		flex: 1;
		display: flex;
		align-items: center;
		column-gap: min(1.67vw, 24px);
		padding-right: 2%
	}
	.block_tp_2 .tx .num {
		width: 77px;
	}
	.block_tp_2 .tx .num aside {
		font-size: 14px;	
		font-weight: 700;
		color: #FFF;
		text-align: center;
		letter-spacing: .04em;
		line-height: 1;
		padding: 6px 8px;
		border-radius: 33px;
		background: var(--clr_blue);
	}
	.block_tp_2 .tx .num img {
		margin-top: min(1.11vw, 16px);
	}
	.block_tp_2 .tx .msg {
		flex: 1
	}
	.block_tp_2 .px {
		width: min(13.89vw, 200px);
	}
	.block_tp_2.ver2 {
		display: block;
		padding: 50px min(6.94vw, 100px)
	}
	.block_tp_2.ver2 .row {
		width: 100%;
		font-size: clamp(14px, 1.111vw, 16px);	
		line-height: 1.7;
		display: flex;
		padding-bottom: 8px;
		margin-bottom: 16px;
		border-bottom: 1px solid var(--clr_brown)
	}
	.block_tp_2.ver2 .row:last-child {
		margin-bottom: 0;
	}
	.block_tp_2.ver2 .row .hd {
		width: min(10.83vw, 156px);
		font-weight: 700;
		color: var(--clr_blue)
	}
	.block_tp_2.ver2 .row .mn {
		flex: 1;
	}
	.pp_block {
		margin-top: 15px;
		padding-bottom: 12px;
		border-bottom: 1px solid var(--clr_brown)
	}
	.pp_block:first-of-type {
		margin-top: 0;
	}
	.pp_block .in_ttl {
		font-weight: 600;
		color: var(--clr_blue);
		padding-bottom: 8px
	}
	.pp_block .list_type_num li {
		margin-bottom: 0;
	}
	.sepa_pxs_tp1 {
		display: flex;
		column-gap: 8px;
	}
	.sepa_pxs_tp1 .item {
		flex: 1;
	}
	.sepa_pxs_tp1 img {
		display: block;
		width: 100%;
		height: auto
	}
	.under .h_type_1.ver1 .add {
		font-family: "hiragino-mincho-pron", sans-serif;
		font-weight: 600;
		letter-spacing: 0;
		color: #FFF;
	}
	.under .h_type_1.ver1 .add span {
		position: relative
	}
	.under .h_type_1.ver1 .add span::before,
	.under .h_type_1.ver1 .add span::after {
		content: "";
		position: absolute;
		top: 0;
		bottom:0;
		width: 16px;
		height: 2px;
		margin: auto;
		background: #FFF
	}
	.under .h_type_1.ver1 .add span::before {
		left: -24px
	}
	.under .h_type_1.ver1 .add span::after {
		right: -24px
	}

















































	@media screen and (max-width:1440px){
	.wrap_1440 {
		padding-right: 2%;
		padding-left: 2%;
	}
	.under_fv::after{
		width: 96%;
		margin: auto
	}	
	footer .stage .col {
		padding: 0 1vw;
	}

	}
	@media screen and (max-width:1210px){
	.tp_concept {
		display: block
	}
	.tp_concept .col_l {
		width: 100%
	}
	.tp_concept .col_l .tx {
		width: 50%;
		flex-shrink: 0;
	}
	.tp_concept .col_r {
		margin-top: 20px
	}
	.tp_concept .col_r .box {
		width: 50%;
		flex: none
	}
	.tp_concept .col_r .box br {
		display: none
	}
	footer .stage {
		flex-wrap: wrap
	}
	footer .stage .col {
		padding: 0 2.5vw;
	}

	footer .stage .col.no1 {
		width: 48%;
		text-align: center;
			max-width: 480px;    
		padding-left: 0; 
		margin-bottom: 2%
		}

		footer .stage .col.no2 {
			width: 48%;
		text-align: center;		
			max-width: 480px;   
			border-right: none; 
			padding-right: 0; 
		margin-bottom: 2%		
		}	
	footer .stage .col.no3 {
			width: 30%;
	max-width: 180px; 	
			padding-left: 0;
		}

		footer .stage .col.no4 {
			width: 40%; 
	max-width: 260px;    	
		}

		footer .stage .col.no5 {
			width: 30%; 
			border-right: none; 
			padding-right: 0; 
	max-width: 200px;   	
		}	
	.wrap_1172 {
		padding-right: 2%;
		padding-left: 2%;
	}

	}
	@media screen and (max-width:1080px){
	header.general .inn {
		display: block;
	}	
	header.general .logos {
		justify-content: center;
		margin-bottom: 0%;
	}
	header.general .lists {
		justify-content: space-between

	}
	header.general .lists ul {
		display: flex;
		align-items: center;
	}	
	header.general .lists ul {
		display: flex;
		align-items: center;
		column-gap: min(2.08vw, 40px);
	}	
	header.general .infos .btn a {
		padding: 16px 1vw;
		font-size: 10px;	
	}
	header.general .lists ul {
		column-gap: 3vw;
	}	
	.fv .inn .tx {
		padding-left: 2%;
	}
	}
	@media screen and (max-width:880px){
	header.general .lists ul {
		column-gap: 1vw;
	}		
	}
	@media screen and (max-width:767px){
	/* ==========================================================================
	   Commons styles
	   ========================================================================== */
	.flex_wrapper, .flex-wrap_par{
		display: block;
	}
	.flex_sp{
		display: -webkit-flex!important;
		display: -moz-flex!important;
		display: -ms-flex!important;
		display: -o-flex!important;
		display: flex!important;
		flex-wrap: wrap!important;
	}	
	.pc{display: none!important}
	.sp{display: block!important}	
	a[href^="tel:"] {
		pointer-events: auto;
		cursor: pointer;
	}	
	.wrap_1440, .wrap_1200, .wrap_1172, .wrap_1000 {
		width: 100%;
		max-width: 100%;
		height: auto;
		margin-left: auto;
		margin-right: auto;
		padding-right: 0.8rem!important;
		padding-left: 0.8rem!important;
	}	
	.sp_no_pad {
		padding-right: 0!important;
		padding-left: 0!important;	
	}
	.sp_on_pad {
		padding-right: 0.8rem!important;
		padding-left: 0.8rem!important;
	}
	.sp_width {
		width: calc(100% - 1.6rem);
		margin-left: auto;
		margin-right: auto;
	}
	.sp_width_over {
		width: calc(100% + 1.6rem);
		margin-left: -0.8rem;
	}
	.sp_tx_cent {
		text-align: center
	}
	.sp_yaku {
		font-feature-settings: "palt";
	}
	header.general {
		padding: 0;
		height: 64px;
	}
	header.general .inn {
		width: 100%;
		height: 100%;		
		display: flex;
		justify-content: space-between
	}
	header.general .logos {
		height: 100%;	
		justify-content: flex-start;
		align-items: center
	}		
	header.general .ttl {
		font-size: 16px;
		letter-spacing: .1em;
		line-height: 1;
	}	
	header.general .logos {
		column-gap: 4px
	}	
	header.general .logo {
		width: 36px;
	}		
	header.general .sp_menu_btn_wrap {
		position: relative;
	}
	header.general .sp_menu_btn_wrap::after {
		content: "";
		position: absolute;
		top: 0;
		bottom:0;
		right: 0;
		width: 44px;
		height: 44px;
		margin: auto;
		background: url("../img/sp_menu_btn_clos.png") no-repeat center / contain
	}
	header.general .sp_menu_btn {
		width: 80px;
		background: var(--clr_org);
		border-radius: 33px;
		font-size: 16px;	
		font-weight: 600;
		color: #FFF;
		text-align: center;
		letter-spacing: .0em;
		line-height: 1;
		font-feature-settings: "palt";
		padding: 12px 2%;
		position: relative;
		z-index: 10;
		opacity: 1;
		transition: opacity 0.25s 0s ease;
	}
	header.general .sp_menu_btn_wrap.on .sp_menu_btn {
		opacity: 0;
	}
	header.general .lists {
		display: none;
		position: absolute;
		top: 64px;
		left: 0;
		width: 100%;
		height: calc(100vh - 64px);
		overflow: scroll;
		padding: 20px 0.8rem 5vw;
		background: #FFF
	}
	header.general .lists ul {
		display: block;
	}
	.sp_tp_menus li {
		margin-bottom: 12px
	}	
	.sp_tp_menus li:last-of-type {
		margin-bottom: 0
	}	
	.sp_tp_menus li a {
		font-size: 16px;	
		font-weight: 600;
		color: #013061;
		letter-spacing: .0em;
		line-height: 1.5;
	}	
	.sp_tp_menus .row_1 {
		display: flex;
		padding: 30px 0;
		border-top: 1px solid var(--clr_brown);
		border-bottom: 1px solid var(--clr_brown)
	}	
	.sp_tp_menus .row_1 ul {
		flex: 1;
	}	
	.sp_tp_menus .row_2 {
		text-align: center;
		padding: 30px 0;
		border-bottom: 1px solid var(--clr_brown)
	}	
	.sp_menu_btns {
		padding: 30px 0;
	}		
	.sp_menu_btns img {
		display: block;
		margin-inline: auto;	
	}
	.sp_menu_btns_mail {
		margin-top: 16px
	}	
/*qqqqqqqqqqqqqqqqqqqqqqqqqqq*/	
.txs_18, .txs_24 {
    font-size: 24px;
}
.txs_20 {
    font-size:18px;
}		
.txs_24 {
    font-size: 22px;
}		
.txs_12 {
    font-size: 16px;
}
.txs_15 {
    font-size: 15px;
}		
.txs_17 {
    font-size: 20px
}		
.txs_32 {
    font-size: 28px;
}		
.sp_txs_16 {
    font-size: 16px;
} 		
.sp_txs_20 {
    font-size: 20px;
} 		
.sp_txs_28 {
    font-size: 28px;
} 		
		
.mgn_t_20 {
    margin-top: 3.5vw
}	
.mgn_t_30 {
    margin-top: 30px;
}	
	.mgn_t_35 {
		margin-top: 35px
	}
		
.mgn_t_40 {
    margin-top: 40px;
}		
.mgn_t_45 {
    margin-top: 40px;
}	
		
.sec_pad_60_t {
    padding-top: 40px;
}		
/*qqqqqqqqqqqqqqqqqqqqqqqqqqq*/	
.fv {
	padding-top: 55px
}	
.fv .inn {
	padding: 0 0 40px;
    background: url(../img/kv_sp.png) no-repeat top right / cover;
}		
	.fv .inn .tx .ttl {
		font-size: 9.6vw;
		font-weight: 600;
		letter-spacing: .05em;
		line-height: 1.35;
		font-feature-settings: "palt";
	}
	.fv .inn .tx {
		padding-left: 0;
	}		
.fv .inn .tx .msg {
    margin-top: 24px;
	font-size: 3.47vw;
	line-height: 1.5
}
.fv .inn .tx .btns {
	margin-inline: auto;		
	padding-top: 24px
}	
.fv .inn .tx .btn {
	width: 100%;
	margin-bottom: 16px;
    padding: 20px min(1.46vw, 21px) 20px min(2.78vw, 40px);
    gap: 16px;
}
.fv .inn .tx .btn:last-child {
	margin-bottom: 0;
}
.fv .inn .tx .btn p {
    font-size: 16px
}
.fv_und {
    margin-top: 70px;
    position: relative;
    z-index: 10;
    column-gap: 13px;
}		
.fv_und .item {
    flex: 1;
    padding: 24px;
    border-radius: 12px;
    column-gap: 20px;
	margin-bottom: 16px
}		
.fv_und .item:last-child {
	margin-bottom: 0
}		
.fv_und .item .tx .ttl {
    font-size: 5.33vw;
}		
.fv_und .item .tx .msg {
    font-size: 15px;
    margin-top: 3.2vw;
    line-height: 1.8;
}		
.tp_concept {
    padding-top: 50px
}		
 .tp_concept .col_l {
    width: 100%;
    display: block;
}		
.tp_concept .col_l .tx {
    width: 100%;
}
.h_type_1 .en {
    font-size: 3.2vw;
    letter-spacing: .02em;
    margin-bottom: 5px;
}		
.h_type_1.ver1 .ttl {
    font-size: 8vw;
}		
.tp_concept .col_l .tx .msg {
    font-size: 16px;
	line-height: 2;
	font-weight: 400
}		
.tp_concept .col_l .px {
    margin-top: 32px;
}		
.tp_concept .col_r {
	margin-top: 40px
}
.tp_concept .col_r {
    display: block;
}		
.tp_concept .col_r .box {
	width: 100%;
}
.tp_concept .col_r .box {
    flex: 1;
    padding:24px;
    border-radius: 12px;
}		
.tp_concept .col_r .row_wrap {
    margin-top: 20px
}		
.tp_concept .col_r .box .row {
    margin-bottom: 20px
}		
.tp_concept .col_r .box .row:last-child {
    margin-bottom: 0
}		
.tp_concept .col_r .box .row .px {
    width: 44px
}		
.tp_concept .col_r .box .row .tx {
    font-size: 15px;
    line-height: 2;
	font-feature-settings: "palt";	
}		
	.tp_concept .col_r .box br {
		display: block
	}
.tp_concept .col_r .spx {
    margin-top: 32px
}		
.tp_sv {
    margin-top: 50px
}		
.h_type_1.ver2 .ttl {
    font-size: 8vw;
} 		
.tp_sv .stage {
    margin-top: 35px;
}		
.tp_sv .stage .item {
    width: 100%;
    padding: 20px;
	display: block;
	margin-bottom: 24px
}		
.tp_sv .stage .item:last-child {
	margin-bottom: 0
}		
.tp_sv .stage .item .px {
    width: 196px;
	margin-inline: auto;	
}		
.tp_sv .stage .item .tx {
	margin-top: 20px;
    padding: 0;
    width: 80%;
	margin-inline: auto;	
}		
.tp_sv .stage .item .tx .in_ttl {
    font-size: 20px
}		
.tp_sv .stage .item .tx .msg {
    font-size: 15px;
	font-weight: 400;
    line-height: 1.8;
    margin-top: 15px
}		
.tp_sv .stage .item .tx .more {
    margin-top: 15px;
}		
.more {
    font-size: 15px;
    color: var(--clr_org2);
    letter-spacing: .0em;
    font-weight: 600;
    line-height: 1;
}		
.tp_cs {
    margin-top: 50px
}		
.tp_cs .stage .item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
    margin-bottom: 24px
} 		
.tp_cs .stage .item:last-child {
    margin-bottom: 0
} 		
.tp_cs .stage .item .num {
    display: inline;
    font-size: 12px;
    line-height: 1;
    letter-spacing: .05em;
    padding: 6px 0;
	width: 64px;
	text-align: center;
	font-weight: 400
}		
.tp_cs .stage .item .in_ttl {
    font-size: 20px;
    padding-left: 17px;
	line-height: 1.35;
	color: #013062
}		
.tp_cs .stage .item .sepa {
	width: 100%;
    margin-top: 15px;
    display: flex;
    align-items: flex-start;
    column-gap: 17px;
    color: var(--clr_blue);
}		
.tp_cs .stage .item .px {
	width: 64px;
	display: flex;
	justify-content: center
}		
.tp_cs .stage .item .tx {
	flex: 1
}		
.tp_cs .stage .item .sepa .tx .msg {
    margin-top: 0;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: .06em;
    line-height: 1.8;
}		
.faqs .item.price .tx {
    padding: 0;
}		
.faqs .item.price {
	margin-top: 50px
}		
.faqs .item {
    padding: 24px
}		
.faqs .item {
    padding: 24px
}		
.faqs .item.price .px {
    width: 100%;
	margin-bottom: 25px
}		
.faqs .item.price .tx .ttl {
    margin-bottom: 20px;
}		
.list_type_chk li {
    padding-left: 30px;
    position: relative;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1.6;
    margin-bottom: 4%;
}		
.list_type_chk li::before {
    content: "";
    position: absolute;
    top: 0;
	bottom: 0;
    left: 0;
    width: 14px;
    height: 14px;
    margin: auto;
    background: url(../img/ico_chk.png) no-repeat center / contain;
}		
.faqs .item.faq {
	margin-top: 40px;
    padding: 24px
}		
.faqs .item.faq .ttl {
    margin-bottom: 20px;
}		
.faqs .item.faq .block {
    background: #FFF;
    padding: 20px 33px 20px 0;
    margin-bottom: 20px;	
}		
.faqs .item.faq .block:last-child {
    margin-bottom: 0;
}		
.faqs .item.faq .block .row dt {
    width: 50px;
	font-size: 18px;
	text-align: center
}		
.faqs .item.faq .block .row.q_area::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: -14px;
}		
.faqs .item.faq .block .row dd {
    font-size: 15px;
}		
.faqs .item.faq .block .row dl {
    align-items: center
}		
.faqs {
    padding-bottom: 50px
}		
.faqs .item.faq .block .row dl {
    align-items: center
}		
.tp_ulz {
    padding: 50px 0;
    background: linear-gradient(90deg, #FEF7F2 0%, #FFF7F0 100%);
}		
.tp_ulz .big_ttl {
    width: 100%;
}		
.tp_ulz .big_ttl .px {
    width: 100%;
	margin-bottom: 25px
}		
.tp_ulz .more span.txs_14 {
    font-size: 17px;
}		
.tp_ulz .lists .list_type_chk {
    width: 100%;
	margin-top: 35px
}		
.tp_ulz .list_type_chk li::before {
    width: 24px;
    height: 24px;
	background-size: cover
}		
.tp_ulz .lists .list_type_chk li {
    font-size: 15px;
	font-weight: 500;
	padding-left: 40px;
    margin-bottom: 20px;
    line-height: 1.7;
    letter-spacing: 0;
}
.tp_cta {
    padding: 50px 0.8rem;
    background: none;
}		
.tp_cta .spx {
    margin-bottom: 35px
}		
.tp_cta .msg {
    font-size: 30px;
	letter-spacing: .042em;
	line-height: 1.5;
	text-align: center
}		
.tp_cta .btns {
	margin-top: 30px;
    width: 100%
}		
.tp_cta .btns .btn a img {
    width: 24px;
}		
.tp_cta .btns .btn {
    margin-bottom: 16px
}		
.tp_cta .btns .btn:last-child {
    margin-bottom: 0
}		
.tp_cta .btns .btn a {
    display: flex;
    height: 100%;
    gap: 20px;
    border-radius: 12px;
}		
.tp_cta .btns .btn a .mn {
    font-size: 24px;
    letter-spacing: 0.1em;
}		
.tp_cta .cap_wrap {
	font-size: 16px;
	margin-top: 20px;
    text-align: left
}		
.tp_cta .cap_wrap .cap {
	display: inline-block;
	padding: 4px;
	margin-bottom: 6px;
	border: 1px solid #013061;
	border-radius: 12px
}		
.tp_cta .cap_wrap .cap .ireg {
	display: none;
}		
footer {
    padding: 50px 0;
    font-size: 16px;
}	
footer .stage {
	display: flex;
	flex-wrap: wrap;	
}
footer .stage .col {
	letter-spacing: .055em;
	line-height: 1.6;
	font-feature-settings: "palt";	
	text-align: left;
    padding: 35px 0;
    border-right: none;
    border-bottom: 1px solid #FFFFFF;
}		
footer .stage .col.no1 {
	padding-top: 0;
	width: 100%;
	max-width: 480px;    
	margin-bottom: 2%;
	text-align: left
}
footer .stage .col.no1 .ttl {
    font-size: 30px;
	margin-bottom: 20px;
}		
footer .stage .col.no2 {
    width: 100%;
    text-align: left;		
    margin-bottom: 0;
	line-height: 2
}	
footer .stage .col.no3 {
    width: 50%;
    max-width: inherit; 	
    padding-left: 0;
}
footer .stage .col.no4 {
    width: 50%;
    max-width: inherit; 	
    padding-left: 0;
}
footer .stage .col ul li {
    margin-bottom: 16px
}
footer .stage .col ul li:last-child {
    margin-bottom: 0
}
footer .stage .col.no5 {
    width: 100%;
	max-width: inherit;
	border-bottom: none
}	
.under_fv .kv {
    padding: 0!important
}		
.under_fv::after {
    width: 100%;
    max-width: inherit;
    height: 100%;
    margin: auto;
    background: linear-gradient(89.64deg, rgba(5, 55, 100, 0.55) 0.24%, rgba(5, 55, 100, 0) 99.62%);
}		
.breadcrumb_wrap {
    background: var(--clr_beg2);			
}		
.breadcrumb_wrap .inn {
    padding: 35px 0;
}		
.breadcrumb_wrap .breadcrumbs {
    font-size: 13px;
}		
.contact .sec_tp_2 {
    background: var(--clr_beg2);
	padding: 0!important
}		
.contact .sec_tp_2_box {
    padding: 35px 0.8rem
} 		
.under .bse_tx,
.under .list_type_1 li {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: .0em;
    line-height: 1.7;
}		
		
.sec_tp_2_cta {
    max-width: 612px;
    margin-inline: auto;
    padding: 24px 2%;
}		
.sec_tp_2_cta .tx {
    display:block;
    padding: 0 0 12px;
    border-right: none;
    border-bottom: 1px solid var(--clr_brown);
	text-align: center
}		
.sec_tp_2_cta .tx p {
	text-align: center
}		
.sec_tp_2_cta .num {
    padding: 0;
}		
.sec_tp_2_cta .num .the {
    font-weight: 600
}		
.form_area {
    padding: 30px 0.8rem;
}		
.form_area .upp {
    display: block;
}		
.form_area .upp .left {
    width: 100%;
    display: block;
    text-align: center!important;
    border-right: none
}		
.form_area .right {
    flex: 1;
    padding: 30px 0 0;
}		
.form_area .right .row {
    display: flex;
	flex-wrap: wrap;
	margin-bottom: 16px
}		
.form_area .right .row .title {
	width: 100%;
    flex: 1;
    display: flex;
    align-items: center;
    column-gap: 8px;
}		
.form_area .right .row .title .req {
    border-radius: 33px;
    padding: 6px 8px;
    font-size: 12px;
    font-weight: 400;
    color: #FFF;
    left: 0;
    line-height: 1;
    background: var(--clr_org);
}		
.form_area .right .row .title .tx {
    font-size: 16px;
    font-weight: 700;
}		
.form_area .right .row .input {
	width: 100%;
	margin-top: 12px;
}		
.form_area .right .row .input input[type="text"], .form_area .right .row .input input[type="email"], .form_area .right .row .input input[type="tel"], .form_area .right .row .input textarea {
    width: 100%;
    padding: 16px 16px;
    border-radius: 8px;
    font-size: 16px;
}		
.checkbox_label {
    display: inline-flex;
	flex-wrap: wrap;
    align-items: flex-start;
    cursor: pointer;
    user-select: none;
}		
.checkbox_text {
	flex: 1;
    font-size: 14px;
    font-weight: 500;
    color: #333;
    line-height: 1.5;
	text-align: center
}		
.sec_tp_2_box .area_wrap .ttl span {
	display: inline-block;
    line-height: 1;
    letter-spacing: 0;
    color: var(--clr_org);
    font-weight: 700;
    background: #FFF;
    padding: 8px 20px;
    border-radius: 33px;
    border: 1px solid var(--clr_org);
}		
.sp_tx_left {
	text-align: left!important
}		
.block_tp_2,
.sec_tp_2_box {
    padding: 30px 4vw;
    display: block;
}		
.block_tp_2 .tx {
    display: block;
    padding-right: 0;
}		
.block_tp_2 .tx .num aside {
    font-size: 12px;
    font-weight: 500;
    padding: 8px 12px;
   margin-bottom: 16px
}		
.block_tp_2 .tx .num {
	margin-bottom: 24px
}		
.block_tp_2 .px {
    width: 100%;
	margin-top: 32px
}		
.faq_block .row.q_area .in {
    padding: 18px 20px;
	align-items: center
}		
.faq_block .row .in .en {
    font-size: clamp(18px, 1.67vw, 24px);
}
.faq_block .row .in .en {
    width: 10%;
    letter-spacing: .06em;
    font-weight: 700;
}		
.faq_block .row.q_area .in .mn {
    font-size: 16px;
    letter-spacing: .01em;
    font-weight: 700;
    padding-top: 0;
    position: relative;
}		
.faq_block .row .in {
    display: flex;
	align-items: center
}		
.faq_block .row.a_area .in .mn {
    font-size: 15px;
    letter-spacing: 0;
    padding-top: 0;
}		
.block_tp_1 .px {
    width: 100%;
	margin-top: 30px
}		
.block_tp_1 {
    padding-bottom: 30px;
}		
.sp_bg_beg2 {
    background: var(--clr_beg2);	
}		
.sp_bg_beg2 .sec_tp_2_box {
    padding: 0;
}	
.message .sec_tp_2_box .txs_24 {
    font-size: 30px;
}		
.message .sec_tp_2_box .nams {
    text-align: center
}		
.message .sec_tp_2_box .txs_32 {
    font-size: 36px;
}		
.under .h_type_1.ver1 .add {
    font-size: 5.33vw;
}		
.cal_ver.sec_pad_160_b {
    padding-bottom: 48px
}		
.sld_wrap {
    padding-bottom: 80px
}		
 .splide__slide img {
  width: 100%;
  height: auto;
  display: block; /* 画像下部の不要な余白を消すため */
}

/* もし元々の .item や .sld_wrap のスタイルが干渉して崩れる場合は、
   以下の余白リセットも追加してみてください */
.splide__slide.item {
  margin: 0;
  padding: 0;
}		
.block_tp_2.ver2 .row {
    width: 100%;
    font-size: 16px;
    line-height: 1.7;
    display: block;
    padding-bottom: 8px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--clr_brown);
}		
.block_tp_2.ver2 .row .hd {
    width: 100%;
	padding-bottom: 13px
}		
.pp_block {
    margin-top: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--clr_brown);
}		
.pp_block .bse_tx {
    font-weight: 200;
    letter-spacing: .0em;
    line-height: 1.9;
}		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
}
	/* ==========================================================================
	   Helper classes
	   ========================================================================== */

	/*
	 * Hide visually and from screen readers
	 */

	.hidden,
	[hidden] {
	  display: none !important;
	}

	/*
	 * Hide only visually, but have it available for screen readers:
	 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
	 *
	 * 1. For long content, line feeds are not interpreted as spaces and small width
	 *    causes content to wrap 1 word per line:
	 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
	 */

	.visually-hidden {
	  border: 0;
	  clip: rect(0, 0, 0, 0);
	  height: 1px;
	  margin: -1px;
	  overflow: hidden;
	  padding: 0;
	  position: absolute;
	  white-space: nowrap;
	  width: 1px;
	  /* 1 */
	}

	/*
	 * Extends the .visually-hidden class to allow the element
	 * to be focusable when navigated to via the keyboard:
	 * https://www.drupal.org/node/897638
	 */

	.visually-hidden.focusable:active,
	.visually-hidden.focusable:focus {
	  clip: auto;
	  height: auto;
	  margin: 0;
	  overflow: visible;
	  position: static;
	  white-space: inherit;
	  width: auto;
	}

	/*
	 * Hide visually and from screen readers, but maintain layout
	 */

	.invisible {
	  visibility: hidden;
	}

	/*
	 * Clearfix: contain floats
	 *
	 * The use of `table` rather than `block` is only necessary if using
	 * `::before` to contain the top-margins of child elements.
	 */

	.clearfix::before,
	.clearfix::after {
	  content: "";
	  display: table;
	}

	.clearfix::after {
	  clear: both;
	}

	/* ==========================================================================
	   EXAMPLE Media Queries for Responsive Design.
	   These examples override the primary ('mobile first') styles.
	   Modify as content requires.
	   ========================================================================== */

	@media only screen and (min-width: 35em) {
	  /* Style adjustments for viewports that meet the condition */
	}

	@media print,
	  (-webkit-min-device-pixel-ratio: 1.25),
	  (min-resolution: 1.25dppx),
	  (min-resolution: 120dpi) {
	  /* Style adjustments for high resolution devices */
	}

	/* ==========================================================================
	   Print styles.
	   Inlined to avoid the additional HTTP request:
	   https://www.phpied.com/delay-loading-your-print-css/
	   ========================================================================== */

	@media print {
	  *,
	  *::before,
	  *::after {
		background: #fff !important;
		color: #000 !important;
		/* Black prints faster */
		box-shadow: none !important;
		text-shadow: none !important;
	  }

	  a,
	  a:visited {
		text-decoration: underline;
	  }

	  a[href]::after {
		content: " (" attr(href) ")";
	  }

	  abbr[title]::after {
		content: " (" attr(title) ")";
	  }

	  /*
	   * Don't show links that are fragment identifiers,
	   * or use the `javascript:` pseudo protocol
	   */
	  a[href^="#"]::after,
	  a[href^="javascript:"]::after {
		content: "";
	  }

	  pre {
		white-space: pre-wrap !important;
	  }

	  pre,
	  blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	  }

	  tr,
	  img {
		page-break-inside: avoid;
	  }

	  p,
	  h2,
	  h3 {
		orphans: 3;
		widows: 3;
	  }

	  h2,
	  h3 {
		page-break-after: avoid;
	  }
	}

