@charset "UTF-8";

/* ============================================================================
	Font
		font-family: YakuHanJP, "Noto Sans JP", sans-serif;
		font-family: "Roboto",sans-serif;
		font-family: "Prompt", "Noto Sans JP", sans-serif;
		font-family: "EB Garamond", serif;


============================================================================ */

@media (max-width: 1199px) {}
@media (max-width:991px){}
@media (max-width: 767px) {}

/* ============================================================================
	Reset
============================================================================ */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	overflow-x: hidden;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	border: 0;
}

p,
dd {
	margin: 0;
	padding: 0;	
}


ul,
ol {
	list-style: none;
	padding: 0;
	margin: 0;
}

i,
em {
	font-style: normal;
}

h1,
h2,
h3,
h4,
h5,
h6,
b,
strong,
dt,
dd {
	margin: 0;
	padding: 0;	
	font-size:inherit;
	font-weight: inherit;
	line-height: inherit;
}

sub,
sup {
	font-size: 65%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
	font-family: inherit;
	font-size: inherit;
	padding: 0;
	margin: 0;	
	/* all: unset;
	display: inline-block;
	box-sizing: border-box;
	cursor: pointer;
	text-align: center;
	line-height: normal;
	background: none;
	border: none;
	color: inherit; */
}


a {
	color: inherit;
}


/* GeneratePress Overrides-------- */
.rimsP input[type=email],
.rimsP input[type=number],
.rimsP input[type=password],
.rimsP input[type=search],
.rimsP input[type=tel],
.rimsP input[type=text],
.rimsP input[type=url],
.rimsP select,
.rimsP textarea {
		font-family: var(--fontFamily-sans);
		font-size: inherit;
    color: inherit;
    background-color: inherit;
    border-color: inherit;
		padding: 0;
}

button,html input[type="button"],input[type="reset"],input[type="submit"],a.button,a.wp-block-button__link:not(.has-background) {
    color: inherit;
    background-color: inherit;
}

button:hover,html input[type="button"]:hover,input[type="reset"]:hover,input[type="submit"]:hover,a.button:hover,button:focus,html input[type="button"]:focus,input[type="reset"]:focus,input[type="submit"]:focus,a.button:focus,a.wp-block-button__link:not(.has-background):active,a.wp-block-button__link:not(.has-background):focus,a.wp-block-button__link:not(.has-background):hover {
    color: inherit;
    background-color: inherit;
}

.mwform-checkbox-field label, .mwform-radio-field label {
	font-weight: 500;
}

/* ============================================================================
	CssCustomProperties 
============================================================================ */
:root {
		/* フォント */
		--fontFamily-sans: YakuHanJP, 'Noto Sans JP','Noto Sans', YuGothic,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;
		--fontFamily-en_01: 'Roboto', var(--fontFamily-sans);
		--fontFamily-en_02: "Prompt", var(--fontFamily-sans), sans-serif;
		--fontFamily-en_03: "EB Garamond", serif;


		/* テーマカラー */
		--color-bk-base:		#3E4D67;
		--color-bk-accent:	#26354E;
		--color-bl-01:			#1458cc;
		--color-bl-02:			#73A1ED;
		--color-bl-03:			#2A559F;
		--color-bl-04:			#94D1FD;


		/* 幅 */
		--contents: 1260px;
		--space-l: 100px;
		--space-m: 60px;
		--space-s: 30px;

		/* ヘッダー高さ */
		--headerH: clamp(70px, 8vw, 80px);

		/* transition */
		--transition: .3s cubic-bezier(0.4, 0, 0.2, 1);

}
	@media (max-width: 1080px) {
		:root {
			/* ヘッダー高さ */
			--headerH: 60px;
		}		
	}

	

/* ============================================================================
COMMON
============================================================================*/
	.colorBK_base { color:#3E4D67;}
	.colorBK_accent { color:#26354E;}
	.colorBL_01 { color:#1458cc;}
	.colorBL_02 { color:#73A1ED;}
	.colorBL_03 { color:#2A559F;}
	.colorBL_04 { color:#94D1FD;}

	/* a href ----------------------*/
	a.colorLink { color:var(--color-bl-01);text-decoration:underline;}
	a:hover.colorLink { text-decoration: none;}
	
	.hover { transition: opacity var(--transition);}
	.hover:hover { opacity: .8;}

	/* コンテナ ----------------------*/
	.contents {
		margin: 0 auto;
		width: min(90%, 1260px);
	}
	.contents-S {
		margin: 0 auto;
		width: min(90%, 1100px);
	}
	.contents-SS {
		margin: 0 auto;
		width: min(90%, 1000px);
	}
	.fullbleed-left {
		padding-left: calc((100% - min(90%, 1260px)) / 2);
	}
	.fullbleed-right {
		padding-right: calc((100% - min(90%, 1260px)) / 2);
	}

@media (min-width: 1200px) and (max-width: 1600px) {
	.contents {width: min(82%, 1260px);}
	.contents-S {width: min(82%, 1100px);}
	.contents-SS {width: min(82%, 1000px);}
	.fullbleed-left {padding-left: calc((100% - min(82%, 1260px)) / 2);
	}
	.fullbleed-right {padding-right: calc((100% - min(82%, 1260px)) / 2);}
}



	.sectionBasic { padding: clamp(60px, 8vw, 100px) 0; }

	.sectionPt30 { padding-top: clamp(20px, 2.5vw, 30px); }
	.sectionPt60 { padding-top: clamp(40px, 5vw, 60px); }
	.sectionPt80 { padding-top: clamp(50px, 6.5vw, 80px); }
	.sectionPt100 { padding-top: clamp(60px, 8vw, 100px); }
	.sectionPt120 {padding-top: clamp(70px, 10vw, 120px);}

	.sectionPb30 { padding-bottom: clamp(20px, 2.5vw, 30px); }
	.sectionPb60 { padding-bottom: clamp(40px, 5vw, 60px); }
	.sectionPb80 { padding-bottom: clamp(50px, 6.5vw, 80px); }
	.sectionPb100 { padding-bottom: clamp(60px, 8vw, 100px); }
	.sectionPb120 {padding-bottom: clamp(70px, 10vw, 120px);}


	.sectionMt30 { margin-top: clamp(20px, 2.5vw, 30px); }
	.sectionMt60 { margin-top: clamp(40px, 5vw, 60px); }
	.sectionMt80 { margin-top: clamp(50px, 6.5vw, 80px); }
	.sectionMt100 { margin-top: clamp(60px, 8vw, 100px); }
	.sectionMt120 {margin-top: clamp(70px, 10vw, 120px);}

	.sectionMb30 { margin-bottom: clamp(20px, 2.5vw, 30px); }
	.sectionMb60 { margin-bottom: clamp(40px, 5vw, 60px); }
	.sectionMb80 { margin-bottom: clamp(50px, 6.5vw, 80px); }
	.sectionMb100 { margin-bottom: clamp(60px, 8vw, 100px); }
	.sectionMb120 {margin-bottom: clamp(70px, 10vw, 120px);}

	.img-multiply {
		mix-blend-mode: multiply;
	}

	/* テキスト ----------------------*/

	@media (min-width: 768px) {
		body{
			word-break: auto-phrase;		
		}
	}

	/* dotHeading */
	.dotHeading {
		position: relative;
		display: inline-block;
		padding-left:1em;
	}
	.dotHeading::before {
		content:"";
		position: absolute;
		left:0;
		top: calc(0.5em);
		/* top: 50%; */
		/* transform: translateY(-50%); */
		width: 10px;
		height: 10px;
		border-radius: 50%;
		background: linear-gradient(to bottom, #D2508C, #D10C64);
	}

	/* enHeadingTtl */
	.enHeadingTtl {
		display: block;
		padding-bottom:0.3em;
		font-size: clamp(1.2rem, 1.8vw, 1.8rem);
		font-family: var(--fontFamily-en_01);
		font-weight: 700;
		line-height: 1;
		color:var(--color-bl-01);
		word-break: auto-phrase;
	}

	/* headingTtl */
	.headingTtl-xl,
	.headingTtl-lg,
	.headingTtl-md,
	.headingTtl-ms,
	.headingTtl-sm,
	.headingTtl-xs {
		display: block;
		padding-bottom: 1em;
		color:var(--color-bk-accent);
		word-break: auto-phrase;
	}

	.headingTtl-xl { 
		font-size: clamp(3.8rem, 3.1rem + 1.5vw, 5rem);
		font-weight: 900;
		line-height: 1.3;
	}
	.headingTtl-lg { 
		font-size: clamp(3.2rem, calc(1.08rem + 2.77vw), 4.4rem);
		font-weight: 900;
		line-height: 1.3;
	}
	.headingTtl-md { 
		font-size: clamp(2.6rem, calc(0.83rem + 2.31vw), 3.6rem);
		font-weight: 800;
		line-height: 1.2;
	}
	.headingTtl-ms { 
		font-size: clamp(2.4rem, calc(0.98rem + 2.77vw), 3.2rem);
		font-weight: 800;
		line-height: 1.4;
	}

	.headingTtl-sm { 
		font-size: clamp(2.2rem, calc(1.51rem + 0.92vw), 2.6rem);
		font-weight: 800;
		line-height: 1.5;
	}

	.headingTtl-xs { 
		font-size: clamp(2rem, calc(1.65rem + 0.46vw), 2.2rem);
		font-weight: 800;
		line-height: 1.3;
		padding-bottom: 0.5em;
	}


.fw400 {
	font-weight: 400;
}
.fw500 {
	font-weight: 500;
}
.fw600 {
	font-weight: 600;
}
.fw700 {
	font-weight: 700;
}
.fw800 {
	font-weight: 800;
}
.fw900 {
	font-weight: 900;
}





	.kana {letter-spacing: -0.05em;}
	.cap { display: inline-block; font-size:0.9rem;font-weight: 500;line-height: 1.6;}

	/* ボタン ----------------------*/
	.menu-contact a,
	.menu-request a {
		display: block;
		text-align: center;
		padding: 10px 24px;
		font-size: 1.7rem;
		font-weight: 700;
		border-radius: 100px;
		white-space: nowrap;
		text-decoration: none;
	}
	/* パンフレットダウンロード */
	.menu-request a {
		position: relative;
		letter-spacing: -0.05em;
		color: #fff;;
		background: linear-gradient(90deg, #27429A 50%, #4182F0);
		/* border: 1px solid transparent; */
		overflow: hidden;
		isolation: isolate;
	}

	/* お問い合わせ */
	.menu-contact a {
		color: var(--color-bl-01);
		border: 1px solid #3763C4;
		background: #fff;
		transition: all var(--transition);

	}

	/* hover */
@media (hover: hover) and (pointer: fine) {
	/* パンフレットダウンロード */
	.menu-request a::before {
		content: "";
		position: absolute;
		inset: 0;
		background: #e2f6ff;
		border:1px solid var(--color-bl-01);
		border-radius: 100px;
		opacity: 0;
		z-index: -1;
		transition: opacity .3s ease;
	}
	.menu-request a:hover {
		color: var(--color-bl-01) !important;
	
	}
	.menu-request a:hover::before {
		opacity: 1;
	}

	/* お問い合わせ */
	.menu-contact a:hover {
		color:#FFF !important;
		background: #27429A;
	}
}

	/* スムースクロール時のヘッダー分 */
	.smoothSpace {scroll-margin-top: var(--headerH);}

	/* ページトップ */
	a.back-to-top {
		position: fixed;
		right: 20px;
		bottom: 20px;
		width: 40px;
		height: 40px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: rgb(20,88,204);
		color: rgb(255, 255, 255, 0.9);
		border-radius: 50%;
		opacity: 0;
		visibility: hidden;
		transition: opacity .3s;
		z-index: 999;
		transition: opacity var(--transition);
	}
	
	a.back-to-top.is-show {
		opacity: 1;
		visibility: visible;
	}

	a.back-to-top:hover {
		color: rgb(255, 255, 255, 0.9);
		background: rgb(20,88,204,.8);
	}

	a.back-to-top .btt-icon {
		display: inline-flex;
		align-self: center
	}

	a.back-to-top .btt-icon svg {
		height: 2em;
		width: 1em;
		top: 0;
		position: relative;
		fill: currentColor
	}

@media (max-width:1080px){
	a.back-to-top {
		right: 10px;
		bottom: 80px;
	}
}

/* ============================================================================
	layout 
============================================================================ */
	html {
		scroll-behavior: smooth;
		/* scroll-padding-top: calc(var(--headerH) / 2); */
	}
	body {
		position: relative;
		font-family: var(--fontFamily-sans);
		font-size: 1.6rem;
		font-weight: 500;
		line-height: 1.9;
		color: var(--color-bk-base);
		background: url(../images/common/bg_01.webp) top center / cover;
	}
	body::before {
		content: "";
		position: absolute;
		inset: 0;
		background: url(../images/common/page_title_bg.png) top left / 100% auto no-repeat;
		mix-blend-mode: multiply;
		pointer-events: none;
	}
@media (max-width: 767px) {
		body {
				font-size: 1.5rem;
			}
		body::before {
			background-size: 200% auto;
			background-position: center top;
	}
	
}


/* 管理画面バー対策 -------- */
.admin-bar .site-header {
  top: 32px;
}
@media (max-width: 782px) {
  .admin-bar .site-header {
    top: 46px;
  }
}
@media screen and (max-width: 600px) {
    #wpadminbar {
        position: fixed;
    }
}

/* GeneratePress Overrides START-------- */
	header .grid-container {
		max-width: none;
	}
	header .inside-header{
		padding: 0 0;
	}
	nav.main-navigation,
	nav.main-navigation ul ul {
			background: none !important;
	}
	nav.main-navigation .main-nav ul li a {
		padding-left: 0;
		padding-right: 0;
		line-height: inherit;
	}
@media (max-width: 1080px) {
    .main-navigation .menu-toggle,.sidebar-nav-mobile:not(#sticky-placeholder) {
        display:block;
    }
    .main-navigation ul,.gen-sidebar-nav,.main-navigation:not(.slideout-navigation):not(.toggled) .main-nav > ul,.has-inline-mobile-toggle #site-navigation .inside-navigation > *:not(.navigation-search):not(.main-nav) {
        display: none;
    }
    .nav-align-right .inside-navigation,.nav-align-center .inside-navigation {
        justify-content: space-between;
    }
    .has-inline-mobile-toggle .mobile-menu-control-wrapper {
        display: flex;
        flex-wrap: wrap;
    }
    .has-inline-mobile-toggle .inside-header {
        flex-direction: row;
        text-align: left;
        flex-wrap: wrap;
        background: none;
    }

    .has-inline-mobile-toggle .header-widget,.has-inline-mobile-toggle #site-navigation {
        flex-basis: 100%;
    }

    .nav-float-left .has-inline-mobile-toggle #site-navigation {
        order: 10;
    }
	.has-inline-mobile-toggle #site-navigation.toggled {
			/* margin-top: 0; */
	}

}
/* /GeneratePress Overrides END-------- */

/* rechapcha非表示 */
.grecaptcha-badge { visibility: hidden; }


/* -------------------------------------------------
	header
---------------------------------------------------- */
	header.site-header {
		position: fixed;
		top:0;
		width: 100%;
		background-color: transparent;
		transition: background-color .3s ease;
		z-index: 100;
	}
	header.site-header.is-scrolled {
		background-color: rgba(255,255,255,0.5);
		backdrop-filter: blur(5px);
	}
	header .inside-header {
		display: flex;
		align-items: center;
		margin: 0 auto;
		max-width:1400px;
		width: 90%;
		min-height: var(--headerH);
	}
	body:not(.home) #page {
		padding-top: var(--headerH);
	}
	header.site-header .header-image{
		width: 140px;
	}
@media (max-width: 1080px) {
	header .inside-header {
		width: 	100%;
	}
	header.site-header .site-logo {
		margin-left:5%;
	}
	header.site-header .header-image{
		width: 120px;
	}	
}

	/* ナビゲーション -------------------------*/
	nav.main-navigation .main-nav ul li a {
		position: relative;
		margin-left: clamp(10px, 1.4vw, 20px);
		font-size: clamp(1.4rem, calc(1.2rem + 0.3vw), 1.5rem);
		font-weight: 600;
		color: var(--color-bk-accent);
		text-decoration: none;
		transition: all var(--transition);
	}
	nav.main-navigation .main-nav ul li:not(.menu-request):not(.menu-contact) > a::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: -3px;
		width: 100%;
		height: 2px;
		background: var(--color-bl-01);
		transform: scaleX(0);
		transform-origin: center;
		transition: transform var(--transition);
	}
	nav.main-navigation .main-nav ul li.menu-contact a,
	nav.main-navigation .main-nav ul li.menu-request a {
		padding: 8px 24px;
		font-size:1.4rem;
		font-weight: 700;
	}
	
	/* トップ */
	nav.main-navigation .main-nav ul li.menu-top {
		display: none;
	}
	/* パンフレットダウンロード */
	nav.main-navigation .main-nav ul li.menu-request a {
		color: #fff;
		letter-spacing: -0.05em;
	}
	/* お問い合わせ */
	nav.main-navigation .main-nav ul li.menu-contact a {
		margin-left: 10px;
		color: var(--color-bl-01);
	}

	/* hover */
@media (hover: hover) and (pointer: fine) {
	nav.main-navigation .main-nav ul li:not([class*="current-menu-"]):not(.menu-request):not(.menu-contact):hover > a,
	nav.main-navigation .main-nav ul li:not([class*="current-menu-"]):not(.menu-request):not(.menu-contact):focus > a {
		color: var(--color-bl-01) !important;
		font-weight: 600;
	}
}

	/* current */
	nav.main-navigation .main-nav ul li[class*="current-menu-"] > a {
			color: var(--color-bl-01);
			font-weight: 800;
	}
	nav.main-navigation .main-nav ul li[class*="current-menu-"].menu-contact a {
		background: #b5d1ff;
	}

	@media (min-width: 1081px) {
		/* hover *//* current */
		nav.main-navigation .main-nav ul li:not(.menu-request):not(.menu-contact) > a:hover::after,
		nav.main-navigation .main-nav ul li[class*="current-menu-"] > a::after {
			transform: scaleX(1) !important;
		}
}



/* mobile
-----------------------*/
@media (max-width: 1080px) {
	.mobile-menu-open header {
		height: 100dvh;
		min-height: 100dvh;
		background: url(../images/common/bg_01.webp) top right / cover;
	}
	.mobile-menu-open header.site-header.is-scrolled {
		background-color: rgba(255, 255, 255, 1);
		backdrop-filter: blur(0);
	}
	nav.main-navigation .main-nav  {
		padding:0 5%;
	}
	.main-navigation.toggled .main-nav>ul {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
	nav.main-navigation .main-nav ul li {
		padding: 1em 0;
		border-top: 1px solid #a7bee3;
	}

	nav.main-navigation .main-nav ul li.menu-flow {
		border-bottom: 1px solid #a7bee3;
	}
	nav.main-navigation .main-nav ul li.menu-top,
	nav.main-navigation .main-nav ul li.menu-advantage,
	nav.main-navigation .main-nav ul li.menu-features,
	nav.main-navigation .main-nav ul li.menu-benefits,
	nav.main-navigation .main-nav ul li.menu-flow {
		grid-column: 1 / -1;
	}
	nav.main-navigation .main-nav ul li a,
	nav.main-navigation .main-nav ul li.menu-contact a  {
		margin-left: 0;
	}
	nav.main-navigation .main-nav ul li a {
		font-size: 1.6rem;
		font-weight: 600;;
	}

	nav.main-navigation .main-nav ul li.menu-top {
		display: block;
	}	

	nav.main-navigation .main-nav ul li.menu-request {
		order: -2;
		margin-right: 5px;
		margin-left: auto;
	}
	nav.main-navigation .main-nav ul li.menu-contact {
		order: -1;
		margin-left: 5px;
	}
	nav.main-navigation .main-nav ul li.menu-request,
	nav.main-navigation .main-nav ul li.menu-contact {
		text-align: center;
		width: 80%;
		max-width: 320px;
		padding: 0 0 2em 0;
		border:none;
	}
	nav.main-navigation .main-nav ul li.menu-request a,
	nav.main-navigation .main-nav ul li.menu-contact a {
		padding: 14px 24px;
		font-size: 1.35rem;
	}
}

@media (max-width: 767px) {
	nav.main-navigation .main-nav ul li.menu-request,
	nav.main-navigation .main-nav ul li.menu-contact {
		grid-column: 1 / -1;
		width: 90%;
		max-width: none;
		margin: 0 auto;
	}
	nav.main-navigation .main-nav ul li.menu-request {
		padding-bottom:0.6em;

	}	
}



/* mobileフッター固定ボタン
-----------------------*/
	.spFixedFooterWrap {
		display: none;
	}
@media (max-width: 1080px) {
	.spFixedFooterWrap {
		position: fixed;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 64px;
		display: flex;
		z-index: 1000;
		box-shadow: 0 -2px 8px rgba(0, 0, 0, .06);
		/* border-top: 1px solid rgba(5, 34, 90, .12); */
	}

	.spFixedFooterItem {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 50%;
		text-decoration: none;
	}

	.spFixedFooterItem img,
	.spFixedFooterItem svg {
		width: auto;
		height: 26px;
	}

	.spFixedFooterItem span {
		font-size: 11px;
		line-height: 1;
		font-weight: 700;
		text-align: center;
	}

	/* パンフレットダウンロード（左） */
	.btn_request {
		background: linear-gradient(90deg, #27429A 50%, #4182F0);
		color: #fff !important;
	}

	/* お問い合わせ（右） */
	.btn_contact {
		background: #fff;
		color: var(--color-bl-01) !important;
	}

	body:has(.spFixedFooterWrap) {
		position: relative;
		padding-bottom: 63px;
	}

}






/* -------------------------------------------------
	TITLE
---------------------------------------------------- */
	.pageTitleContainer {
			padding: clamp(10px, calc(1.25vw + 2.5px), 15px) 0 clamp(30px, calc(2.5vw + 15px), 40px);
			border-bottom: 1px solid var(--color-bl-01);
	}
	.pageTitleContainer .pageTitleContents {
		display: flex;
		flex-direction: column-reverse;
	}
	.pageTitleContainer .pageTitleContents .ja {
		/* padding-bottom: 0.8em; */
		font-size: clamp(2.6rem, calc(1.93rem + 1.39vw), 3.6rem);
		font-weight: 700;
		line-height: 1;
		color:var(--color-bl-01);
	}
	.pageTitleContainer .pageTitleContents .en {
		padding:0 0 0.6em 0.05em;
		font-size: clamp(1.4rem, calc(0.5vw + 1.1rem), 1.6rem);
		font-family: var(--fontFamily-en_02);
		font-weight: 600;
		line-height: 1;
		background: linear-gradient(to right, #B7C9F0, #D6D2E6);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		background-clip: text;
	}


	/* -------------------------------------------------
	main
---------------------------------------------------- */
	.l-main {
		padding-top : clamp(40px, 8vw, 60px);
		font-size: 1.6rem;
		font-weight: 500;
		line-height: 1.8;
	}



/* -------------------------------------------------
	FOOTER
---------------------------------------------------- */
	#dlForm {scroll-margin-top: var(--headerH);}

/* DLForm
--------------------------------------------*/
	.dLFormContainer {
		padding: clamp(60px, 8vw, 100px) 0;
		background: #fff url(../images/common/footer_form_bg.jpg) bottom center / 100% auto no-repeat;		
	}
	.dLFormContainer .dLFormContents {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.dLFormContainer .dLFormContents .dLFormInfoWrapper {
		width: 50%;
	}
	.dLFormContainer .dLFormContents .dLFormInputWrapper {
		width: 45%;
	}

@media (max-width: 767px) {
	.dLFormContainer .dLFormContents .dLFormInfoWrapper,
	.dLFormContainer .dLFormContents .dLFormInputWrapper {
		width: 100%;
	}
}

/*dLFormInfoWrap--------------------*/
	.dLFormInfoWrap .hTtl {
		font-size: clamp(3rem, 3.5vw, 4.6rem);
		font-weight: 800;
		color: var(--color-bk-accent);
		line-height: 1.4;
	}
	.dLFormInfoWrap .hTtl .line01,
	.dLFormInfoWrap .hTtl .line02 {
		display: block;
	}
	.dLFormInfoWrap dl {
		padding-top:1.5em;
	}
	.dLFormInfoWrap dl dt.ttl {
		padding-bottom:0.3em;
		font-size: 2.2rem;
		font-weight: 800;
		color: var(--color-bl-01);
	}
	.dLFormInfoWrap dl dt.ttl .dotHeading::before {
		width: 9px;
		height: 9px;
		bottom: calc(0.7em);
    top: auto;
	}
	.dLFormInfoWrap dl dt.ttl rt {
		font-size: 35%;
	}	
	.dLFormInfoWrap .pic {
		margin: 3em auto 0;
		width: 60%;
	}
	.dLFormInfoWrap dl dd {
		line-height: 1.6;
	}

@media (min-width:640px) and (max-width: 767px) {
	.spAjustBox {
		display: flex;
	}
	.dLFormInfoWrap .pic {
		margin-top:0;
		width: 40%;
	}	
}
@media (max-width: 767px) {
	.dLFormInfoWrap .hTtl {
		font-size: clamp(3rem, 6vw, 4rem);
	}
	.dLFormInfoWrap .pic {
		margin:2em auto;
		width: 80%;
	}
}

/* dLFormInputWrap--------------------*/
	.dLFormInputWrap {
		margin: 0 auto;
		max-width: 450px;
		padding: 30px 50px;
		background: rgb(255, 255, 255, 0.5);
		border-radius: 30px;
		border: 1px solid rgb(105, 134, 230, 0.5);
		box-shadow: 0 10px 30px rgba(165, 215, 234, 0.41);
}
	.dLFormInputWrap .caption,
	.dLFormInputWrap .caption-recaptcha {
		padding-top:1.5rem;
		font-size:0.9rem;
		margin-inline: auto;
		max-inline-size: max-content;		
	}
	.dLFormInputWrap .caption-recaptcha {
		padding-top:1rem;

	}	

	.dLFormInputBox .required-mark,
	.mw_wp_form .dLFormInputBox .error {
		color: #D10C64;
	}
	.mw_wp_form .dLFormInputBox .error  {
		font-size:1.1rem;
		font-weight: 600;;
	}


	.dLFormInputBox .ttl {
		padding-bottom: 3px;
		font-size: 1.3rem;
		font-weight: 800;
		color: var(--color-bk-accent);
	}
	.dLFormInputBox .inputBox {
		padding-bottom: 0.8em;
	}
	.dLFormInputBox dd:last-of-type {
		padding-bottom: 1.2em;
	}



	.dLFormInputBox .inputBox input[type=email],
	.dLFormInputBox .inputBox input[type=number],
	.dLFormInputBox .inputBox input[type=password],
	.dLFormInputBox .inputBox input[type=search],
	.dLFormInputBox .inputBox input[type=tel],
	.dLFormInputBox .inputBox input[type=text],
	.dLFormInputBox .inputBox input[type=url],
	.dLFormInputBox .inputBox select,
	.dLFormInputBox .inputBox textarea {
		padding: 6px 8px;
		width: 100%;
		border-color: #C3D2DD;
		border-radius: 8px;
		background: #E2E5EA;
	}
	.dLFormInputBox .inputBox input::placeholder,
	.dLFormInputBox .inputBox textarea::placeholder {
		color: #B4B4B4;
	}
	.dLFormInputBox .inputBox select {
		font-size:1.4rem;
		cursor: pointer;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		padding-right: 2.5em; /* 右の余白確保 */
	}

	.dLFormInputBox .inputBox .select-wrap {
		position: relative;
		display: inline-block;
		width: 80%;
	}

	.dLFormInputBox .inputBox .select-wrap::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 12px;
		transform: translateY(-50%);
		width: 0;
		height: 0;

		border-left: 5px solid transparent;
		border-right: 5px solid transparent;
		border-top: 6px solid #333;
		pointer-events: none;
	}
	.mw_wp_form_preview .dLFormInputBox .inputBox .select-wrap::after {
		display: none;
	}
	.dLFormInputBox .inputBox input:focus,
	.dLFormInputBox .inputBox textarea:focus,
	.dLFormInputBox .inputBox select:focus {
		border:1px solid var(--color-bl-01);
}

	.dLFormInputWrap button {
		width: 100%;
		padding: 16px 24px;
		color: #fff;;
		background: linear-gradient(90deg, #27429A 50%, #4182F0);
		font-size:1.5rem;
		font-weight: 700;
		border-radius: 100px;
		transition: opacity var(--transition);
	}
	.dLFormInputWrap button:hover {
		opacity: .8;
	}

/* 名前 */
	.dLFormInputBox .inputBox.nameBox {
		display: flex;
		justify-content: space-between;
		width: 80%;
	}
	.dLFormInputBox .inputBox.nameBox .nameBoxElement {
		width: calc(50% - 4px);
	}

@media (max-width: 767px) {
	.dLFormInputWrap {
		margin: 0 auto;
		max-width: none;
		padding: 30px 40px;
	}
	.dLFormInputWrap .caption {
		text-align: center;
	}
	.dLFormInputBox .inputBox input[type=email],
	.dLFormInputBox .inputBox input[type=number],
	.dLFormInputBox .inputBox input[type=password],
	.dLFormInputBox .inputBox input[type=search],
	.dLFormInputBox .inputBox input[type=tel],
	.dLFormInputBox .inputBox input[type=text],
	.dLFormInputBox .inputBox input[type=url],
	.dLFormInputBox .inputBox select,
	.dLFormInputBox .inputBox textarea {
		font-size:1.6rem;
		padding: 8px 8px;
	}

	.dLFormInputWrap button {
		font-size:1.6rem;
	}
	.dLFormInputBox .ttl {
		font-size: 1.5rem;
	}

}






/* 確認画面 */
	.dLFormInputWrap .mw_wp_form_confirm .btns {
			text-align: center;
	}
	.dLFormInputWrap .mw_wp_form_confirm .btns button {
			display: inline;
	}
	.dLFormInputWrap .mw_wp_form_confirm .btns button + button{
		margin-top:10px;
	}

	.dLFormInputWrap .mw_wp_form_confirm .btns button.btn-back {
			/* margin-right: 8px; */
			width: 100%;
			background: none;
			color: #555;
			border: 1px solid #999;
	}
	.dLFormInputWrap .mw_wp_form_confirm .btns button.btn-submit {
		width: 100%
	}

/* 送信完了画面 */
	.dLFormInputWrap:has(.mw_wp_form_complete){
		height: 100%;
	}

	.dLFormInputWrap .dLFormThanksTtl {
		padding-bottom: 0.5em;
		font-size: 1.3em;
		font-weight: 800;
		text-align: center;
		color: var(--color-bl-01);
	}

	.dLFormInputWrap .dLFormThanksTxt {
		font-weight: 500;
	}
	.dLFormInputWrap .noteTxt {		
		margin: 10px 0;
    padding: 10px 0;
    border: 1px solid #818181;
    border-width: 1px 0;
		font-size: 0.95em;
	}


/* conFormInputBox----------------*/	
	.dLFormInputWrap .mw_wp_form_confirm .caption {
		display: block;
	}
	.dLFormInputWrap .mw_wp_form_input .caption,
	.dLFormInputWrap .mw_wp_form_complete .caption {
		display: none;
	}


/* form-info----------------*/
	.dLFormInputWrap .form-info {
		font-size:0.9em;
		padding-top:1em;
		text-align: center;
	}
	.dLFormInputWrap .mw_wp_form_complete + .form-info {
		display: none;
	}



/* footerLink
--------------------------------------------*/
	.rimsFooter {
		color:#fff;
		background: #194593 url("../images/common/footer_navi_bg.png") no-repeat right top / auto 100%;
	}

	.footerLinkContainer {
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
		width: 90%;
		max-width: 1400px;
		padding: clamp(60px, 5vw, 100px) 0;
	}

	.footerLinkContainer .footerRimsLogo {
		width: clamp(140px, 20vw, 170px);
	}
	.footerLinkContainer .footerLinkBox {
		display: flex;
	}
	.footerLinkContainer .footerLinkBox ul {
		margin-left:40px;
	}
	.footerLinkContainer .footerLinkBox ul li a {
		display: inline-block;
		font-size: clamp(1.4rem, 1.4vw, 1.5rem);
		font-weight: 500;
		color:#fff;
		text-decoration: none;
	}
	.footerLinkContainer .footerLinkBox ul li:not(:last-of-type) a {
		margin-bottom:20px;
	}

	/* hover */
	.footerLinkContainer .footerLinkBox ul li a { transition: opacity var(--transition);}
	.footerLinkContainer .footerLinkBox ul li a:hover {
		opacity: .6;
	}


	/* アイコン */
	.footerLinkContainer .footerLinkBox ul li a.iconTxt_win::after {
		content: "";
		display: inline-block;
		width: 0.9em;
		height: 0.9em;
		margin-left: .5em;
		background: url("../images/common/footer_link_icon_win.svg") center / contain no-repeat;
		vertical-align: middle;
	}




@media (max-width: 767px) {
	.footerLinkContainer {
		display: block;
	}
	.footerLinkContainer .footerLinkBox ul {
		margin-top: 1.8em;
	}
	.footerLinkContainer .footerLinkBox ul:first-of-type {
		margin-left: 0px;
	}
}
@media (max-width: 767px) {
		.footerLinkContainer .footerLinkBox {
			flex-wrap:wrap;
		}
		.footerLinkContainer .footerLinkBox ul {
			width: 50%;
			margin-left: 0;
		}
}


	.copyrightContainer {
		border-top: 1px solid rgba(255,255,255,0.5);
	}
	.copyrightContainer .copyrightContents .companyinfoBox {
		display: flex;
		align-items: center;
	}
	.copyrightContainer .copyrightContents .companyinfoBox .footerIsopraLogo {
			width: clamp(120px, 12vw, 140px);
	}
		
	.copyrightContainer .copyrightContents .companyinfoBox dl {
		margin-left:20px;
	}
	.copyrightContainer .copyrightContents .companyinfoBox dl dt {
		font-size:1.4rem;
		font-weight: 700;;
	}
	.copyrightContainer .copyrightContents .companyinfoBox dl dd {
		font-size:1.2rem;
	}


	.copyrightContainer .copyrightContents {
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
		width: 90%;
		max-width: 1400px;
		padding: clamp(20px, 5vw, 25px) 0;
	}


	.copyrightContainer .copyrightContents .copyrightBox {
		display: flex;
		align-items: center;
	}
	.copyrightContainer .copyrightContents .copyrightBox .copyright {
		font-size: 1.2rem;
	}


@media (max-width: 767px) {
	.copyrightContainer .copyrightContents {
		display: block;
	}
	.copyrightContainer .copyrightContents .companyinfoBox {
			display: block;
			margin: 0 auto;
			text-align:  center;
	}
	.copyrightContainer .copyrightContents .companyinfoBox .footerIsopraLogo {
			display: block;
			margin: 0 auto;
	}
	.copyrightContainer .copyrightContents .copyrightBox {
		display: block;
		text-align: center;
	}

}



/* ============================================================================
	COMMON_LAST
============================================================================ */
.mt0{margin-top:0;}.mt5 {margin-top:5px;} .mt10{margin-top:10px;}  .mt10{margin-top:10px;} .mt20{margin-top:20px;} .mt30{margin-top:30px;} .mt40{margin-top:40px;} .mt50{margin-top:50px;} .mb0{margin-bottom:0;} .mb10{margin-bottom:10px;} .mb20{margin-bottom:20px;} .mb30{margin-bottom:30px;} .mb40{margin-bottom:40px;} .mb50{margin-bottom:50px;} .ml0{margin-left:0;} .ml10{margin-left:10px;} .ml20{margin-left:20px;} .ml30{margin-left:30px;} .ml40{margin-left:40px;} .ml50{margin-left:50px;} .mr0{margin-right:0;} .mr10{margin-right:10px;} .mr20{margin-right:20px;} .mr30{margin-right:30px;} .mr40{margin-right:40px;} .mr50{margin-right:50px;} .pt0{padding-top:0;} .pt10{padding-top:10px;} .pt20{padding-top:20px;} .pt30{padding-top:30px;} .pt40{padding-top:40px;} .pt50{padding-top:50px;} .pb0{padding-bottom:0;} .pb10{padding-bottom:10px;} .pb20{padding-bottom:20px;} .pb30{padding-bottom:30px;} .pb40{padding-bottom:40px;} .pb50{padding-bottom:50px;} .pl0{padding-left:0;} .pl10{padding-left:10px;} .pl20{padding-left:20px;} .pl30{padding-left:30px;} .pl40{padding-left:40px;} .pl50{padding-left:50px;} .pr0{padding-right:0;} .pr10{padding-right:10px;} .pr20{padding-right:20px;} .pr30{padding-right:30px;} .pr40{padding-right:40px;} .pr50{padding-right:50px;}

.mt05em{margin-top:.5em;} .mt1em{margin-top:1em;} .mt2em{margin-top:2em;} .mt3em{margin-top:3em;} .mt4em{margin-top:4em;} .mt5em{margin-top:5em;} .mb05em{margin-bottom:.5em;} .mb1em{margin-bottom:1em;} .mb2em{margin-bottom:2em;} .mb3em{margin-bottom:3em;} .mb4em{margin-bottom:4em;} .mb5em{margin-bottom:5em;} .ml05em{margin-left:.5em;} .ml1em{margin-left:1em;} .ml2em{margin-left:2em;} .ml3em{margin-left:3em;} .ml4em{margin-left:4em;} .ml5em{margin-left:5em;} .mr05em{margin-right:.5em;} .mr1em{margin-right:1em;} .mr2em{margin-right:2em;} .mr3em{margin-right:3em;} .mr4em{margin-right:4em;} .mr5em{margin-right:5em;} .pt05em{padding-top:.5em;} .pt1em{padding-top:1em;} .pt2em{padding-top:2em;} .pt3em{padding-top:3em;} .pt4em{padding-top:4em;} .pt5em{padding-top:5em;} .pb05em{padding-bottom:.5em;} .pb1em{padding-bottom:1em;} .pb2em{padding-bottom:2em;} .pb3em{padding-bottom:3em;} .pb4em{padding-bottom:4em;} .pb5em{padding-bottom:5em;} .pl05em{padding-left:.5em;} .pl1em{padding-left:1em;} .pl2em{padding-left:2em;} .pl3em{padding-left:3em;} .pl4em{padding-left:4em;} .pl5em{padding-left:5em;} .pr05em{padding-right:.5em;} .pr1em{padding-right:1em;} .pr2em{padding-right:2em;} .pr3em{padding-right:3em;} .pr4em{padding-right:4em;} .pr5em{padding-right:5em;}

.m0auto {margin: 0 auto;}

.fw300{font-weight:300;} .fw400{font-weight:400;} .fw500{font-weight:500;} .fw600{font-weight:600;} .fw700{font-weight:700;} .fw800{font-weight:800;}


.tl { text-align: left; } .tc { text-align: center; } .tcl{margin-inline: auto;max-inline-size: max-content;} .tr { text-align: right; } .inbl {display: inline-block;} .inbl_PCTB {display: inline-block;} .inbl_PC {display: inline-block;} .bl {display: block;} .wbn {word-break: normal;}
@media (max-width: 1200px) {.inbl_PC {display: inline;}}
@media (max-width: 767px) {.inbl_PCTB {display: inline;}}

@media screen and (min-width: 1200px) {
	.TBSP, .TB, .SP { display:none;}
	.PCTB, .PC { display:inherit;}
	.PC_bl { display:block !important;}
	.PCTB_none, .PC_none { display:none !important;}
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
	.PC, .SP { display:none;}
	.PCTB, .TBSP, .TB { display:inherit;}
	.TB_bl { display:block !important;}
	.PCTB_none, .TBSP_none, .TB_none { display:none !important;}
}
@media screen and (max-width: 767px) {
	.PCTB ,.PC, .TB {	display:none;}
	.TBSP, .SP { display:inherit;}
	.SP_bl {display:block !important;}
	.TBSP_none, .SP_none {display:none !important;}
}


