@charset "UTF-8";


*, ::before, ::after {
  box-sizing: border-box
}

::before, ::after {
  text-decoration: inherit;
  vertical-align: inherit
}

html {
  cursor: default;
  line-height: 1.5;
  -moz-tab-size: 4;
  tab-size: 4;
  -webkit-tap-highlight-color: transparent;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  word-break: break-word
}

body {
  margin: 0;
  counter-reset: number 0;
}

h1 {
  font-size: 2em;
  margin: .67em 0
}

dl dl, dl ol, dl ul, ol dl, ul dl {
  margin: 0
}

ol ol, ol ul, ul ol, ul ul {
  margin: 0
}

hr {
  height: 0;
  overflow: visible
}

main {
  display: block
}

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

pre {
  font-family: monospace, monospace;
  font-size: 1em
}

a {
  background-color: transparent
}

abbr[title] {
  text-decoration: underline;
  text-decoration: underline dotted
}

b, strong {
  font-weight: bolder
}

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em
}

small {
  font-size: 80%
}

audio, video {
  display: inline-block
}

audio:not([controls]) {
  display: none;
  height: 0
}

iframe {
  border-style: none
}

img {
  border-style: none
}

svg:not(:root) {
  overflow: hidden
}

table {
  border-collapse: collapse
}

button, input, select {
  margin: 0
}

button {
  overflow: visible;
  text-transform: none
}

button, [type=button], [type=reset], [type=submit] {
  -webkit-appearance: button
}

fieldset {
  border: 1px solid #a0a0a0;
  padding: .35em .75em .625em
}

input {
  overflow: visible
}

legend {
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal
}

progress {
  display: inline-block;
  vertical-align: baseline
}

select {
  text-transform: none
}

textarea {
  margin: 0;
  overflow: auto;
  resize: vertical
}

[type=checkbox], [type=radio] {
  padding: 0
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}

.mb-30 {
  margin-bottom: 30px !important;
}

::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
  height: auto
}

::-webkit-input-placeholder {
  color: inherit;
  opacity: .54
}

::-webkit-search-decoration {
  -webkit-appearance: none
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

::-moz-focus-inner {
  border-style: none;
  padding: 0
}

:-moz-focusring {
  outline: 1px dotted
}

:-moz-ui-invalid {
  box-shadow: none
}

details {
  display: block
}

dialog {
  background-color: var(--main-bg-color);
  border: solid;
  color: var(--main-text-color);
  display: block;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content
}

dialog:not([open]) {
  display: none
}

summary {
  display: list-item
}

canvas {
  display: inline-block
}

template {
  display: none
}

a, area, button, input, label, select, summary, textarea, [tabindex] {
  -ms-touch-action: manipulation;
  touch-action: manipulation
}

[hidden] {
  display: none
}

[aria-busy=true] {
  cursor: progress
}

[aria-controls] {
  cursor: pointer
}

[aria-disabled=true], [disabled] {
  cursor: not-allowed
}

[aria-hidden=false][hidden] {
  display: initial
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute
}


/* font */
:root {
  font-size: 16px;
  font-family: Arial, Helvetica, Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}
@media only screen and (max-width: 1200px) {
	:root {
		font-size: 14px;
	}
}
@media only screen and (max-width: 920px) {
	:root {
		font-size: 12px;
	}
}

/* size */
:root {
	--size-xs: 1rem;
	--size-sm: 2rem;
	--size-md: 3rem;
	--size-lg: 4rem;
	--size-xl: 5rem;

	--fsize-xs: 0.8rem;
	--fsize-sm: 0.9rem;
	--fsize-md: 1rem;
	--fsize-lg: 1.25rem;
	--fsize-xl: 1.875rem;

	--menu-height: 4rem;
}

html {
  color: var(--text-default)
}

@media screen and (min-width: 768px) {
  .spOnly, .sp_only{
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .pcOnly, .pc_only{
    display: none !important;
  }
}

/* headline */
h1, h2, h3 {
  font-weight: 700;
  line-height: 1.33333;
	margin: 0;
}
h2 {
  font-size: var(--fsize-xl);
}
h3 {
  font-size: var(--fsize-lg);
}

p {
  margin-top: 0;
  margin: 0;
  line-height: 1.875;
}

a {
  text-decoration: underline;
  color: var(--color-text);
  transition: all .3s;
}
a:hover {
	opacity: .7;
}

img {
  width: 100%;
  height: auto;
  display: block
}

figure {
  margin: 0
}

strong {
  font-weight: bold;
  /* color: var(--accent-text-color) */
}

/* table */
table {
  margin: 0 auto 1.875rem;
  border-left: solid 1px #7f7f7f;
  border-top: solid 1px #7f7f7f;
  line-height: 1.5;
  font-size: .875rem
}
table:not(:first-child) {
  margin-top: .75rem
}
table caption {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.33333;
  text-align: center;
  font-size: 2rem;
  margin: 0 0 2.125rem
}
table:first-child caption {
  margin-top: 0
}
th *:last-child, td *:last-child {
  margin-bottom: 0
}
th, thead td {
  text-align: left;
  background: var(--secondary-bg-color);
  color: var(--secondary-text-color)
}
td {
  background: var(--bg-section-box)
}
th, td {
  border-right: solid 1px #7f7f7f;
  border-bottom: solid 1px #7f7f7f;
  padding: .375rem;
  vertical-align: top
}
@media only screen and (min-width: 1024px) {
  table {
    max-width: 57.75rem
  }
}
@media only screen and (min-width: 830px) {
  table {
    font-size: 1rem;
    margin: 0 auto 3.75rem;
    max-width: 48.75rem
  }
  th, td {
    padding: .625rem
  }
}

/* class Style */
.text-red { color: #d9534f; }

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


.alert-danger {
	color: var(--alert-def-text);
	background-color: var(--alert-def-bg);
	list-style: none;
	padding: var(--size-xs);
	margin-top: 0;
}


/**
	right-float-box
**/
#right-float-box {
	position: fixed;
	bottom: 70px;
	right: 20px;
	transform: translateX(250px);
	transition: .5s;
	opacity: 0;
	z-index: 1000;
}
#right-float-box.scroll-start {
	transform: translateX(0);
	opacity: 1;
	transition: .5s;
}
#right-float-box.scroll-start.scroll-end {
	transform: translateX(250px);
	opacity: 0;
}
.right-float-box-in {
	display: inline-block;
}
.right-float-box-in .right-float-in {
	display: block;
	text-align: right;
}
.right-float-box-in .right-float-in > * {
	display: block;
	box-shadow: 0px 0px 4px 1px rgba(0, 0, 0, 0.6);
	text-decoration: none;
}
.right-float-box-in .right-float-in img {
	max-width: 500px;
}
.right-float-box-in .upperRight img {
	width: 40px;
}
.right-float-box-in .right-float-in p {
	text-align: left;
	background-color: #FFF;
	padding: .5rem;
	text-decoration: none;
}
.right-float-box-in .upperRight {
	font-size: 25px;
	position: absolute;
	top: -10px;
	right: -10px;
	width: 30px;
	height: 30px;
	line-height: 30px;
	color: #FFF;
	background: #000;
	text-align: center;
	border-radius: 3px;
	cursor: pointer;
	z-index: 10;
	transition: all .5s;
}
.right-float-box-in .upperRight:hover {
	transform: scale(1.2);
} 
.right-float-box-in .upperRight::before{
	content: "\f00d";
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
}
.right-float-box-in .right-float-in label {
	text-align: center;
	display: inline-block;
	height: auto;
	line-height: 1.7;
	font-size: 15px;
	color: #000;
	margin-top: 5px;
	padding: 5px;
	background: rgb(255 255 255 / 50%);
	border-radius: 3px;
}
.right-float-box-in .right-float-in label input {
  vertical-align: text-top;
  line-height: 1;
  top: 1px;
}
.right-float-box-in .btn-hide input[type="checkbox"] {
  display: none;
}
.right-float-box-in .btn-hide > span {
	position: relative;
	vertical-align: middle;
	font-size: 13px;
	margin-right: 5px;
	border-radius: 3px;
	padding: 2px;
	border: 2px solid #000;
	background: #fff;
	opacity: .2;
	transition: all .3s;
}
.right-float-box-in .btn-hide input[type="checkbox"] + span:before {
  font-weight: 900;
  font-family: "Font Awesome 5 Free";
  content: '\f00c';
  color: #000000;
  opacity: 0;
  transition: all .3s;
}
.right-float-box-in .btn-hide input[type="checkbox"]:checked + span {
	opacity: 1;
}
.right-float-box-in .btn-hide input[type="checkbox"]:checked + span:before {
	opacity: 1;
}
@media only screen and (max-width:678px){
	.right-float-box-in .upperRight img {width:5vw;}
	.right-float-box-in .right-float-in img {max-width: 72vw;}
  #right-float-box.scroll-start{
		right: 0;bottom: 15vw;
		max-width: 50vw;
	}
  .right-float-box-in .right-float-in label {
    font-size: 12px !important;
    display: block;
    margin-top: 0;
    border-radius: 0;
  }
  .right-float-box-in .upperRight {
		top: -30px;
    right: 0;
    font-size: 15px;
    width: 30px;
    height: 30px;
    line-height: 30px;
  }
}
@media only screen and (max-width:460px) {
	#right-float-box {bottom: 30vw;}
}


/**
	page-top
**/
#page-top {
	position: fixed;
	display: flex;
	z-index: 999;
	cursor: pointer;
	right: 20px;
	bottom: 10px;
	background: #fff;
	color: #000;
	padding: 7px;
	border-radius: 3px;
	text-decoration: none;
	opacity: .5;
	transition: all .5s;
	font-size: .8rem;
	align-items: center;
	justify-content: center;
}
#page-top:hover {
	transform: scale(1.2);
	box-shadow: 0px 0px 4px 1px rgba(0, 0, 0, 0.6);
	opacity: 1;
}
#page-top > i {
	font-size: 30px;
}
#page-top > img {
	width: 20px;
	height: 20px;
}
#page-top > span {
	margin-left: 5px;
}
@media only screen and (max-width:678px){
    #page-top {
    	right: 0;
    	bottom: 0;
    	padding: 2vw 3vw;
    }
    #page-top > i {
    	font-size: 7vw;
    }
}


:root {
	--color-bg: var(--color01-bg); /* 背景色 */
	--color-text: var(--color01-text); /* 文字色 */
	--color-border: var(--color01-border); /* 線色 */
	--color-head-bg: var(--color01-head-bg); /* 背景色 */
	--color-head-text: var(--color01-head-text); /* 文字色 */
	--color-head-border: var(--color01-head-border); /* 線色 */
	--color-gradation: var(--color01-gradation); /* グラデーション  */
	--block-head-bg: var(--color01-block-head-bg);
	--block-head-text: var(--color01-block-head-text);
	--block-head-border: var(--color01-block-head-border);
	--box-head-bg: var(--color01-box-head-bg);
	--box-head-text: var(--color01-box-head-text);
	--box-head-border: var(--color01-box-head-border);
	--box-def-bg: var(--color01-box-def-bg);
	--box-def-text: var(--color01-box-def-text);
	--box-def-border: var(--color01-box-def-border);
	--box-info-bg: var(--color01-box-info-bg);
	--box-info-text: var(--color01-box-info-text);
	--box-info-border: var(--color01-box-info-border);
	--note-def-bg: var(--color01-note-def-bg);
	--note-def-text: var(--color01-note-def-text);
	--note-def-border: var(--color01-note-def-border);
	--note-head-bg: var(--color01-note-head-bg);
	--note-head-text: var(--color01-note-head-text);
	--note-head-border: var(--color01-note-head-border);
}
/* color pallet */
.l-section-wrapper {
	--color-bg: var(--color01-bg); /* 背景色 */
	--color-text: var(--color01-text); /* 文字色 */
	--color-border: var(--color01-border); /* 線色 */
	--color-head-bg: var(--color01-head-bg); /* 背景色 */
	--color-head-text: var(--color01-head-text); /* 文字色 */
	--color-head-border: var(--color01-head-border); /* 線色 */
	--color-gradation: var(--color01-gradation); /* グラデーション  */
	--block-head-bg: var(--color01-block-head-bg);
	--block-head-text: var(--color01-block-head-text);
	--block-head-border: var(--color01-block-head-border);
	--box-head-bg: var(--color01-box-head-bg);
	--box-head-text: var(--color01-box-head-text);
	--box-head-border: var(--color01-box-head-border);
	--box-def-bg: var(--color01-box-def-bg);
	--box-def-text: var(--color01-box-def-text);
	--box-def-border: var(--color01-box-def-border);
	--box-info-bg: var(--color01-box-info-bg);
	--box-info-text: var(--color01-box-info-text);
	--box-info-border: var(--color01-box-info-border);
	--note-def-bg: var(--color01-note-def-bg);
	--note-def-text: var(--color01-note-def-text);
	--note-def-border: var(--color01-note-def-border);
	--note-head-bg: var(--color01-note-head-bg);
	--note-head-text: var(--color01-note-head-text);
	--note-head-border: var(--color01-note-head-border);
}
.l-section-wrapper:nth-child(2n) {
	--color-bg: var(--color02-bg); /* 背景色 */
	--color-text: var(--color02-text); /* 文字色 */
	--color-border: var(--color02-border); /* 線色 */
	--color-head-bg: var(--color02-head-bg); /* 背景色 */
	--color-head-text: var(--color02-head-text); /* 文字色 */
	--color-head-border: var(--color02-head-border); /* 線色 */
	--color-gradation: var(--color02-gradation); /* グラデーション  */
	--block-head-bg: var(--color02-block-head-bg);
	--block-head-text: var(--color02-block-head-text);
	--block-head-border: var(--color02-block-head-border);
	--box-head-bg: var(--color02-box-head-bg);
	--box-head-text: var(--color02-box-head-text);
	--box-head-border: var(--color02-box-head-border);
	--box-def-bg: var(--color02-box-def-bg);
	--box-def-text: var(--color02-box-def-text);
	--box-def-border: var(--color02-box-def-border);
	--box-info-bg: var(--color02-box-info-bg);
	--box-info-text: var(--color02-box-info-text);
	--box-info-border: var(--color02-box-info-border);
	--note-def-bg: var(--color02-note-def-bg);
	--note-def-text: var(--color02-note-def-text);
	--note-def-border: var(--color02-note-def-border);
	--note-head-bg: var(--color02-note-head-bg);
	--note-head-text: var(--color02-note-head-text);
	--note-head-border: var(--color02-note-head-border);
}




.l-section-wrapper {
	--bg-section: var(--bg-section1); /* 背景色 */
	--text-section: var(--text-section1); /* 文字色 */
	--text-section-title: var(--text-section1-title); /* タイトル文字色 */
	--bg-section-box: var(--bg-section1-box); /* ボックス背景 */
	--border-section-box: var(--border-section1-box); /* ボックス線 */
	--text-section-box: var(--text-section1-box); /* ボックス文字色 */
	--bg-section-box-header: var(--bg-section1-box-header); /* ボックス背景 */
	--text-section-box-header: var(--text-section1-box-header); /* ボックス文字色 */
	--bg-section-primary: var(--bg-section1-primary); /* ボックス強調 */
	--text-section-primary: var(--text-section1-primary); /* ボックス強調 */
}
.l-section-wrapper:nth-child(2n) {
	--bg-section: var(--bg-section2); /* 背景色 */
	--text-section: var(--text-section2); /* 文字色 */
	--text-section-title: var(--text-section2-title); /* タイトル文字色 */
	--bg-section-box: var(--bg-section2-box); /* ボックス背景 */
	--border-section-box: var(--border-section2-box); /* ボックス線 */
	--text-section-box: var(--text-section2-box); /* ボックス文字色 */
	--bg-section-box-header: var(--bg-section2-box-header); /* ボックス背景 */
	--text-section-box-header: var(--text-section2-box-header); /* ボックス文字色 */
	--bg-section-primary: var(--bg-section2-primary); /* ボックス強調 */
	--text-section-primary: var(--text-section2-primary); /* ボックス強調 */
}


:root {
	--header-height: 4rem;
}
/* header.is-scroll {
  background-color: var(--header-bg);
  box-shadow: 0 0 8px rgba(0, 0, 0, .1);
} */

header.is-scroll {
	box-shadow: 0px 0px 7px 0px var(--header-text);
}
header .l-header-wapper {
  position: relative;
  top: 0;
  width: 100%;
  min-width: 375px;
  overflow-x: hidden;
  z-index: 999;
  overflow: hidden;
  transition: all .2s;
	height: var(--header-height);
}
header .l-header-bg {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: var(--header-bg);
	opacity: .8;
	z-index: 0;
}
header.is-scroll .l-header-bg {
	opacity: 1;
}
.l-header-container {
	position: relative;
  margin: 0 auto;
	padding-top: 0;
  max-width: 1200px;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	justify-self: auto;
	width: 100%;
}

.l-header-container > .p-title {
	-webkit-box-ordinal-group:1;
	-ms-flex-order:1;
	-webkit-order:1;
	order:1;
	width: 30%;
	height: auto;
}
.l-header-container > .l-menu-container {
	-webkit-box-ordinal-group:3;
	-ms-flex-order:3;
	-webkit-order:3;
	order:3;
}
.l-header-container > .l-gmenu-sub-wrapper {
	display: flex;
	justify-content: flex-end;
}

.l-header-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  /* height: var(--header-height); */
}

/* gmenu title */
.l-header-container .p-title {
	display: flex;
	align-items: flex-start;
	height: var(--header-height);
}
.l-header-container .p-title .p-image {
	height: var(--header-height);
	padding: 10px 10px 10px 0;
	display: flex;
	height: var(--header-height);
	padding: 10px;
	box-sizing: border-box;
	font-size: var(--fsize-lg);
	font-weight: 900;
	justify-content: center;
	align-items: center;
}
.l-header-container .p-title .p-image img {
	object-fit: contain;
	object-position: left;
	width: 100%;
	height: 100%;
}
.l-header-container .p-title .p-image .p-figure,
.l-header-container .p-title .p-image > a {
	width: 100%;
	height: 100%;
}

/* gmenu sub */
.l-gmenu-sub-wrapper {

}
.l-gmenu-sub-container {
	display: flex;
	align-items: center;
	list-style: none;
	padding: 0;
	margin: 0;
}
.l-gmenu-sub-container > li {
	height: 100%;
	padding: 0 10px;
	font-size: var(--fsize-md);
	font-weight: 600;
}
/*h-tel-box*/
.l-gmenu-tel-container {

}
.l-gmenu-tel-container .tel-box-upper p {
  font-size: var(--fsize-xs);
  color: var(--header-text);
  margin: 0;
  line-height: 1;
  text-align: center;
}
.l-gmenu-tel-container .tel-box-lower {
  margin: 4px 0 0;
  font-size: 0;
}
.l-gmenu-tel-container .tel-box-lower dt {
	display: inline-block;
	vertical-align: middle;
	padding: 5px;
	background: var(--menu-bg);
	color: var(--menu-text);
	font-size: var(--fsize-xs);
	line-height: 1;
	text-align: center;
}
.l-gmenu-tel-container .tel-box-lower dd {
	display: inline-block;
	vertical-align: middle;
	font-size: var(--fsize-xl);
	color: var(--menu-bg);
	margin: 0;
	line-height: 1;
	padding-left: 9px;
}
@media screen and (max-width: 767px) {
	.l-gmenu-tel-container .tel-box-upper p {
		font-size: 1.4rem;
	}
	.l-gmenu-tel-container .tel-box-lower dt {
		font-size: 1.8rem;
	}
	.l-gmenu-tel-container .tel-box-lower dd {
		width: auto;
		font-size: 3.2rem;
	}
}



/* gmenu cta */
.l-gmenu-cta-wrapper {

}
.l-gmenu-cta-container {
	display: flex;
	padding: 0;
	margin: 0 0 0 var(--size-xs);
	align-items: center;
	list-style: none;
	height: calc(var(--header-height) / 2);
}
.l-gmenu-cta-container > li {
	margin-left: 10px;
	font-size: var(--fsize-md);
}
.p-gmenu-sub-item {
	height: 100%;
	display: flex;
	align-items: center;
	color: var(--header-text);
}


@media only screen and (max-width: 1023px) {
	header {
		background: transparent !important;
	}
	header::before {
		background-color: #FFF;
    opacity: .98;
		z-index: 0;
	}
	header.is-active::before {
		opacity: .9;
		height: 500vh;
		z-index: 1;
	}
	header.is-scroll .l-header-wapper,
	.l-header-wapper {
		padding-top: 0;
	}

	header.is-active .l-header-container {
		background-color: #32918C;
		box-shadow: none;
		opacity: .7;
	}
  .l-header-container {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    background: transparent;
  }
}
@media only screen and (max-width: 600px) {
  header {
    min-width: initial;
  }
}


/* menu btn */
.l-menu-container {
  text-align: center;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
}
@media only screen and (min-width: 1024px) {
  .l-menu-container {
    display: none
  }
}
.l-menu-button {
  display: flex;
  justify-content: center;
  align-items: center;
  background: none;
  cursor: pointer;
  border: 0;
  margin: auto;
}
.p-menu-icon {
  display: inline-block;
  margin: 0;
  font-size: calc(var(--header-height) - 20px);
	color: var(--header-text);
  height: calc(var(--header-height));
  width: calc(var(--header-height));
  padding: 10px;
}
.p-menu-def-icon {
}
.p-menu-active-icon {
  display: none;
}
body.is-gmenu-active .l-menu-button .p-menu-def-icon {
  display: none
}
body.is-gmenu-active .l-menu-button .p-menu-active-icon {
  display: inline-block
}


/* gmenu title */
.l-header-logo-container {
	background-color: #FFF;
}
.l-header-container .p-title {
	display: flex;
	align-items: flex-start;
	height: var(--header-height);
}
.l-header-container .p-title .p-logo {
	height: var(--header-height);
	padding: 10px 10px 10px 0;
	display: flex;
	height: var(--header-height);
	box-sizing: border-box;
	font-size: var(--fsize-lg);
	font-weight: 900;
	justify-content: center;
	align-items: center;
	text-decoration: none;
}
.l-header-container .p-title .p-logo img {
	object-fit: contain;
	object-position: left;
	width: 100%;
	height: 100%;
}
.l-header-container .p-title .p-logo .p-text {
	padding: 0 1rem;
	font-size: 1.5rem;
}

/* size */
:root {
	--size-xs: 1rem;
	--size-sm: 2rem;
	--size-md: 3rem;
	--size-lg: 4rem;
	--size-xl: 5rem;

	--fsize-2xs: 0.5rem;
	--fsize-xs: 0.75rem;
	--fsize-sm: 0.8rem;
	--fsize-md: 0.9rem;
	--fsize-lg: 1rem;
	--fsize-xl: 1.5rem;
	--fsize-2xl: 1.75rem;
	--fsize-3xl: 2rem;
}

html,body {
	font-size: 16px;
	line-height: 2;
}
body, input, textarea {
	/* font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, verdana, sans-serif; */
}



/* page */
.page-wrapper {

}
.page-wrapper > main {
	background-size: 100% auto;
	position: relative;
	background-blend-mode: normal;
	background-position: top center;
	background-repeat: no-repeat;	
	z-index: 1;
}


/* body */
.l-body-wrapper {
	overflow: hidden;
	position: relative;
	/* margin-top: calc(-1 * var(--menu-height));
	padding-top: var(--menu-height); */
}

/* section */
.l-section-wrapper {
	position: relative;
}
.l-section-bg {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: calc(100%);
	background-image: var(--color-gradation);
	background-color: var(--color-bg);
	background-position: left bottom;
	background-blend-mode: multiply;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 1;
	opacity: .8;
}

.l-section-container {
	position: relative;
	z-index: 2;
	max-width: none;
	padding-top: var(--size-lg);
	padding-bottom: var(--size-lg);
}
.l-section-container > *:nth-child(1){ margin-top: 0; }
.l-section-title-container {
	position: relative;
	margin: 0;
	margin-top: var(--size-md);
}
.l-section-title {
  padding: 0;
  display: block;
  line-height: 1.2;
	color: var(--color-head-text);
	font-size: var(--fsize-xl);
	font-weight: 600;
}
.s-align-center .l-section-title::after {
  content: " ";
  width: 90px;
  height: 5px;
  background-color: var(--color-head-text);
  display: block;
  margin: var(--size-sm) auto 0;
}
.s-align-left .l-section-title {
	display: flex;
}
.l-section-title-container.s-align-left {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.l-section-title-container.s-align-left::before {
	content: "";
	display: inline-block;
	width: 5px;
	height: 1.5em;
	vertical-align: middle;
	background-color: var(--color-head-text);
	margin: 0 10px 0 0;
}
.l-section-message {
	margin-top: var(--size-sm);
}
.l-section-subtitle {
  display: block;
  font-size: var(--fsize-lg);
  margin: .4rem 0;
	color: var(--color-text);
}
.l-section-footer-container {
}
.l-section-footer-container .p-note {
	padding: var(--size-sm);
	margin-top: var(--size-md);
}
.l-section-footer-container .p-btn-container {
	margin-top: var(--size-md);
}

/* content */
.l-content-wrapper {
	margin-top: var(--size-md);
}
.l-content-wrapper > .l-content-container {
	margin: 0;
	padding: 0;
	background-size: cover;
	background-blend-mode: multiply;
}



/* block__form */
.block__form {
	padding-bottom: var(--size-md);
}
.block__form .l-content-container {
	max-width: 1200px;
	margin: auto;	
}
.block__form .p-table {
	width: 100%;
	max-width: none;
	border: 0;
	border-top: 1px solid #eee;
}
.block__form .p-table tr {
	
}
.block__form .p-table tr td {
	vertical-align: middle;
	border: 0;
	border-bottom: 1px solid #eee;
	padding: var(--size-sm);
	font-size: var(--fsize-md);
	text-align: left;
}
.block__form .p-table tr th {
	vertical-align: middle;
	border-bottom: 1px solid #eee;
	padding: var(--size-sm);
	font-size: var(--fsize-md);
	width: 28%;
	text-align: left;
	box-sizing: border-box;
}
.block__form .p-table tr th a {
	color: var(--color-text);
}
.block__form .p-table .after_text {
	display: block;
	white-space: pre-wrap;
}
.block__form .info_text {
	margin-bottom: 2rem;
}
.block__form input[type="text"] {
	font-size: var(--fsize-md);
	padding: .5rem;
	width: 80%;
}
.block__form input[type="text"].tel {
	width: 10rem;
}
.block__form input[type="text"].department {
	width: 30rem;
}
.block__form input[type="text"].position {
	width: 30rem;
}
.block__form input[type="text"].zip {
	width: 5rem;
}
.block__form input[type="text"].split_name {
	width: 25%;
}
.block__form input[type="radio"] {
	display: none;
}

/* required */
.required,
.p-required {
	background-color: var(--alert-def-bg);
	font-size: .8rem;
	padding: 3px 5px;
	border-radius: 3px;
}
.required::after,
.p-required::after {
	content: "必須";
	color: var(--alert-def-text);
}
.s-required-type2 .required,
.s-required-type2 .p-required {
	background-color: unset;
	font-size: 1rem;
	padding: 0 5px;
	vertical-align: middle;
}
.s-required-type2 .required::after,
.s-required-type2 .p-required::after {
	content: "*";
	color: red;
}

.block__form input[type="radio"] + span{
  padding-left: calc(var(--fsize-md) * 1.5);
  position:relative;
  margin-right: var(--fsize-md);
  line-height: var(--fsize-xl);
  font-size: var(--fsize-md);
}
.block__form input[type="radio"] + span::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: var(--fsize-md);
  height: var(--fsize-md);
  border: 1px solid var(--em-def-bg);
  border-radius: 50%;
  background-color: var(--em-def-bg);
	opacity: .3;
}
.block__form input[type="radio"]:checked + span{
}
.block__form input[type="radio"]:checked + span::after{
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 2px;
  width: calc(var(--fsize-md) - 4px);
  height: calc(var(--fsize-md) - 4px);
  background: var(--em-def-bg);
  border-radius: 50%;
}
.block__form textarea {
	font-size: var(--fsize-md);
	padding: .5rem;
	width: 80%;
}
.block__form .info_image .container {
	display: flex;
	justify-content: space-around;
}
.block__form .info_image .container figure {
	display: block;
	padding: 0 1rem;
	box-sizing: border-box;
}
.block__form .info_image .container figure img {
	max-width: 100%;
}
.block__form .info_image .container > p {
	display: block;
	padding: 0 1rem;
	max-width: 50%;
	box-sizing: border-box;
}


.l-side-content-wrapper {
	margin-bottom: 1.5rem!important;
	padding: 1.5rem 1rem 1rem;
	background-color: #fff;
	border-radius: var(--s-box-radius);
}
.l-side-header h3 {
	font-family: var(--font-pri-sans-serif);
	font-weight: 700;
	font-size: calc(1rem * 9 / 6);
	line-height: calc(1em * 54 / 40);
	letter-spacing: -.025em;
	margin: 0;
}
.l-side-content {
	margin-top: 1rem;
}
.l-side-content > ul {
	font-weight: 600;
	font-size: 0.9rem;
	line-height: calc(1em * 60 / 40);
}
.l-side-content > ul > li:not(:first-child) {
	border-top: 1px solid #e6e6e6;
}
.l-side-content > ul > li > a {
	display: flex;
	padding-top: 1rem;
	padding-bottom: 1rem;
	align-items: center;
	justify-content: space-between;
	/* flex-wrap: wrap; */
	margin: -0.5rem;
}
.l-side-content > ul > li > a > .text-body {
	margin: 0.5rem;
}
.l-side-content > ul > li > a > .fas {
	width: 1em;
	height: 1em;
	display: block;
	color: var(--base-baseColor);
	line-height: 1;
	transition: transform .4s cubic-bezier(.1,.2,.3,1);
	transform: translateZ(0);
}
.l-side-content > ul > li > a:hover > .fas {
transform: translate3d(.4em, 0, 0) scale(1.2);
}
@media (min-width: 48em) {
	.l-side-header h3 {
		font-family: var(--font-pri-sans-serif);
		font-weight: 600;
	}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#footer {
	background-color: var(--footer-bg);
}

#footer .fBox {
	padding-top: 28px;
	margin: 0 auto;
	width: auto;
	border-bottom: 1px solid var(--footer-border);
}

#footer ul {
	padding: 0;
}

#footer .fNavi {
	display: flex;
	justify-content: space-around;
	font-size: 12px;
	max-width: 1200px;
	margin: auto;
}

#footer .fNavi li.info {
	min-width: 200px;
	box-sizing: border-box;
	padding: 0 1.5rem;
	border-right: 1px solid #fff;
	margin-right: 2rem;
	margin-bottom: 1rem;
}
#footer .fNavi li.info > figure {
	margin-bottom: 1rem;	
}
#footer .fNavi li.info > p {
	font-size: .8rem;
	line-height: 1.5;
}

#footer .fNavi li.fnav01 {
	padding-left: 15px;
	margin-right: 5px;
	/* width: 225px; */
	font-weight: bold;
}
#footer .fNavi li.fnav02 {
	padding-left: 0;
	margin-right: 5px;
	font-weight: bold;
}
#footer .fNavi li.fnav03 {
	padding-left: 15px;
	margin-right: 5px;
	/* width: 305px; */
	font-weight: bold;
}
#footer .fNavi li.fnav04 {
	padding-left: 15px;
	margin-right: 5px;
	width: 165px;
	font-weight: bold;
}

#footer .fNavi li.fnav05 {
	padding-left: 15px;
	margin-right: 5px;
	/* width: 215px; */
	font-weight: bold;
}

#footer .fNavi li a {
	text-decoration: none;
}

#footer .fNavi li a:hover {
	text-decoration: underline;
}
#footer .fNavi.level01 > li {
}
#footer .fNavi.level01 > li > .subNavi {}
#footer .fNavi.level01 > li > .subNavi.col2 {
	width: 500px;
	max-width: 100%;
}
#footer .fNavi.level01 > li > .subNavi > li {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}
#footer .fNavi.level01 > li > .subNavi > li.level01-title {font-weight: bold;}
#footer .fNavi.level01 > li > .subNavi > li.level01-title > a {

}
#footer .fNavi.level01 > li > .subNavi > li.level01-title > span {

}
#footer .fNavi.level01 > li > .subNavi > li > .level02 {display: flex;flex-wrap: wrap;margin: 0;}
#footer .fNavi.level01 > li > .subNavi > li > .level02 > li {
	min-width: 200px;
}
#footer .fNavi.level01 > li:nth-last-child(1) > .subNavi > li > .level02 > li {
	min-width: 100px;
}
#footer .fNavi.level01 > li > .subNavi > li > .level02 > li > a.level02-title {font-weight: bold;}
#footer .fNavi.level01 > li > .subNavi > li > .level02 > li > span.level02-title {
	font-weight: bold;
}
#footer .fNavi.level01 > li > .subNavi > li > .level02 > li > .level03 {
	
}
#footer .fNavi.level01 > li > .subNavi > li > .level02 > li > .level03 > li {
	
}
#footer .fNavi.level01 > li > .subNavi > li > .level02 > li > .level03 > li > a {
	
}

#footer .fNavi li .subNavi li {
	width: auto;
	margin-bottom: 9px;
	padding-left: 0;
	font-size: 1.3em;
	background: none;
}

#footer .fNavi li .subNavi li a {
	padding-left: 0;
	display: inline-block;
	color: var(--footer-text);
}

#footer .fNavi li .subMenu {
	margin: 0 0 0 11px;
}

#footer .fNavi li .subMenu li {
	margin-bottom: 7px;
	font-weight: normal;
	font-size: 0.9em;
}

#footer .fNavi li .subMenu li a {
	background: none;
	padding-left: 0;
}

#footer .p-copyright-container {
	padding: 14px 0 10px;
	color: var(--footer-text);
	font-size: 12px;
}

#footer .p-copyright-container p {
	font-size: 1.1em;
	line-height: 1.8;
	text-align: center;
}
@media only screen and (max-width: 1023px) {
	#footer .fBox {
		display: none;
	}
}
/* base styles */
.s-border {
	border-width: 3px;
	border-style: solid;
}
.s-radius:not(.p-image-container),
.s-radius.p-image-container .image {
	overflow: hidden;
	border-radius: var(--size-sm);
}
.s-btn-radius {
	border-radius: var(--size-lg);
}
.s-shadow:not(.p-image-container),
.s-shadow.p-image-container .image {
	box-shadow: 3px 3px 6px 6px #d8d8d8;
}
.s-btn-shadow {
	box-shadow: 0px 0px 5px 0px rgb(255 255 255 / 70%);
}
/* .s-align-left { text-align: left; }
.s-align-center { text-align: center; }
.s-align-right { text-align: right; } */
.s-bg {

}
.s-container-fix {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
@media only screen and (max-width: 1400px) {
	.s-container-fix {
		max-width: 90vw;
	}
}
.s-container-fluid {

}

.p-image-def{ display: inherit; }
.p-image-wh{ display: none; }

.s-grid {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
}
/* 3 cols */
.s-grid[col="3"] .s-col {
	width: calc((100% - var(--size-md) - var(--size-md)) / 3);
	margin-left: calc(var(--size-md) / 2);
	margin-right: calc(var(--size-md) / 2);
	margin-bottom: var(--size-sm);
}
.s-grid[col="3"] .s-col:nth-child(3n-2) {
	margin-left: 0;
}
.s-grid[col="3"] .s-col:nth-child(3n) {
	margin-right: 0;
}
/* 4 cols */
.s-grid[col="4"] .s-col {
	width: calc((100% - var(--size-md) - var(--size-md)) / 4);
	margin-left: calc(var(--size-md) / 3);
	margin-right: calc(var(--size-md) / 3);
}
.s-grid[col="4"] .s-col:nth-child(4n-3) {
	margin-left: 0;
}
.s-grid[col="4"] .s-col:nth-child(4n) {
	margin-right: 0;
}
/* 5 cols */
.s-grid[col="5"] .s-col {
	width: calc((100% - var(--size-md) - var(--size-md)) / 5);
	margin-left: calc(var(--size-md) / 4);
	margin-right: calc(var(--size-md) / 4);
}
.s-grid[col="5"] .s-col:nth-child(5n-4) {
	margin-left: 0;
}
.s-grid[col="5"] .s-col:nth-child(5n) {
	margin-right: 0;
}

/* 縦一覧表示 */
.s-vertical-list {
	list-style: none;
}
.s-vertical-list .s-col {
	margin-bottom: var(--size-sm);
}
.s-vertical-list .s-col:nth-last-child(1) {
	margin-bottom: 0;
}

.s-justify-around { justify-content: space-around; }
.s-justify-between { justify-content: space-between; }
.s-justify-evenly { justify-content: space-evenly; }

.s-min-wid-xs { min-width: 15rem; }
.s-min-wid-sm { min-width: 20rem; }
.s-min-wid-md { min-width: 25rem; }
.s-min-wid-lg { min-width: 30rem; }
.s-min-wid-xl { min-width: 35rem; }


/* base parts */
.p-title {}
.p-subtitle {
	font-size: var(--fsize-lg);
	margin: 0;
}
.p-text {}

/* p-btn */
	.p-btn {
    display: inline-block;
    text-decoration: none;
    padding: 10px;
    border-width: 2px;
    border-style: solid;
    padding-left: 20px;
    padding-right: 20px;
    font-size: 1rem;
    line-height: 1.5;
		min-width: 8rem;
		cursor: pointer;
	}
	.p-btn-def {
		background-color: var(--em-def-bg);
		border-color: var(--em-def-border);
		color: var(--em-def-text);
	}
	.p-btn-primary {
		background-color: var(--em-primary-bg);
		border-color: var(--em-primary-border);
		color: var(--em-primary-text);
	}
	.p-btn-container .p-btn {
		margin-left: var(--size-sm);
		margin-right: var(--size-sm);
	}
	.p-btn-container .p-btn:nth-child(1){ margin-left: 0; ;}
	.p-btn-container .p-btn:nth-last-child(1){ margin-right: 0; ;}

/* p-figure */
.p-figure {
		display: flex;
		justify-content: stretch;
		align-items: center;
		flex-direction: column;
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
	}
	.p-figure	.image {
		width: 100%;
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
		display: flex;
		height: 100%;
	}
	.p-figure .image > img {
		margin: auto;
		opacity: 0;
	}


.p-image {}
.p-image > img {
	width: auto;
	max-width: 100%;
}
.p-label {}
.p-body {}

/* p-box */
	.p-box {}
	.p-box-head {
		background-color: var(--box-head-bg);
		border-color: var(--box-head-border);
		color: var(--box-head-text);
	}
	.p-box-def {
		background-color: var(--box-def-bg);
		border-color: var(--box-def-border);
		color: var(--box-def-text);
	}
	.p-box-info {
		background-color: var(--box-info-bg);
		border-color: var(--box-info-border);
		color: var(--box-info-text);
	}

/* p-note */
	.p-note {}
	.p-note-def {
		background-color: var(--note-def-bg);
		border-color: var(--note-def-border);
		color: var(--note-def-text);
	}
	.p-note-head {
		background-color: var(--note-head-bg);
		border-color: var(--note-head-border);
		color: var(--note-head-text);
	}


.p-block-container{
	padding: var(--size-sm);
}
.p-title-container{
}
.p-body-container{
}
.p-text-container {
	padding: var(--size-sm);
}
.p-item-container{}
.p-btn-container {}
.block__form .p-btn-container {
	max-width: 1200px;
	margin: auto;
	text-align: center
}
.p-label-container {}
.p-copyright-container {}
.p-image-container {}

.p-image-container.s-image-width-auto .image {
	width: auto;
}
.p-image-container.s-align-left .p-figure {
	align-items: flex-start;
}
.p-image-container.s-align-right .p-figure {
	align-items: flex-end;
}
.p-image-container.s-image-size-contain .image{
	background-size: contain;
}

.p-row-container {
	display: flex;
	flex-direction: row;
}
.p-row-container > * {
	padding-left: var(--size-xs);
	padding-right: var(--size-xs);
}
.p-row-container > :not(.p-block-container):nth-last-child(1) {
	padding-right: 0;
}

.p-row-container > .p-image-container:nth-child(1) {
	padding-left: 0;
	flex: 0 0 25%;
}
.p-row-container > .p-image-container .p-figure {
	height: 100%;
}
.p-row-container > .p-image-wrapper {
	min-width: 20%;
}

.p-text-wrapper {}
.p-text-wrapper .p-text-container {
	padding: 0;
	margin-bottom: var(--size-sm);
}
.p-text-wrapper .p-text-container .p-title {
	margin-bottom: var(--size-xs);
}
.p-image-wrapper {}
.p-image-wrapper .p-image-container {
	padding: 0;
	margin-bottom: var(--size-xs);
}

.p-tag-list {
	list-style: none;
	padding: 0;
	margin-right: -10px;
	margin-bottom: 10px;
}
.p-tag-list > li {
	display: inline-block;
	font-size: .7rem;
	background-color: var(--em-primary-bg);
	color: var(--em-primary-text);
	border-radius: 5px;
	padding: 5px 15px;
	margin: 0 7px 7px 0;
}

.p-file .p-file-name {
	display: inline-block;
	word-break: break-all;
}
.p-file .p-file-caption {
	display: inline-block;
}

/* base contents */
.l-section-wrapper {}
.l-section-bg {}
.l-section-container {}
.l-section-title-container {}
.l-section-title-container .l-section-subtitle {}
.l-section-title-container .l-section-title {}
.l-section-message {
    color: var(--color-text);
}
.l-section-footer-container {}

.l-content-wrapper {}
.l-content-container {}

.l-item-container {}

.l-label-container {}

.l-text-container {}



/**
	right-float-box
**/
#expansionFloatBanner {
	position: fixed;
	bottom: 70px;
	right: 20px;
	transform: translateX(250px);
	transition: .5s;
	opacity: 0;
	z-index: 1000;
	max-width: 20vw;
}
#expansionFloatBanner.scroll-start {
	transform: translateX(0);
	opacity: 1;
	transition: .5s;
}
#expansionFloatBanner.scroll-start.scroll-end {
	transform: translateX(250px);
	opacity: 0;
}
#expansionFloatBanner .floatBannerIn {
	display: inline-block;
}
#expansionFloatBanner .floatBannerIn .right-float-in {
	display: block;
	text-align: right;
}
#expansionFloatBanner .floatBannerIn .right-float-in > * {
	display: block;
	box-shadow: 0px 0px 4px 1px rgba(0, 0, 0, 0.6);
	text-decoration: none;
}
#expansionFloatBanner .floatBannerIn .right-float-in img {
	max-width: 500px;
}
#expansionFloatBanner .floatBannerIn .upperRight img {
	width: 40px;
}
#expansionFloatBanner .floatBannerIn .right-float-in p {
	text-align: left;
	background-color: #FFF;
	padding: .5rem;
	text-decoration: none;
}
#expansionFloatBanner .floatBannerIn .upperRight {
	font-size: 25px;
	position: absolute;
	top: -10px;
	right: -10px;
	width: 30px;
	height: 30px;
	line-height: 30px;
	color: #FFF;
	background: #000;
	text-align: center;
	border-radius: 3px;
	cursor: pointer;
	z-index: 10;
	transition: all .5s;
	display: flex;
	justify-content: center;
	align-items: center;
}
#expansionFloatBanner .floatBannerIn .upperRight:hover {
	transform: scale(1.2);
} 
#expansionFloatBanner .floatBannerIn .upperRight::before{
	content: "\f00d";
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
}
#expansionFloatBanner .floatBannerIn .right-float-in label {
	text-align: center;
	display: inline-block;
	height: auto;
	line-height: 1.7;
	font-size: 15px;
	color: #000;
	margin-top: 5px;
	padding: 5px;
	background: rgb(255 255 255 / 50%);
	border-radius: 3px;
}
#expansionFloatBanner .floatBannerIn .right-float-in label input {
  vertical-align: text-top;
  line-height: 1;
  top: 1px;
}
#expansionFloatBanner .floatBannerIn .btn-hide input[type="checkbox"] {
  display: none;
}
#expansionFloatBanner .floatBannerIn .btn-hide > span {
	position: relative;
	vertical-align: middle;
	font-size: 13px;
	margin-right: 5px;
	border-radius: 3px;
	padding: 2px;
	border: 2px solid #000;
	background: #fff;
	opacity: .2;
	transition: all .3s;
}
#expansionFloatBanner .floatBannerIn .btn-hide input[type="checkbox"] + span:before {
  font-weight: 900;
  font-family: "Font Awesome 5 Free";
  content: '\f00c';
  color: #000000;
  opacity: 0;
  transition: all .3s;
}
#expansionFloatBanner .floatBannerIn .btn-hide input[type="checkbox"]:checked + span {
	opacity: 1;
}
#expansionFloatBanner .floatBannerIn .btn-hide input[type="checkbox"]:checked + span:before {
	opacity: 1;
}
@media only screen and (max-width:678px){
	#expansionFloatBanner .floatBannerIn .upperRight img {width:5vw;}
	#expansionFloatBanner .floatBannerIn .right-float-in img {max-width: 72vw;}
  #expansionFloatBanner.scroll-start{
		right: 0;bottom: 15vw;
		max-width: 50vw;
	}
  #expansionFloatBanner .floatBannerIn .right-float-in label {
    font-size: 12px !important;
    display: block;
    margin-top: 0;
    border-radius: 0;
  }
  #expansionFloatBanner .floatBannerIn .upperRight {
		top: -30px;
    right: 0;
    font-size: 15px;
    width: 30px;
    height: 30px;
    line-height: 30px;
  }
}
@media only screen and (max-width:460px) {
	#expansionFloatBanner {bottom: 30vw;}
}


#expansionFloatBanner.layout02 .floatBannerIn .upperRight {
}
#expansionFloatBanner.layout02 .floatBannerIn .upperRight::before {
	content: "";
	display: block;
	width: 15.32px;
	height: 15.32px;
	background: url(/_build_/assets/sample/floatbanner_01.svg) no-repeat;
	background-position: center;
	background-size: cover;
	
}
#expansionFloatBanner.layout02 .p-text-container {
	padding: 0;
	border-left: 2px solid var(--des-main-defColor);
	margin: 0 3rem 2rem;
}
#expansionFloatBanner.layout02 .p-text-container > .p-subtitle {
	padding: 0 0 0 1rem;
	background-color: transparent;
}
#expansionFloatBanner.layout02 .p-text-container > .p-title {
	padding: 0 0 0 1rem;
	background-color: transparent;
}
#expansionFloatBanner.layout02 .externalLinkIcon {
	position: relative;
	padding: 0;
}
#expansionFloatBanner.layout02 .externalLinkIcon::before {
	position: absolute;
	content: "";
	display: block;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	opacity: .9;
	background-color: var(--baseColor);
	z-index: -1;
}
:root {
	--p-image-def: inherit;
	--p-image-wh: none;

	--base-defColor: #ffffff;
	--base-defColor-dark1: #666;
	--base-defColor-dark2: #444;
	--base-defColor-dark3: #222;
	--base-defColor-light1: #aaa;
	--base-defColor-light2: #ccc;
	--base-defColor-light3: #F4F9FD;
	--base-defColor-opp: #000000;
	--base-defColor-dark-opp: #ffffff;
	--base-defColor-light-opp: #000000;

	--base-baseColor: #74C3E5;
	--base-baseColor-dark1: #659cb5;
	--base-baseColor-dark2: #281197;
	--base-baseColor-dark3: #063354;
	--base-baseColor-light1: #9683f1;
	--base-baseColor-light2: #cac0f8;
	--base-baseColor-light3: #F4F9FD;
	--base-baseColor-opp: #FFFFFF;
	--base-baseColor-dark-opp: #ffffff;
	--base-baseColor-light-opp: #000000;

	--base-subColor: #063354;
	--base-subColor-dark1: #a3a3d3;
	--base-subColor-dark2: #7575bd;
	--base-subColor-dark3: #4d4da1;
	--base-subColor-light1: #dcdcee;
	--base-subColor-light2: #e8e8f4;
	--base-subColor-light3: #f3f3f9;
	--base-subColor-opp: #FFFFFF;
	--base-subColor-dark-opp: #ffffff;
	--base-subColor-light-opp: #000000;

	--base-primaryColor: #063354;
	--base-primaryColor-dark1: #d62323;
	--base-primaryColor-dark2: #9b1919;
	--base-primaryColor-dark3: #611010;
	--base-primaryColor-light1: #ed9292;
	--base-primaryColor-light2: #f7cdcd;
	--base-primaryColor-light3: #fef9f9;
	--base-primaryColor-opp: #ffffff;
	--base-primaryColor-dark-opp: #ffffff;
	--base-primaryColor-light-opp: #000000;

	--des-main-defColor: #FFF;
}
.p-headline {
	position: relative;
}

.p-headline>.p-headline-container {
	display: flex;
	justify-content: var(--s-align-flex, flex-start);
	text-align: var(--s-align, left);
	align-items: center;
	flex-direction: row;
	gap: 0;
	padding: 0;
}

.p-headline>.p-headline-container>* strong {
	font-size: var(--fsize-head-em);
}

.p-headline>.p-headline-container>* small {
	font-size: 70%;
}

.p-headline>.p-headline-container>*>.p-subtext {
	font-family: var(--ffamily-head-sub);
}

.p-headline>.p-headline-container>*>.cx-subtitle-en {
	font-family: var(--s-font-family-english);
}

.p-headline>.p-headline-container em {
	font-size: 100%;
	color: var(--txt-head-primary);
}

.p-headline .p-headline-items {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
}

/* .p-headline.s-headline-h1 */
.p-headline.s-headline-h1 .p-headline-items {
	font-size: var(--fsize-1head);
}

/* .p-headline.s-headline-h2 */
.p-headline.s-headline-h2 .p-headline-items {
	font-size: var(--fsize-2head);
}

/* .p-headline.s-headline-h3 */
.p-headline.s-headline-h3 .p-headline-items {
	font-size: var(--fsize-3head);
}

/* .p-headline.s-headline-h4 */
.p-headline.s-headline-h4 .p-headline-items {
	font-size: var(--fsize-4head);
}

/* .p-headline.s-headline-h5 */
.p-headline.s-headline-h5 .p-headline-items {
	font-size: var(--fsize-5head);
}

/* .p-headline.s-headline-h6 */
.p-headline.s-headline-h6 .p-headline-items {
	font-size: var(--fsize-6head);
}

.l-section-wrapper.s-align-center .p-headline.s-headline-h2>.p-headline-container {
	text-align: center;
	justify-content: center;
	align-items: center;
}
/* 共通 */
.p-text {
}
.p-text.cx-text-link {
	text-decoration: none;
}


.p-text.cx-text-link.s-text-link-001 a {
	text-decoration: none;
	display: inline-block;
	vertical-align: text-top;
}
.p-text.cx-text-link.s-text-link-001 a:hover {
	text-decoration: underline;
}
.p-text.cx-text-link.s-text-link-001::before {
	display: inline-flex;
	vertical-align: middle;
	margin-right: 0.5em;
	color: inherit;
}

.p-text.cx-datetime {
	font-size: .9em;
}


:root {
}
html, body {
  scroll-padding-top: calc(var(--header-height-before) + var(--header-height-after));
}

header {
	position: sticky;
	top: 0;
	width: 100%;
	z-index: 9999;
}
header .l-header-wapper {
}
header .l-header-bg {
	opacity: 1;
}
header.is-scroll {
	position: sticky;
	/* box-shadow: 0px 0px 7px 0px var(--des-sub-darkColor); */
}
header.is-scroll .l-header-bg {
	background-color: var(--des-main-defColor);
}
.l-gmenu-cta-container .s-shadow {
	box-shadow: none;
}
.l-gmenu-main-container > li {
	position: relative;
}
.l-gmenu-main-container > li a,
.l-gmenu-main-container > li a > .p-text {
	line-height: 1.4;
}

.l-gmenu-wrapper {
  position: sticky;
  top: var(--header-height-after);
  overflow-x: hidden;
  z-index: 3;
  overflow: hidden;
  transition: all .2s;
  height: 4rem;
	margin: 0 0 0 auto;
	background-color: var(--des-sub-lightColor);
}


.l-gmenu-navi-wrapper > .l-gmenu-main-wrapper {
	position: relative;
	margin: 0 auto;
	padding-top: 0;
	z-index: 1;
	height: 100%;
}


/* gmenu main */
.l-gmenu-main-wrapper {

}
.l-gmenu-main-container {
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 0;
	margin: auto;
	height: 100%;
	flex-wrap: wrap;
	width: var(--s-content-width);
	max-width: 100%;
}
.l-gmenu-main-container > li {
	height: auto;
	display: flex;
	align-items: center;
	font-size: .8rem;
	font-weight: 400;
}
.l-gmenu-main-container > li a {
	display: flex;
	height: 6rem;
	width: calc(100% - 1px);
	justify-content: center;
	align-items: center;
	text-align: center;
	font-weight: 400;
	text-decoration: none;
	white-space: nowrap;
	padding-left: 1rem;	
	padding-right: 1rem;	
}
.l-gmenu-main-container > li + li a {
}
.l-gmenu-main-container > li:hover a {
	background-color: var(--base-baseColor-dark3);
	color: var(--base-baseColor-dark-opp);
}

.l-gmenu-cta-container {
	gap: 0.5rem;
	margin-right: 0.5rem;
}
.l-gmenu-cta-container > li {
	height: auto;
}
.l-gmenu-cta-container > li > .p-btn {
}

.l-body-wrapper + .l-body-wrapper {
	margin-top: 6rem;
}
.l-header-container {
	width: var(--s-content-width);
	max-width: 100%;
}
.l-header-container .p-title .p-image {
	max-width: 250px;
	max-height: 4rem;
	padding: 0.5rem 0.5rem;
}
.l-header-container .p-title .p-subtitle {
	display: block;
	font-size: 12px;
	align-self: flex-end;
	padding-bottom: 10px;
	margin-left: 10px;
}
.l-gmenu-cta-container > li > a.p-btn {
	position: relative;
	padding: .7rem 1.8rem;
	font-size: .8rem;
	min-width: 223px;
	justify-content: center;
}
header.is-scroll .l-header-logo-container .p-image-wh-juge .p-image-def { display: none; }
header.is-scroll .l-header-logo-container .p-image-wh-juge .p-image-wh { display: inherit; }

@media only screen and (max-width:1700px) {
	.l-gmenu-wrapper {
		bottom: 0;
	}
	.l-gmenu-main-container {
		max-width: 90vw;
	}
	.l-header-container .p-title .p-image {
		max-width: 30vw;
	}
}
@media only screen and (max-width:830px) {
	.l-gmenu-wrapper {
		display: none;
	}
	body.is-gmenu-active .l-gmenu-wrapper {
		display: block;
		position: absolute;
		width: 100%;
    height: calc(100vh - 5rem);
		background-color: rgb(0 0 0 / 30%);
	}
	.l-gmenu-main-container {
		flex-direction: column;
		justify-content: flex-start;
		height: auto;
	}
	.l-gmenu-navi-wrapper {
		width: 100%;
		height: auto;
		background-color: #FFF;
	}
	.l-gmenu-main-container > li {
		font-size: 1.2rem;
		height: auto;
    padding: 2rem 2rem;
	}
	.l-gmenu-main-container > li::before, .l-gmenu-main-container > li:nth-last-child(1)::after {
		display: none;
	}
	.l-gmenu-main-container > li a {
		text-align: left;
    justify-content: flex-start;
	}
	.l-gmenu-main-container > li a br {
		display: none;
	}
	header .l-header-wapper {
		overflow: visible;
		min-width: auto;
	}
	.l-header-container {
		flex-direction: row;
    justify-content: space-between;
    align-items: center;
		padding-right: 3rem;
	}
	.l-header-container > .l-gmenu-sub-wrapper > .l-gmenu-cta-container {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0.5rem;
    padding-left: 0;
		margin: 0;
    box-shadow: 0 0 10px 5px #c7c7c7;
		background-color: #FFF;
	}
	.l-gmenu-cta-container {
    margin: 0;
    height: auto;
		width: 100%;
    justify-content: space-around;
	}
	.l-gmenu-cta-container .p-btn-def {
    padding: 0.7rem 1.3rem;
	}
	.l-header-logo-container {
		max-width: 50vw;
    padding: 0 1rem;
	}
	.l-header-complogo-container {
		max-width: 30vw;
    margin: 0;
    padding: 0.5rem 1.5rem;
	}
	.l-header-container > .l-menu-container {
		display: block;
	}
	header {
		position: sticky;
    height: auto;
    top: 0;
    left: 0;
    z-index: 9999;
	}
	.l-gmenu-wrapper {
		position: relative;
    bottom: auto;
    width: 100%;
    height: 4rem;
    overflow: scroll;
	}
	.l-gmenu-cta-container > li > .p-btn
	.l-section-wrapper > .l-section-container > .l-content-wrapper > .p-buttons > .s-btn-default.color-default {
		font-size: 1.4rem;
	}
	.l-gmenu-cta-container > li {
		margin: 0;
	}
	.l-gmenu-cta-container {
			margin-left: .5rem;
	}
	.l-gmenu-cta-container > li > a.p-btn {
		font-size: 2vw;
		min-width: auto;
	}

	body#top header {
    --header-height-before: 5rem !important;
	}
}
@media only screen and (max-width: 830px) {
}


.l-hero-wrapper {
	/* padding-top: 4rem !important; */
}





.sub-menu {
	width: 100%;
	display: flex;
	justify-content: flex-end;
}
.sub-menu .search-form {
	margin-left: 1rem;
}



@media only screen and (max-width: 1023px) {
	header.is-active .main-menu {
		margin-top: 0;
	}

  .navi-wrapper {
  	display: none;
  	width: 100%;
  }
  .l-header.is-active .navi-wrapper {
  	display: block;
  }
  .global-navi {
		display: flex;
  	width: 100%;
  	flex-direction: column-reverse;
  }
  .l-header {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    height: auto;
    background: transparent;
  }
  .l-header.is-active .navi-wrapper {
    overflow: auto;
    background: #32AFA7;
  }
  body.is-nav-active {
		/* overflow: hidden;
		width: 100vw;
		height: 150vh; */
	}
	header.is-nav-active .sub-menu > .p-nav-sub > li > a:before {
		display: none;
	}
}

.p-site-title {
  margin: 0;
  justify-self: stretch;
  /* background: #FFF; */
	display: flex;
	align-items: center;
  height: 100%;
}
.p-site-title > span {
	font-size: .85rem;
	margin-left: 1rem;
	display: inline-block;
	line-height: 1.2rem;
	padding: .2rem .5rem;
	background-color: var(--header-sub-bg);
	color: var(--header-sub-text);
}

.p-site-title__link {
  text-decoration: none;
  display: block;
  text-align: center;
  padding: 0;
  height: 100%;
  box-sizing: border-box;
  align-self: center;
  filter: var(--logo-filter);
}
.p-site-title__link > img {
	    height: 100%;
	    width: auto;
	    object-fit: contain;
}
.p-site-title__link span {
  display: block;
  font-size: 0.8rem;
  color: var(--header-text);
}
.p-site-title__link span.p-site-subtitle__link {
  font-size: 0.6rem;
}

@media only screen and (min-width: 1024px) {
}
@media only screen and (max-width: 1023px) {
    .p-site-title {
    	padding: 10px;
    	height: 72px;
    }
  .p-site-title__link {
    margin: 0;
    padding: 0;
  }
}

header .icon.image{
	height: 14px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 5px;
	margin-bottom: 2px;
}
header .icon.image img{
	max-width: 100%;
	max-height: 100%;
	width: auto;
}

header .common-menu {
  display: flex;
  justify-content: center;
}
header .main-menu .common-menu {
  justify-content: flex-end;
  margin: 0;
  padding: 0;
}
header .common-menu li {
  line-height: 1;
}
header .common-menu li a {
  color: var(--header-text);
  position: relative;
  /* white-space: pre-wrap; */
}
header .common-menu.top-menu li a {
  border-left: 1px solid #a3a3a3;
  padding-bottom: 0;
}
header .common-menu.top-menu li:first-child a {
  border-left: none;
}
header .top-menu .common-menu li {
  border-left: 1px solid #a3a3a3;
}
header .top-menu .common-menu li:first-child {
  border-left: none;
}
header .common-menu.top-menu li:nth-last-child(1) a {
  padding-right: 0;
}
header .common-menu li a.active {
  color: #00BFB3;
}
header .common-menu.top-menu li a.active {
  color: #000;
}

header .common-menu > li > a:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  right: 50%;
  bottom: 0;
  background: var(--header-text);
  height: 5px;
  -webkit-transition-property: left, right;
  transition-property: left, right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
@media print, (min-width: 768px) {
  header .common-menu li:hover > a,
  header .common-menu li a:hover,
  header .common-menu li a:focus,
  header .common-menu li a:active,
  header .common-menu li a.active {
  }
  header .common-menu.top-menu li a:hover,
  header .common-menu.top-menu li a.active {
  }
  header .common-menu li:hover > a:before,
  header .common-menu li > a:hover:before,
  header .common-menu li > a:focus:before,
  header .common-menu li > a:active:before,
  header .common-menu li > a.active:before {
    left: 0px;
    right: 0px;
  }
}

header .main-menu > .common-menu > li {
  padding: 0 0 15px 5px;
  margin: 0 0 -15px;
}
header  .main-menu > .common-menu > li > a {
	padding: 5px;
	padding-bottom: 10px;
}


header .common-menu li > a:before{
	display: none;
}
header  .main-menu > .common-menu > li:hover > a,
header  .main-menu > .common-menu > li > a:hover {
	background: var(--header-text);
	color: var(--header-bg);
	opacity: 1;
}
header  .sub-menu > .p-nav-sub > li {
  padding: 0 0 15px 5px;
  margin: 0 0 -15px;
}
header  .sub-menu > .p-nav-sub > li > a {
	padding: 5px;
}
header  .sub-menu > .p-nav-sub > li > a::before{
	display: none;
}
header  .sub-menu > .p-nav-sub > li > a:hover {
	background: var(--header-text);
	color: var(--header-bg);
	opacity: 1;
}
header .main-menu > .common-menu > li.search:hover > a,
header .main-menu > .common-menu > li.search > a:hover {
	background: var(--header-bg);
	color: var(--header-text);
}

header .common-menu.top-menu li a:before {
  display: none;
}
header .common-menu.top-menu li a:hover {
  text-decoration: underline;
}
header .main-menu > .common-menu > li:nth-child(1) {
	padding-left: 0;
}
header .main-menu > .common-menu > li:nth-last-child(1) {
  border-right: 0;
}
header .main-menu {
  margin-top: 10px;
  width: 100%;
  padding: 0;
}
header .main-menu > .common-menu > li .child-wrap {
  visibility: hidden;
  height: 0;
  position: fixed;
  left: 0;
  top: calc(5.37rem - 5px);
  z-index: 1001;
  margin: 0;
  width: 100%;
  text-align: left;
  opacity: 0;
  overflow: hidden;
  background: #FFF;
  margin-top: 0;
  box-shadow: 0 5px 15px -5px #999;
}
header.is-scroll .main-menu > .common-menu > li .child-wrap {
	top: 82px;
}
@media only screen and (max-width: 1023px) {
	header .main-menu > .common-menu > li .child-wrap {
		display: none;
	}
	header .main-menu > .common-menu > li,
	header .main-menu > .common-menu > li:nth-child(1) {
		padding: 5px;
		margin: 0;
	}
	header  .sub-menu > .p-nav-sub > li {
		padding: 5px;
		margin: 0;
	}
}
header .main-menu > .common-menu > li:hover .child-wrap,
header .main-menu > .common-menu > li .child-wrap.viewtest {
  visibility: visible;
  height: auto;
  opacity: 1;
  transition: all .3s!important;
}
header .main-menu > .common-menu .child-menu-title {
  width: 1200px;
  margin: auto;
  text-align: center;
  color: #FFF;
  padding: 30px 0 10px;
}
header .main-menu > .common-menu .child-inner {
  width: 1200px;
  margin: auto;
  max-width: 100%;
  min-height: 200px;
  display: flex;
  justify-content: stretch;
  align-items: stretch;
}
header .main-menu > .common-menu .child-inner .search-form {
	display: flex;
	justify-content: center;
	align-items: center;
}
header .main-menu > .common-menu .parent-block {
  display: flex;
  width: 230px;
  box-sizing: border-box;
  position: relative;
  font-size: 0;
  padding: 30px 20px 30px 8px;
  text-align: center;
  line-height: 1;
  background: #97999B;
  max-height: none;
  height: auto;
  align-items: center;
}
header .main-menu > .common-menu .parent-block > a {
  color: #fff;
  text-align: center;
  display: block;
}
header .main-menu > .common-menu .parent-block > a:last-child {
  margin-bottom: 0;
}
header .main-menu > .common-menu .parent-block > a .parent-block-txt {
  background: #fff;
  text-align: center;
  margin-bottom: 0;
  padding: 5px 10px;
  display: inline-block;
  width: 100%;
  border-top: 1px solid #E1E1E1;
}
header .main-menu > .common-menu .parent-block img {
  width: 100%;
  max-width: 100%;
}

header .main-menu > .common-menu .parent-info {
	display: flex;
	align-items: center;
	color: #fff;
	width: 200px;
	min-height: 200px;
	font-size: 120%;
	padding: 2rem;
	padding-right: 1rem;
	padding-left: 0;
	position: relative;
}
header .main-menu > .common-menu .parent-info::after {
	content: "";
	position: absolute;
	top: 10%;
	right: 0;
	background-color: #ccc;
	height: 80%;
	width: 1px;
}
header .global-navi .main-menu > .common-menu .child-wrap .parent-info a {
	color: #333;
}

header .main-menu > .common-menu .child-list {
  zoom: 1;
  display: flex;
  justify-content: space-between;
  vertical-align: top;
  padding: 20px 0 0 20px;
  box-sizing: border-box;
  width: 100%;
}
header .global-navi .main-menu > .common-menu .child-wrap.image .child-list {
	padding: 20px 0 20px 0;
}
header .global-navi .main-menu > .common-menu .child-wrap.tree .child-list {
	padding: 3rem;
	padding-left: 0;
	padding-right: 0;
}
header .main-menu > .common-menu .child-list:after {
  content: "";
  display: block;
  clear: both;
}
header .main-menu > .common-menu .child-list .child-list-line {
  display: flex;
  align-items: center;
  padding: 0 10px 0 10px;
  width: 100%;
  min-height: 200px;
}
header .main-menu > .common-menu .child-list .child-list-line > ul > li {
  margin-bottom: 0;
  min-width: 30%;
  display: inline-block;
}
header .main-menu > .common-menu .child-list .child-list-line > ul > li:last-child {
  /* margin-bottom: 0; */
}
header .global-navi .main-menu > .common-menu .child-wrap.tree .child-list .child-list-line > ul {
	display: flex;
	justify-content: space-between;
	align-items: self-start;
}
header .global-navi .main-menu > .common-menu .child-wrap.tree .child-list .child-list-line > ul > li {
	min-width: auto;
	float: none;
	align-self: self-start;
	max-width: 25%;
}
header .global-navi .main-menu > .common-menu .child-wrap.tree .child-list .child-list-line > ul > li > a {
	font-size: 120%;
}

header .global-navi .main-menu > .common-menu .child-wrap.image .child-list .child-list-line > ul {
	display: flex;
	justify-content: space-between;
}
header .global-navi .main-menu > .common-menu .child-wrap.image .child-list .child-list-line > ul > li {
	min-width: auto;
}

header .global-navi .main-menu > .common-menu .child-wrap.tree .child-list .child-list-line > ul > li > ul {
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--menu-border);
	padding-top: 1.5rem;
}
header .global-navi .main-menu > .common-menu .child-wrap.tree .child-list .child-list-line > ul > li > ul > li {
	float: none;
	margin: 0;
	align-self: flex-start;
}
header .global-navi .main-menu > .common-menu .child-wrap a {
	color: #333;
	position: relative;
}
header .global-navi .main-menu > .common-menu .child-wrap a:hover {
	color: var(--menu-bg);
	opacity: 1;
}
header .global-navi .main-menu > .common-menu .child-wrap a span::after {
	content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  right: 50%;
  bottom: 7px;
  background: var(--menu-bg);
  height: 2px;
  -webkit-transition-property: left, right;
  transition-property: left, right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
header .global-navi .main-menu > .common-menu .child-wrap a:hover span::after {
	left: 20px;
	right: 0;
}

header .global-navi .main-menu > .common-menu .child-wrap.tree .child-list .child-list-line > ul > li > ul > li span {
	line-height: 1.3;
	padding-left: 20px;
	display: inline-block;
}
header .global-navi .main-menu > .common-menu .child-wrap.tree .child-list .child-list-line > ul > li > ul > li i {
	color: var(--menu-bg);
	/* padding-right: 10px; */
	position: absolute;
}
header .global-navi .main-menu > .common-menu .child-wrap.tree .child-list .child-list-line > ul > li > ul > li a:hover * {
}


header .main-menu > .common-menu .child-list li {
  /* float: left; */
}
header .main-menu > .common-menu .child-list li:last-child a {
  border-right: none;
}
header .main-menu > .common-menu .child-list a {
  padding: 0 !important;
  display: block;
  position: relative;
}
header .main-menu > .common-menu .child-list a {
  display: block;
  position: relative;
  padding: 0 0 10px 0 !important;
}
header .main-menu > .common-menu .child-list .child-ttl {
  line-height: 1.2;
  position: relative;
  margin-bottom: 5px;
  color: #333;
}
header .main-menu > .common-menu .child-list .parent .child-ttl {
	font-weight: bold;
}
header .main-menu > .common-menu .child-list a:hover .child-ttl {
	color: var(--em-primary-bg);
}
header .main-menu > .common-menu .child-list .child-ttl span {
  display: inline-block;
  color: var(--menu-bg);
}
header .main-menu > .common-menu .child-list .child-ttl i {
  margin-left: 14px;
}
header .main-menu > .common-menu .child-list .child-ttl img  {
	margin-bottom: 5px;
}
header .main-menu > .common-menu .child-list .child-ttl:before {
  content: "ï”";
  display: inline-block;
  width: 8px;
	height: 11px;
	font-family: "Font Awesome 5 Free";
}
header .global-navi .main-menu > .common-menu .child-wrap.image .child-list .child-ttl:before {
	display: none;
}
header .global-navi .main-menu > .common-menu .child-wrap.tree .child-list .child-ttl:before {
	display: none;
}
header .main-menu > .common-menu .child-list .btn {
  margin-bottom: 20px;
}
header .main-menu > .common-menu .child-list .btn .child-ttl {
  text-align: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
}
header .main-menu > .common-menu .child-list .btn .child-ttl:hover {
  opacity: 0.8;
}
header .main-menu > .common-menu .child-list .btn-contact .child-ttl {
  background-color: #fe9025;
}
header .main-menu > .common-menu .child-list .btn-contact .child-ttl:after {
  position: absolute;
  content: " ";
  right: 20px;
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  width: 0;
  height: 0;
  border-left: 5px solid #ffffff;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}
header .main-menu > .common-menu .child-list .child-ttl.bold {
  margin-bottom: 10px;
}
header .main-menu > .common-menu .child-list .child-ttl.bold:before {
  content: none;
}
header .main-menu > .common-menu .child-list .child-ttl.bold span {
  margin-left: 0;
}

@media only screen and (min-width: 992px) {
  header .main-menu {
    display: block !important;
  }
}

header .sub-menu > .p-nav-sub > li > a {
	position: relative;
}
header .sub-menu > .p-nav-sub > li > a:before{
	content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  right: 50%;
  bottom: -5px;
  background: var(--em-primary-text);
  height: 5px;
  -webkit-transition-property: left, right;
  transition-property: left, right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
header .sub-menu > .p-nav-sub > li:hover > a,
header .sub-menu > .p-nav-sub > li a:hover,
header .sub-menu > .p-nav-sub > li a:focus,
header .sub-menu > .p-nav-sub > li a:active,
header .sub-menu > .p-nav-sub > li a.active {
}
header .sub-menu > .p-nav-sub > li:hover > a:before,
header .sub-menu > .p-nav-sub > li > a:hover:before,
header .sub-menu > .p-nav-sub > li > a:focus:before,
header .sub-menu > .p-nav-sub > li > a:active:before,
header .sub-menu > .p-nav-sub > li > a.active:before {
	left: 0px;
	right: 0px;
}

.cta-menu {margin-right: 0;margin-bottom: 5px;}

.cta-menu .p-nav-cta .p-nav-cta__link {
	padding: 1rem;
	color: var(--em-primary-bg);
	background-color: var(--em-primary-text);
	background-image: var(--em-primary-gradation);
	background-blend-mode: multiply;
	border: 1px solid var(--em-primary-border);
	display: flex;
	min-width: 150px;
	min-height: 60px;
	justify-content: center;
	align-items: center;
}
@media only screen and (max-width: 1200px) {
	.cta-menu .p-nav-cta .p-nav-cta__link {
		min-width: 100px;
	}
}

.p-nav-sub li:not(:last-child),
.p-nav-site li:not(:last-child),
.p-nav-cta li:not(:last-child) {
  align-self: flex-end;
}
.p-nav-sub li:last-child,
.p-nav-site li:last-child,
.p-nav-cta li:last-child {
  align-self: flex-end;
}
header .main-menu > .common-menu > li.search .child-inner .search-form {
	padding: 2rem 1rem;
}
header .main-menu > .common-menu > li.search .child-inner .search-form input {
	width: 30vw;
	padding: .5rem;
}
header .main-menu > .common-menu > li.search .child-inner .search-form .input-group-text {
	color: var(--menu-text);
	font-size: 1.5rem;
	padding-left: 1rem;
}

@media only screen and (min-width: 1024px) {
	.p-nav-sub,
	.p-nav-site,
  .p-nav-cta {
    display: flex;
    justify-content: flex-end;
    margin: 0;
 }
	.p-nav-sub li,
	.p-nav-site li,
  .p-nav-cta li {
    margin: 0 0 0 15px;
 }
	.p-nav-sub li:last-child,
	.p-nav-site li:last-child
  .p-nav-cta li:last-child {
  }
}

@media only screen and (max-width: 1023px) {
	header .sub-menu .p-nav-sub,
	header .main-menu .p-nav-site,
	.p-nav-cta {
		display: none;
	}

	header.is-active .sub-menu .p-nav-sub,
	header.is-active .main-menu .p-nav-site,
	header.is-active .p-nav-cta {
    display: block;
    margin: 0;
    border-top: 1px solid #ddd;
    width: 100%;
    text-align: center
	}
	header.is-active .sub-menu .p-nav-sub {
		border-top: 0px solid;
	}
  .is-active .p-nav-sub li,
  .is-active .main-menu > .common-menu > li,
  .is-active .p-nav-cta li {
    margin: 0;
    border-bottom: 1px solid #ddd
  }
  .p-tel--header {
    padding: 1.2rem 0;
    display: block;
  }
  .cta-menu {
  	margin-top: 10px;
  	width: 100%;
  	display: none;
	}
	header.is-active {
		height: 500vh;
		position: absolute;
		/* overflow: scroll; */
		z-index: 9999;
	}
	header.is-active .cta-menu {
  	display: block;
  	margin: 0;
  	background-color: #32918c;
 }
	header.is-active .cta-menu .p-nav-cta {
		display: flex;
		padding: 1rem;
		border: 0;
		justify-content: space-evenly;
	}
	header.is-active .cta-menu .p-nav-cta li .p-nav-cta__link {
		height: 60px;
		padding: .7rem;
	}
	header.is-active .search {
		position: absolute;
    top: 0;
	}
	header.is-active .p-site-title {
		opacity: 0;
	}
	header.is-active .search .p-nav-site__link {
		display: none;
	}
	header.is-active .main-menu > .common-menu > li.search {
		width: calc(100vw - 100px);
		height: 72px;
		z-index: 999;
		border: 0;
	}
	header.is-active .main-menu > .common-menu > li.search .child-wrap{
		display: block;
		visibility: visible;
		top: 0;
		height: auto;
		position: relative;
		overflow: auto;
		opacity: 1;
		background: none;
	}
	header.is-active .main-menu > .common-menu > li.search .parent-info {
		display: none;
	}
	header.is-active .main-menu > .common-menu > li.search .child-inner {
		min-height: auto;
		width: auto;
	}
	header.is-active .main-menu > .common-menu > li.search .child-inner .search-form {
		padding: 0 !important;
	}
	header.is-active .main-menu > .common-menu > li.search .child-inner .search-form input {
    width: calc(96vw - 180px);
    border: 0;
    background: rgba(255,255,255,80%);
 }
	header.is-active .main-menu > .common-menu > li.search .child-inner .search-form .search-input-container {
		height: 72px;
		padding-left: 4vw;
	}
}

@media only screen and (max-width: 599px) {
	.is-active .p-nav-sub,
	.is-active .p-nav-site,
  .is-active .p-nav-cta {
    margin: 1rem 0 0
  }
}

.p-nav-sub__link,
.p-nav-site__link,
.p-nav-cta__link {
  text-decoration: none;
  color: var(--header-text);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  font-size: 12px;
  padding-bottom: 0px;
}
.p-nav-site__link {
  padding-bottom: 0;
}

.p-nav-sub__link:hover,
.p-nav-site__link:hover
.p-nav-cta__link:hover {
}

@media only screen and (max-width: 1023px) {
  .is-active .p-nav-sub__link,
  .is-active .p-nav-site__link,
  .is-active .p-nav-cta__link {
    display: block;
    padding: 1.25rem;
    color: var(--menu-text);
    text-align: left;
    font-size: 1.2rem;
  }
}

@media only screen and (max-width: 599px) {
	.is-active .p-nav-sub__link,
	.is-active .p-nav-site__link,
  .is-active .p-nav-cta__link {
    display: block;
  }
}


.p-menu {
  height: 72px;
  width: 72px;
  text-align: center;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
}

@media only screen and (min-width: 1024px) {
  .p-menu {
    display: none
  }
}

.p-menu__button {
  background: none;
  cursor: pointer;
  border: 0;
  margin: 0;
  padding: 0;
}

.p-menu__icon {
  display: inline-block;
  margin: 0;
  font-size: 40px;
}

.is-active .p-menu__icon {
  display: none
}

.p-menu--active__icon {
  display: none;
  margin: 0;
  font-size: 40px;
}

.is-active .p-menu--active__icon {
  display: inline-block
}




/* SPメニュー */
.l-header-spmenu { display: none; }
.l-header-spmenu .menu-btn {
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
	display: flex;
	height: 3rem;
	width: 3rem;
	justify-content: center;
	align-items: center;
	z-index: 90;
	background-color: var(--des-main-defColor);
}
.l-header-spmenu .menu-btn span,
.l-header-spmenu .menu-btn span:before,
.l-header-spmenu .menu-btn span:after {
	content: '';
	display: block;
	height: 2px;
	width: 2rem;
	background-color: var(--des-main-def-txt-bodyColor);
	position: absolute;
}
.l-header-spmenu .menu-btn span:before {
	bottom: 0.6rem;
}
.l-header-spmenu .menu-btn span:after {
	top: 0.6rem;
}
.l-header-spmenu #menu-btn-check:checked ~ .menu-btn {
	position: fixed;
}
.l-header-spmenu #menu-btn-check:checked ~ .menu-btn span {
	background-color: rgba(255, 255, 255, 0);
}
.l-header-spmenu #menu-btn-check:checked ~ .menu-btn span::before {
	bottom: 0;
	transform: rotate(45deg);
}
.l-header-spmenu #menu-btn-check:checked ~ .menu-btn span::after {
	top: 0;
	transform: rotate(-45deg);
}
.l-header-spmenu #menu-btn-check {
	display: none;
}
.l-header-spmenu .menu-content {
	width: 100%;
	height: calc(100% - 4rem);
	max-width: 400px;
	position: fixed;
	top: 4rem;
	right: 0;
	transform: translateX(100%);
	z-index: 80;
	background-color: var(--des-main-defColor);
	transition: all 0.5s;
}
.l-header-spmenu #menu-btn-check:checked ~ .menu-content {transform: translateX(0);}
.l-header-spmenu .menu-content ul.l-gmenu-sp-container {
	padding: 0rem 1rem 0;
}
.l-header-spmenu .menu-content ul.l-gmenu-sp-container li {
	border-bottom: solid 1px var(--des-main-def-txt-bodyColor);
	list-style: none;
}
.l-header-spmenu .menu-content ul.l-gmenu-sp-container li a {
	display: block;
	width: 100%;
	font-size: 1rem;
	box-sizing: border-box;
	color: var(--des-main-def-txt-bodyColor);
	text-decoration: none;
	padding: 1rem 2rem 1rem 0;
	position: relative;
}
.l-header-spmenu .menu-content ul.l-gmenu-sp-container li a > p > br { display: none; }
.l-header-spmenu .menu-content ul.l-gmenu-sp-container li a::before {
	content: "";
	width: .5rem;
	height: .5rem;
	border-top: solid 2px var(--des-main-def-txt-bodyColor);
	border-right: solid 2px var(--des-main-def-txt-bodyColor);
	transform: rotate(45deg);
	position: absolute;
	right: 1rem;
	top: 1.7rem;
}
.l-header-spmenu .menu-content .l-gmenu-cta-container {
	margin: 0;
	padding: 1rem;
}
@media only screen and (max-width: 830px) {
	.l-header-spmenu { display: inherit; }
}
:root {
	--hero-height: 20rem;
}
/** hero **/
.l-hero-wrapper {
  background-size: cover;
  position: relative;
  /* margin-top: -570px; */
  /* padding-top: var(--header-height); */
	z-index: 3;
	overflow: hidden;
}
.l-hero-container {
	padding: 0;
	height: 570px;
	display: flex;
	align-items: center;
	background-image: var(--main-gradation);
	background-blend-mode: multiply;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.l-hero-wrapper .l-hero-bg {
	position: absolute;
	top: var(--header-height);
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	opacity: .6;
}
.l-hero-wrapper .l-hero-bg-after {
	position: absolute;
	top: var(--header-height);
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 3;
	opacity: 0;
}
.l-hero-wrapper .l-hero-bg-image {
	overflow:hidden;
	width: 100%;
	height: 100%;
	top: 0;
	position: absolute;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.l-hero-content {
  width: 100%;
	padding: 1.5rem 1rem;
	z-index: 10;
	position: relative;
}
@media only screen and (min-width: 830px) {
  .l-hero-content {
    margin: 0 auto;
    max-width: 1200px;
    padding: 0;
    display: flex;
    justify-content: left;
    align-items: flex-start;
  }
}


.l-hero-main {
  display: flex;
  flex-direction: column;
	color: var(--main-text);
	margin: auto;
}
.l-hero-main-title { opacity: 0; }
.l-hero-main-title .p-page-title {
	display: inline-block;
	width: 100%;
	font-size: var(--fsize-xl);
	font-weight: 700;
}
.l-hero-main-title .p-page-subtitle {
  padding: 0;
  margin: 1px 0;
  color: var(--main-em-bg);
  font-size: var(--fsize-lg);
  font-weight: 400;
  line-height: 1.5;
  display: block;
}

@media only screen and (min-width: 830px) {
  .l-hero-main {
    text-align: center;
  }
}


.l-hero-main-title {
	display: flex;
	flex-direction: column;
}
.l-hero-main-title .p-page-title {
	font-size: 2rem;
	line-height: 1;
	letter-spacing: 0.2em;
	font-weight: 900;
	color: var(--main-text);
}
.l-hero-main-title .p-page-subtitle {
	margin-top: var(--size-xs);
	letter-spacing: 0.2em;
	font-weight: bold;
	font-size: 1.25rem;
	font-style: italic;
	letter-spacing: 0.5em;
	color: var(--main-text);
}

#footer {
}
#footer .p-link {
	color: var(--base-txt-bodyColor);
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
}
#footer > .l-footer-items .p-image {
	max-width: 20rem;
}
#footer > .l-footer-header {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	width: var(--s-content-width);
	max-width: 100%;
	margin: auto;
	padding: var(--s-grid-gap) 0;
}
#footer > .l-footer-header > .l-footer-header-wrapper {
	width: 100%;
}
#footer > .l-footer-items {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: var(--s-grid-gap);
	width: var(--s-content-width);
	margin: auto;
	padding: 1rem 0;
}

#footer .l-footer-left-wrapper,
#footer .l-footer-right-wrapper {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: var(--s-grid-gap);
	width: 50%;
}
#footer .l-footer-left-wrapper .p-headline > .p-headline-container {
	text-align: left;
}
#footer .l-footer-left-wrapper .p-textarea {
	text-align: left;
}

.block__blog_list .l-col-container .l-body-container .title {

}
.block__cases_listInfo .l-content-wrapper {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.block__cases_listInfo .l-content-wrapper > * {
	flex: 0 0 calc(33% - 1rem);
}
@media only screen and (max-width:830px) {
	.block__cases_listInfo .l-content-wrapper > * {
		flex: 0 0 100%;
	}
	.block__cases_listInfo .l-content-wrapper > .p-group:not(:last-child) {
		margin-bottom: 3rem;
	}
}

.layout01.block__cases_listInfo .l-content-wrapper {
	font-family: 'Noto Sans JP', sans-serif;
}
.layout01.block__cases_listInfo .l-content-wrapper > .p-group {
	border-radius: .5rem;
	border: 1px solid #DFDFDF;
	overflow: hidden;
}
.layout01.block__cases_listInfo .l-content-wrapper > .p-group > .p-group-container > .p-group-items > .p-headline {
	text-align: center;
	background-color: var(--base-subColor);
	color: var(--base-subColor-sub1);
	padding: .5rem;
}
.layout01.block__cases_listInfo .l-content-wrapper > .p-group > .p-group-container > .p-group-items > .p-headline > .p-headline-container {
	font-size: 1.15rem;
	font-weight: 400;
}
.layout01.block__cases_listInfo .l-content-wrapper > .p-group > .p-group-container > .p-group-items >
.p-group > .p-group-container > .p-group-items {
	display: flex;
	align-items: center;
	padding: 1.5rem 1.5rem 1rem;
}
.layout01.block__cases_listInfo .l-content-wrapper > .p-group > .p-group-container > .p-group-items >
.p-group > .p-group-container > .p-group-items > .p-image {
	margin-right: 1.5rem;
}
.layout01.block__cases_listInfo .l-content-wrapper > .p-group > .p-group-container > .p-group-items >
.p-group > .p-group-container > .p-group-items >
.p-group > .p-group-container > .p-group-items > .p-text:first-child {
	font-weight: 600;
	font-size: 1.1rem;
	margin-bottom: .5rem;
	line-height: 1.8;
}
@media only screen and (max-width:830px) {

}
#achievement.block__achievement .l-section-container > .l-content-wrapper > .p-contatiner.banners > .p-contatiner-items {
	padding: 2rem;
	background-color: #FFF;
	margin-bottom: 60px;
}
#achievement.block__achievement .l-section-container > .l-content-wrapper > .p-contatiner.banners > .p-contatiner-items .p-image {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 10px;
}

#case.block__case .l-section-bg {
    background-color: var(--color01-bg);
}
#case.block__case .l-section-container > .l-content-wrapper > 
.p-textarea + .p-group > .p-group-container > .p-group-items {
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px;
}
#case.block__case .l-section-container > .l-content-wrapper > 
.p-textarea + .p-group > .p-group-container > .p-group-items >
.p-group {
    width: calc(99.9% - 1rem);
    background-color: var(--base-color01-box);
}
#case.block__case .l-section-container > .l-content-wrapper > 
.p-textarea + .p-group > .p-group-container > .p-group-items >
.p-group > .p-group-container > .p-group-items > 
.p-group > .p-group-container > .p-group-items {
    padding: 1rem;
}
#case.block__case .l-section-container > .l-content-wrapper > 
.p-textarea + .p-group > .p-group-container > .p-group-items >
.p-group > .p-group-container > .p-group-items > 
.p-group > .p-group-container > .p-group-items > .p-text {
    color: var(--base-color01-em);
}
#case.block__case .l-section-container > .l-content-wrapper > 
.p-textarea + .p-group > .p-group-container > .p-group-items >
.p-group > .p-group-container > .p-group-items > 
.p-group > .p-group-container > .p-group-items > .p-headline > .p-headline-container {
    font-size: 1.6rem;
}
#case.block__case .l-section-container > .l-content-wrapper > 
.p-textarea + .p-group > .p-group-container > .p-group-items >
.p-group > .p-group-container > .p-group-items > 
.p-group > .p-group-container > .p-group-items > .p-table:first-of-type {
    margin: 0;
    max-width: 100%;
    width: 100%;
}
:root {
	--s-grid-gap: 2rem;
}

.l-header-wrapper > .p-headline > h1.p-headline-container .p-inlinetext {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 0.25em;
	width: 100%;
	gap: 2rem;
}
.l-header-wrapper > .p-headline > h1.p-headline-container .p-inlinetext::before,
.l-header-wrapper > .p-headline > h1.p-headline-container .p-inlinetext::after {
	content: "";
	flex-grow: 1;
	height: 3px;
	background: var(--des-main-light-txt-headColor);
	display: block;
}


.l-section-container > * > .p-container.row > .p-container-items > .p-headline > .p-headline-container {
	display: flex;
	flex-direction: column;
	letter-spacing: .02em;
}
.l-section-container > * > .p-container.row > .p-container-items > .p-headline + .p-textarea {
	margin-top: 1rem;
}
.p-headline > .p-headline-container > .p-subtext {
	font-size: .5em;
}
.l-section-container > * > .p-container.row > .p-container-items > .p-headline + .p-textarea {
}

.l-section-container > * > .p-container.row > .p-container-items > .p-headline + * {
	line-height: 1.9375;
	letter-spacing: .08em;
}

.l-section-wrapper.s-bgpos-left > .l-section-bg {
	width: 30%;
	background-color: var(--des-main-defColor);
}
.l-section-wrapper.s-bgpos-left > .l-section-container > * > .p-bgimage + * {
	margin-left: calc(100% * (4 / 12));
	padding-left: 6rem;
	padding-top: 3rem;
	padding-bottom: 3rem;
}
.l-section-wrapper.s-bgpos-right > .l-section-bg {
	width: 30%;
	margin-left: 70%;
	background-color: var(--des-main-defColor);
}
.l-section-wrapper.s-bgpos-right > .l-section-container > * > .p-bgimage + * {
	margin-right: calc(100% * (4 / 12));
	padding-right: 6rem;
	padding-top: 3rem;
	padding-bottom: 3rem;
}
.l-section-wrapper.s-bgpos-left > .l-section-container > * > .p-bgimage,
.l-section-wrapper.s-bgpos-right > .l-section-container > * > .p-bgimage {
	width: calc(100% * (4 / 12));
}
.l-section-wrapper.s-bgpos-right > .l-section-container > * > .p-bgimage {
	left: auto;
	right: 0;
}

.p-group.box > .p-group-container > .p-group-items > .p-headline > .p-headline-container {
	font-size: 1.2rem;
}
.l-section-container > * > .p-group.box > .p-group-container > .p-group-items {
	font-size: 1rem;
}
@charset "utf-8";
:root {
	--font-def-sans-serif: 'Avenir','Helvetica Neue','Helvetica','Arial', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', sans-serif;
	--font-def-serif: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-pri-sans-serif: "Noto Sans JP", sans-serif;
	--font-pri-serif: 'Noto Serif JP', serif;

	--s-btn-radius: 0;
	--s-box-radius: 0;
	--s-label-radius: 0;
	--s-align: center;
	--s-align-flex: center;
	--fsize-base: 16;
	--s-content-width: 1200px;
	--footer-bg: #000;
	--footer-text: #fff;

	--container-hover-transform: none;
	--container-hover-bgcolor: none;
	--container-hover-color: inherit;
	--container-hover-border: none;
	--container-hover-shadow: 0 0 0.5rem var(--base-primaryColor);
	--container-hover-transition: 0.3s;
}
:root {
  --fsize-ratio: 1.2;
  --fsize-medium: calc(var(--fsize-base) * 1px);
}
@media screen and (max-width:1024px) {
  :root {
    --fsize-medium: calc(var(--fsize-base) * 1px);
  }
}
@media screen and (max-width:768px) {
  :root {
  }
}
:root {
  --fsize-negative-ratio: calc(2 - var(--fsize-ratio));
  --fsize-large: calc(var(--fsize-medium) * var(--fsize-ratio));
  --fsize-x-large: calc(var(--fsize-medium) * var(--fsize-ratio) * var(--fsize-ratio));
  --fsize-xx-large: calc(var(--fsize-medium) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio));
  --fsize-xxx-large: calc(var(--fsize-medium) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio));
  --fsize-xxxx-large: calc(var(--fsize-medium) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio));
  --fsize-xxxxx-large: calc(var(--fsize-medium) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio));
  --fsize-xxxxxx-large: calc(var(--fsize-medium) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio));
  --fsize-xxxxxxx-large: calc(var(--fsize-medium) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio));
  --fsize-xxxxxxxx-large: calc(var(--fsize-medium) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio));
  --fsize-xxxxxxxxx-large: calc(var(--fsize-medium) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio));
  --fsize-xxxxxxxxxx-large: calc(var(--fsize-medium) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio));
  --fsize-small: calc(var(--fsize-medium) * var(--fsize-negative-ratio));
  --fsize-x-small: calc(var(--fsize-medium) * var(--fsize-negative-ratio) * var(--fsize-negative-ratio));
  --fsize-xx-small: calc(var(--fsize-medium) * var(--fsize-negative-ratio) * var(--fsize-negative-ratio) * var(--fsize-negative-ratio));
  --fsize-xxx-small: calc(var(--fsize-medium) * var(--fsize-negative-ratio) * var(--fsize-negative-ratio) * var(--fsize-negative-ratio) * var(--fsize-negative-ratio));

  --lineheight-medium: var(--fsize-ratio);
  --lineheight-large: calc(var(--fsize-ratio) * var(--fsize-ratio));
  --lineheight-x-large: calc(var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio));
  --lineheight-xx-large: calc(var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio));
  --lineheight-xxx-large: calc(var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio));
  --lineheight-xxxx-large: calc(var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio));
  --lineheight-xxxxx-large: calc(var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio));
  --lineheight-xxxxxx-large: calc(var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio));
  --lineheight-xxxxxxx-large: calc(var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio) * var(--fsize-ratio));
  --lineheight-small: var(--fsize-negative-ratio);
  --lineheight-x-small: calc(var(--fsize-negative-ratio) * var(--fsize-negative-ratio));
  --lineheight-xx-small: calc(var(--fsize-negative-ratio) * var(--fsize-negative-ratio) * var(--fsize-negative-ratio));
}
:root {
  --section-item__fsize-headline: var(--fsize-x-large);
  --section-item__lineheight-headline: var(--lineheight-medium);
}

:root {
  --size-base: 16px;
  --size-ratio: 1.2;
  --size-medium: calc(var(--fsize-base) * 1px);

  --text-align: center;
  --flex-align: center;
}
@media screen and (max-width:1024px) {
  :root {
    --size-medium: calc(var(--fsize-base) * 2.2px);
  }
}
@media screen and (max-width:768px) {
  :root {
    --size-medium: calc(var(--fsize-base) * 2.2px);
  }
}
:root {
  --size-negative-ratio: calc(2 - var(--size-ratio));
  --size-large: calc(var(--size-medium) * var(--size-ratio));
  --size-x-large: calc(var(--size-medium) * var(--size-ratio) * var(--size-ratio));
  --size-xx-large: calc(var(--size-medium) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio));
  --size-xxx-large: calc(var(--size-medium) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio));
  --size-xxxx-large: calc(var(--size-medium) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio));
  --size-xxxxx-large: calc(var(--size-medium) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio));
  --size-xxxxxx-large: calc(var(--size-medium) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio));
  --size-xxxxxxx-large: calc(var(--size-medium) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio));
  --size-xxxxxxxx-large: calc(var(--size-medium) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio));
  --size-xxxxxxxxx-large: calc(var(--size-medium) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio));
  --size-xxxxxxxxxx-large: calc(var(--size-medium) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio) * var(--size-ratio));
  --size-small: calc(var(--size-medium) * var(--size-negative-ratio));
  --size-x-small: calc(var(--size-small) * var(--size-negative-ratio) * var(--size-negative-ratio));
  --size-xx-small: calc(var(--size-x-small) * var(--size-negative-ratio) * var(--size-negative-ratio) * var(--size-negative-ratio));
  --size-xxx-small: calc(var(--size-xx-small) * var(--size-negative-ratio) * var(--size-negative-ratio) * var(--size-negative-ratio) * var(--size-negative-ratio));
}



html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}
a:hover {
	opacity: 1;
}

header {
	position: relative;
	/* height: 570px; */
}
header.is-scroll {
	box-shadow: 0px 0px 7px 0px #000;
}
header .l-header-wapper {
	background-color: var(--base-defColor);
}
header .l-header-bg {
	opacity: 1;
	background-color: var(--base-defColor);
}
.l-gmenu-cta-container .s-shadow {
	box-shadow: none;
}
.l-gmenu-cta-container > li > a.p-btn {
	background-color: var(--base-defColor);
	border-color: var(--base-primaryColor);
	color: var(--base-primaryColor);
	line-height: 1.2;
	border-width: 2px;
	font-size: var(--fsize-small);
	padding: var(--fsize-small) var(--fsize-xxxxx-large);
	min-height: 2.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	border-radius: 3rem;
}
.l-gmenu-cta-container > li > .p-btn > img {
	position: absolute;
	top: 0;
	left: 1.3rem;
	width: 1.4rem;
	height: 100%;
	fill: var(--base-primaryColor);
}
.l-gmenu-cta-container > li > .p-btn::after {
	position: absolute;
	right: 1rem;
	height: 100%;
	display: flex;
	align-items: center;

	--iconImage: url(/_assets_/icon/chevron-right-solid.svg);
    content: "";
    display: inline-block;
	background: var(--iconColor, var(--base-primaryColor));
    -webkit-mask-box-image: var(--iconImage);
    -webkit-mask-box-image-repeat: space;
    mask-image: var(--iconImage);
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-size: contain;
	width: var(--iconSize, 1em);
	height: var(--iconSize, 1em);
}
.l-gmenu-cta-container > li:nth-child(2) > a.p-btn {
	color: var(--base-defColor);
	background-color: var(--base-primaryColor);
}
.l-gmenu-cta-container > li:nth-child(2) > .p-btn::after {
	background: var(--iconColor, var(--base-defColor));
}
.l-gmenu-cta-container > li:nth-child(2) > a.p-btn > img {
	filter: brightness(0) invert(1);
}
.l-gmenu-cta-container > li > .p-btn:hover {
	color: var(--base-defColor);
	background-color: var(--base-primaryColor);
}
.l-gmenu-cta-container > li > .p-btn:hover > img {
	filter: brightness(0) invert(1);
}
.l-gmenu-cta-container > li > .p-btn:hover::after {
	background: var(--iconColor, var(--base-defColor));
}
.l-gmenu-cta-container > li:nth-child(2):hover > a.p-btn {
	background-color: var(--base-defColor);
	color: var(--base-primaryColor);
}
.l-gmenu-cta-container > li:nth-child(2):hover > a.p-btn > img {
	filter: none;
}
.l-gmenu-cta-container > li:nth-child(2):hover > .p-btn::after {
	background: var(--iconColor, var(--base-primaryColor));
}
.l-gmenu-wrapper {
	position: relative;
	background-color: var(--base-defColor);
	height: 6rem;
}
.l-gmenu-main-container {
	max-width: 100%;
	justify-content: space-between;
}
.l-gmenu-main-container > li {
	position: relative;
	flex: 1 1 auto;
	height: 100%;
}
.l-gmenu-main-container > li::before {
	content: "";
	display: inline-block;
	position: absolute;
	width: 1px;
	height: 50%;
	background-color: var(--base-defColor-opp);
}
.l-gmenu-main-container > li:nth-last-child(1):after {
	content: "";
	display: inline-block;
	position: absolute;
	right: 0;
	width: 1px;
	height: 50%;
	background-color: var(--base-defColor-opp);
}
.l-gmenu-main-container > li a {
	text-align: center;
	font-weight: 500;
	color: var(--base-baseColor-dark3);
	font-size: var(--fsize-small);
}
.l-gmenu-main-container > li:hover a {
	background-color: var(--base-baseColor-dark3);
	color: var(--base-baseColor-dark-opp);
}
.l-gmenu-main-container > li a
.l-gmenu-main-container > li a > .p-text {
	line-height: 1.3;
}
.l-hero-container {
	position: relative;
}
.l-hero-bg-container {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
}
.l-hero-wrapper .l-hero-bg {
	top: 0;
}
.l-hero-wrapper .l-hero-bg-image {
	top: 0;
}
.l-hero-content {
	height: 100%;
	max-width: 1600px;
}
.l-hero-main {
	height: 100%;
}
.l-header-container {
	max-width: 1600px;
}
.l-gmenu-navi-wrapper > .l-gmenu-main-wrapper {
	max-width: 1600px;
}
/* .l-body-wrapper {
	margin-top: 6rem;
} */
.l-header-container .p-title .p-image {
	max-width: 250px;
}
.l-header-container .p-title .p-subtitle {
	display: block;
	font-size: var(--fsize-small);
	align-self: flex-end;
	padding-bottom: 10px;
	margin-left: 10px;
}
.l-hero-main-image {
	height: 100%;
}
.l-hero-main-image  img {
	height: 100%;
	width: auto;
}
@media only screen and (max-width:1700px) {
	header {
		/* height: calc(37vw + 64px); */
	}
	/* .l-gmenu-wrapper {
		bottom: 0;
	} */
	.l-hero-wrapper {
    /* margin-top: calc(-33vw - 64px); */
    padding-top: 0;
 }
	.l-hero-container {
    /* height: 31vw; */
	}
	.l-hero-main {
	}
	/* .l-body-wrapper {
		margin-top: 6vw;
	} */
}
@media only screen and (max-width:1024px) {
	.l-gmenu-wrapper {
		display: none;
	}
	body.is-gmenu-active .l-gmenu-wrapper {
    height: calc(100vh - 5rem);
		background-color: rgb(0 0 0 / 30%);
	}
	.l-gmenu-main-container {
		flex-direction: column;
		justify-content: flex-start;
		height: auto;
	}
	.l-gmenu-navi-wrapper {
		width: 100%;
		height: auto;
		background-color: #FFF;
	}
	.l-gmenu-main-container {
		border-top: 1px solid #d3d3d3;
	}
	.l-gmenu-main-container > li {
		font-size: 1.2rem;
		border-bottom: 1px solid #d3d3d3;
		height: auto;
    padding: 2rem 2rem;
	}
	.l-gmenu-main-container > li::before, .l-gmenu-main-container > li:nth-last-child(1)::after {
		display: none;
	}
	.l-gmenu-main-container > li a {
		text-align: left;
    justify-content: flex-start;
	}
	.l-gmenu-main-container > li a br {
		display: none;
	}
	header .l-header-wapper {
		overflow: visible;
	}
	.l-header-container {
		flex-direction: row;
    justify-content: space-between;
    align-items: center;
		padding-right: 3rem;
		max-width: 1600px;
	}
	.l-header-container > .l-gmenu-sub-wrapper {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: auto;
    padding: 0.5rem;
    padding-left: 0;
    box-shadow: 0 0 10px 5px #c7c7c7;
		background-color: #FFF;
	}
	.l-gmenu-cta-container {
    margin: 0;
    height: auto;
		width: 100%;
    justify-content: space-around;
	}
	.l-gmenu-cta-container .p-btn-def {
    font-size: 3vw;
    padding: 0.7rem 1.3rem;
	}
	.l-header-logo-container {
		max-width: 85vw;
    padding: 0 0 0 .5rem;
	}
	.l-header-complogo-container {
		width: 30vw;
    margin: 0;
    padding: 0 1rem;
	}
	.l-header-container > .l-menu-container {
		display: block;
	}
	.l-header-container .p-title .p-image {
		max-width: none;
		padding: var(--fsize-x-small);
	}
	.l-header-container .p-title .p-subtitle {
		font-size: 10px;
		line-height: 1.4;
    height: 100%;
    padding: 0;
    display: flex;
    align-items: center;
	}
	header {
		position: sticky;
    height: auto;
    top: 0;
    left: 0;
    z-index: 999;
	}
	/* .l-gmenu-wrapper {
		position: relative;
    bottom: auto;
    width: 100%;
    height: 4rem;
    overflow: scroll;
	} */
	.l-hero-wrapper {
		height: auto;
		margin-top: 0;
		padding-top: 0;
	}
	.l-hero-wrapper .l-hero-bg-image {
		top: 0;
	}
	.l-hero-slider {
		margin: 0;
    padding: 0;
		height: auto;
	}
	.l-hero-main {
		width: 70vw;
	}
	.l-hero-main-image img {
		width: 100%;
    height: auto;
	}
	.l-hero-container {
		height: auto;
	}
	.l-hero-content {
		padding: .5rem 4rem;
	}
	.l-section-wrapper > .l-section-container > .l-content-wrapper > .p-buttons > .s-btn-default.color-default {
		font-size: 1.4rem;
	}
	#page-top {
		bottom: 4rem;
	}
	footer {
		margin-bottom: 4rem;
	}
	.l-gmenu-cta-container > li {
		margin: 0;
	}
}

/* breadcrumb */
@media only screen and (max-width:830px) {
	.block__breadcrumb { display: none; }
}

.p-headline .p-headline-items {
	font-size: var(--fsize-large);
	line-height: var(--lineheight-large);
}
.p-headline h2.p-headline-items {
	font-size: var(--fsize-xx-large);
}
.l-content-wrapper .p-headline h2.p-headline-items {
	font-size: var(--fsize-x-large);
}

.l-section-container {
	padding-top: 6rem;
	padding-bottom: 5rem;
}
@media only screen and (max-width:830px) {
	.l-body-wrapper {
		margin-top: 0;
	}
	.l-section-container {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}
}	

.l-section-wrapper {
}
.l-section-container .l-header-wrapper {
	display: flex;
	flex-direction: column;
	gap: var(--fsize-3xl);
	text-align: center;
}
.p-headline>.p-headline-container {
	text-align: left;
}

/* .p-figure */
.p-figure > img {
	width: auto;
	max-width: 100%;
}

a > figure {
	transition: all .3s;
}
a:hover > figure {
	transform: scale(1.02);
}

/* section-title */
.l-header-wrapper > .p-headline > .p-headline-container {
	text-align: center;
}
.l-header-wrapper > .p-headline > .p-headline-container > .p-subtext {
	font-size: .9rem;
	font-weight: 400;
}
.l-header-wrapper > .p-headline > .p-headline-container > .p-textarea {
	font-size: 2rem;
	color: var(--base-baseColor-dark3);
}
.l-header-wrapper > .p-textarea {
	display: block;
	margin: 2.5rem 0 3rem;
	line-height: 1.4;
	text-align: center;
}
@media only screen and (max-width:830px) {
	.l-header-wrapper > .p-textarea {
		text-align: left;
	}
	.l-header-wrapper > .p-textarea br {
		display: none;
	}
}	


.l-section-wrapper.grid .l-content-wrapper {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: var(--size-xx-large);
}
.l-section-wrapper.grid-2 .l-content-wrapper > * {
	flex: 0 0 calc(50% - 2rem);
	margin: 0 1rem 1rem;
}
.l-section-wrapper.grid-3 .l-content-wrapper > * {
	flex: 0 0 calc(var(--s-content-width) / 3 - var(--size-xx-large));
	margin: 0;
}
.l-section-wrapper.grid-4 .l-content-wrapper > * {
	flex: 0 0 calc(25% - 2rem);
	margin: 0 1rem 1rem;
}
.l-section-wrapper.grid-5 .l-content-wrapper > * {
	flex: 0 0 calc(20% - 2rem);
	margin: 0 1rem 1rem;
}
.l-section-wrapper.grid-6 .l-content-wrapper > * {
	flex: 0 0 calc(16.6% - 2rem);
	margin: 0 1rem 1rem;
}
.l-section-wrapper.grid .l-content-wrapper > *.col-1 { flex: 0 0 calc(100% / 12 * 1); }
.l-section-wrapper.grid .l-content-wrapper > *.col-2 { flex: 0 0 calc(100% / 12 * 2); }
.l-section-wrapper.grid .l-content-wrapper > *.col-3 { flex: 0 0 calc(100% / 12 * 3); }
.l-section-wrapper.grid .l-content-wrapper > *.col-4 { flex: 0 0 calc(100% / 12 * 4); }
.l-section-wrapper.grid .l-content-wrapper > *.col-5 { flex: 0 0 calc(100% / 12 * 5); }
.l-section-wrapper.grid .l-content-wrapper > *.col-6 { flex: 0 0 calc(100% / 12 * 6); }
.l-section-wrapper.grid .l-content-wrapper > *.col-7 { flex: 0 0 calc(100% / 12 * 7); }
.l-section-wrapper.grid .l-content-wrapper > *.col-8 { flex: 0 0 calc(100% / 12 * 8); }
.l-section-wrapper.grid .l-content-wrapper > *.col-9 { flex: 0 0 calc(100% / 12 * 9); }
.l-section-wrapper.grid .l-content-wrapper > *.col-10 { flex: 0 0 calc(100% / 12 * 10); }
.l-section-wrapper.grid .l-content-wrapper > *.col-11 { flex: 0 0 calc(100% / 12 * 11); }
.l-section-wrapper.grid .l-content-wrapper > *.col-12 { flex: 0 0 calc(100%); }
@media only screen and (max-width:830px) {
	.l-section-wrapper.grid .l-content-wrapper {
		flex-direction: column;
	}
	.l-section-wrapper.grid-2 .l-content-wrapper > * { flex: 0 0 100%; }
	.l-section-wrapper.grid-3 .l-content-wrapper > * { flex: 0 0 100%; }
	.l-section-wrapper.grid-4 .l-content-wrapper > * { flex: 0 0 100%; }
	.l-section-wrapper.grid-5 .l-content-wrapper > * { flex: 0 0 100%; }
	.l-section-wrapper.grid-6 .l-content-wrapper > * { flex: 0 0 100%; }
}




/* p-container */
.l-section-container > .l-content-wrapper > .p-container {
	margin-bottom: 5rem;
}
.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.l-section-container > .l-content-wrapper > .p-container.grid-2 .p-container-items > * {
	flex: 0 0 calc(50% - 2rem);
	margin: 0 1rem 1rem;
}
.l-section-container > .l-content-wrapper > .p-container.grid-3 .p-container-items > * {
	flex: 0 0 calc(33.3% - 2rem);
	margin: 0 1rem 1rem;
}
.l-section-container > .l-content-wrapper > .p-container.grid-4 .p-container-items > * {
	flex: 0 0 calc(25% - 2rem);
	margin: 0 1rem 1rem;
}
.l-section-container > .l-content-wrapper > .p-container.grid-5 .p-container-items > * {
	flex: 0 0 calc(20% - 2rem);
	margin: 0 1rem 1rem;
}
.l-section-container > .l-content-wrapper > .p-container.grid-6 .p-container-items > * {
	flex: 0 0 calc(16.6% - 2rem);
	margin: 0 1rem 1rem;
}
.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-1 { flex: 0 0 calc(100% / 12 * 1); }
.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-2 { flex: 0 0 calc(100% / 12 * 2); }
.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-3 { flex: 0 0 calc(100% / 12 * 3); }
.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-4 { flex: 0 0 calc(100% / 12 * 4); }
.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-5 { flex: 0 0 calc(100% / 12 * 5); }
.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-6 { flex: 0 0 calc(100% / 12 * 6); }
.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-7 { flex: 0 0 calc(100% / 12 * 7); }
.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-8 { flex: 0 0 calc(100% / 12 * 8); }
.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-9 { flex: 0 0 calc(100% / 12 * 9); }
.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-10 { flex: 0 0 calc(100% / 12 * 10); }
.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-11 { flex: 0 0 calc(100% / 12 * 11); }
.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-12 { flex: 0 0 calc(100%); }
.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-text {
	padding: 0 3rem;
}
.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-text .p-buttons {
	text-align: center;
	margin-top: 1rem;
}
.p-container .p-container-header .p-headline-container {
	padding: 0.1rem 0 0.1rem 1rem;
	font-size: 1.3rem;
	line-height: 1.6;
	border-left: 4px solid var(--base-primaryColor);
	margin-bottom: 1.5rem;
	justify-content: flex-start;
}
.p-container > .p-container-header .p-headline-container .p-text-inner.color-default {
	font-weight: 600;
}
@media only screen and (max-width:830px) {
	.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items {
		flex-direction: column;
	}
	.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > * {
		margin-bottom: 1rem;
	}
	.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > * {
		flex: 0 0 100%;
	}
	.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-1,
	.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-2,
	.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-3,
	.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-4,
	.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-5,
	.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-6,
	.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-7,
	.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-8,
	.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-9,
	.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-10,
	.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-11,
	.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-12 {
		flex: 0 0 calc(100%);
	}
	/* .p-container > .p-container-header .p-headline-container {
		font-size: 1.6rem;
	} */
	.l-section-container > .l-content-wrapper > .p-container.grid .p-container-items > *.col-text {
		padding: 0;
		margin-bottom: 2rem;
	}
}


/* p-table */
.p-table > table {
	width: 100%;
	max-width: 1200px;
	border-left: solid 1px #CBD7E1;
	border-top: solid 1px #CBD7E1;
	margin-bottom: 1.5rem;
	font-size: var(--fsize-medium);
}
.p-table > table > tbody > tr > th {
	background: #F0F0F0;
}
.p-table > table > tbody th, td {
	border-right: solid 1px #CBD7E1;
	border-bottom: solid 1px #CBD7E1;
	padding: .625rem 1.625rem;
}

/* p-buttons */
.l-section-wrapper > .l-section-container > .l-footer-wrapper > .p-buttons {
	text-align: center;
	margin-top: 40px;
}
.l-section-wrapper:nth-child(2n+1) .l-section-bg {
	background-color: var(--base-baseColor-light3);
}

.p-buttons > .p-btn {
	position: relative;
	text-align: center;
	padding: 0.5rem 3rem;
	background-color: var(--base-subColor);
	color: var(--base-subColor-opp);
	min-width: 244px;
	border-radius: 30px;
}
.p-buttons > .p-btn > img {
	position: absolute;
	top: 0;
	left: 1.3rem;
	width: 1.2rem;
	height: 100%;
	filter: brightness(0) invert(1);
}
.p-buttons > .p-btn::after {
	position: absolute;
	right: 1rem;
	top: 0;
    bottom: 0;
	margin: auto;
	height: 100%;
	display: flex;
	align-items: center;

	--iconImage: url(/_assets_/icon/chevron-right-solid.svg);
    content: "";
    display: inline-block;
	background: var(--iconColor, var(--base-subColor-opp));
    -webkit-mask-box-image: var(--iconImage);
    -webkit-mask-box-image-repeat: space;
    mask-image: var(--iconImage);
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-size: contain;
	width: var(--iconSize, 1em);
	height: var(--iconSize, 1em);
}
.p-buttons > .p-btn:hover {
	background-color: var(--base-subColor-opp);
	color: var(--base-subColor);
}
.p-buttons > .p-btn:hover > img {
	filter: none;
}
.p-buttons > .p-btn:hover::after {
	background: var(--iconColor, var(--base-subColor));
}
@media only screen and (max-width:830px) {
	.p-buttons > .p-btn {
		font-size: 1.4rem;
	}
}

/* .p-label */
.p-label {
	display: inline-block;
	color: var(--base-baseColor-opp);
	background-color: var(--base-baseColor-dark3);
	padding: var(--fsize-xx-small) var(--fsize-medium);
	font-size: var(--fsize-small);
}


/* p-group */
/* .p-group.grid > .p-group-container {
	display: flex;
	justify-content: space-between;
}
.p-group.grid-3 > .p-group-container > * {
}
@media only screen and (max-width:830px) {
	.p-group.grid-3 > .p-group-container {
		flex-direction: column;
	}
} */
.p-group.grid > .p-group-container > .p-group-items {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.p-group.grid > .p-group-container > .p-group-items > *.col-1 { flex: 0 0 calc(100% / 12 * 1); }
.p-group.grid > .p-group-container > .p-group-items > *.col-2 { flex: 0 0 calc(100% / 12 * 2); }
.p-group.grid > .p-group-container > .p-group-items > *.col-3 { flex: 0 0 calc(100% / 12 * 3); }
.p-group.grid > .p-group-container > .p-group-items > *.col-4 { flex: 0 0 calc(100% / 12 * 4); }
.p-group.grid > .p-group-container > .p-group-items > *.col-5 { flex: 0 0 calc(100% / 12 * 5); }
.p-group.grid > .p-group-container > .p-group-items > *.col-6 { flex: 0 0 calc(100% / 12 * 6); }
.p-group.grid > .p-group-container > .p-group-items > *.col-7 { flex: 0 0 calc(100% / 12 * 7); }
.p-group.grid > .p-group-container > .p-group-items > *.col-8 { flex: 0 0 calc(100% / 12 * 8); }
.p-group.grid > .p-group-container > .p-group-items > *.col-9 { flex: 0 0 calc(100% / 12 * 9); }
.p-group.grid > .p-group-container > .p-group-items > *.col-10 { flex: 0 0 calc(100% / 12 * 10); }
.p-group.grid > .p-group-container > .p-group-items > *.col-11 { flex: 0 0 calc(100% / 12 * 11); }
.p-group.grid > .p-group-container > .p-group-items > *.col-12 { flex: 0 0 calc(100%); }
.p-group.grid > .p-group-container > .p-group-items > *.col-text {
	padding: 0 3rem;
}
.p-group.grid > .p-group-container > .p-group-items > *.col-text:nth-child(1) { padding-left: 0; }
.p-group.grid > .p-group-container > .p-group-items > *.col-text:nth-last-child(1) { padding-right: 0; }
.p-group.col-text .p-buttons {
	text-align: center;
	margin-top: 1rem;
}
.p-group.col-text .p-label {
	padding: 0 3rem;
	margin-bottom: 1rem;
}
.p-group.col-text .p-group-items > .p-headline > .p-headline-container {
	font-size: 1.4rem;
	color: var(--base-primaryColor);
	margin-bottom: 1rem;
	justify-content: flex-start;
}
.p-group.col-text .p-group-items > .p-headline > .p-headline-container .p-subtext {
	font-size: 80%;
}

.p-group.col-text .p-group-items > .p-textarea {
	margin-bottom: 1rem;
}
.p-group.col-text .p-group-items > .p-headline-container em {
	font-style: normal;
	font-size: 250%;
	color: var(--base-primaryColor);
	font-weight: 700;
}
@media only screen and (max-width:830px) {
	.p-group.grid > .p-group-container > .p-group-items {
		flex-direction: column;
	}
	.p-group.grid > .p-group-container > .p-group-items > * {
		margin-bottom: 2rem;
	}
	.p-group.grid > .p-group-container > .p-group-items > *.col-1,
	.p-group.grid > .p-group-container > .p-group-items > *.col-2,
	.p-group.grid > .p-group-container > .p-group-items > *.col-3,
	.p-group.grid > .p-group-container > .p-group-items > *.col-4,
	.p-group.grid > .p-group-container > .p-group-items > *.col-5,
	.p-group.grid > .p-group-container > .p-group-items > *.col-6,
	.p-group.grid > .p-group-container > .p-group-items > *.col-7,
	.p-group.grid > .p-group-container > .p-group-items > *.col-8,
	.p-group.grid > .p-group-container > .p-group-items > *.col-9,
	.p-group.grid > .p-group-container > .p-group-items > *.col-10,
	.p-group.grid > .p-group-container > .p-group-items > *.col-11,
	.p-group.grid > .p-group-container > .p-group-items > *.col-12 {
		flex: 0 0 calc(100%);
	}
	.p-group.col-text .p-group-items > .p-textarea {
		margin-bottom: 1rem;
	}
	.p-group.grid > .p-group-container > .p-group-items > *.col-text {
		padding: 0;
	}
}


.block__blog_list .l-col-three__item {
	background-color: var(--base-defColor);
	text-decoration: none;
	transition: all var(--container-hover-transition);
}
.block__blog_list .l-col-three__item:hover {
	box-shadow: var(--container-hover-shadow);
}
.block__blog_list .l-col-container {
	position: relative;
	height: 100%;
}
.block__blog_list .l-col-container figure {
	height: 150px;
	display: flex;
	overflow: hidden;
	position: relative;
	background-image: url(/_build_/template/pages/svltd/assets/blog_sample.png);
	background-repeat: no-repeat;
	background-size: cover;
}
.block__blog_list .l-col-container figure::after {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	opacity: .7;
}
.block__blog_list .l-col-container figure img {
	object-fit: cover;
	height: 100%;
}
.block__blog_list .l-col-container .l-body-container {
	padding-bottom: 3rem;
}
.block__blog_list .l-col-container .l-body-container .category {
	padding: 1rem 1rem 0;
}
.block__blog_list .l-col-container .l-body-container .category .label {
	background: var(--base-defColor-dark1);
	color: var(--base-defColor);
	font-size: var(--fsize-small);
	padding: 0.5rem 1rem;
}
.block__blog_list .l-col-container .l-body-container .date {
	position: absolute;
	bottom: 1rem;
	color: var(--base-defColor-light1);
	right: 1rem;
}
.block__blog_list .l-col-container .l-body-container .title {
	position: absolute;
	display: flex;
	align-items: center;
	top: 0;
	width: calc(100% - var(--size-medium) - var(--size-medium));
	height: 150px;
	left: var(--size-medium);
	color: #FFF;
	font-size: var(--fsize-large);
	font-weight: 400;
}
.block__blog_list .l-col-container .l-body-container .summary {
	padding: 1rem 1rem 0;
}
@media only screen and (max-width:830px) {
	.p-group.grid > .p-group-container > .p-group-items {
		flex-direction: column;
	}
}


/* service-3point */
.l-section-container > .l-content-wrapper > .p-container.service-3point {
	margin: 5rem 3rem 7rem;
}
.l-section-container > .l-content-wrapper > .p-container.service-3point .p-container-items > * {
	text-align: center;
}
.l-section-container > .l-content-wrapper > .p-container.service-3point .p-container-items > * > .p-headline-container{
	display: inline-block;
	position: relative;
	border: 1px solid var(--base-defColor-opp);
	text-align: center;
	font-size: 1rem;
	font-weight: 400;
	padding: 3rem;
	background: var(--base-defColor);
	width: 100%;
}
.l-section-container > .l-content-wrapper > .p-container.service-3point .p-container-items > * > .p-headline-container::before {
	content: "";
	position: absolute;
	display: block;
	top: .5rem;
	left: .5rem;
	width: 100%;
	height: 100%;
	border-right: 1px solid var(--base-defColor-opp);
	border-bottom: 1px solid var(--base-defColor-opp);
}
.l-section-container > .l-content-wrapper > .p-container.service-3point .p-container-items > * > .p-headline-container .p-textarea {
	line-height: 1.5;
	font-size: 1.2rem;
}
.l-section-container > .l-content-wrapper > .p-container.service-3point .p-container-items > * > .p-headline-container em {
	font-style: normal;
	font-size: 250%;
	color: var(--base-primaryColor);
	font-weight: 700;
}
@media only screen and (max-width:830px) {
	.l-section-container > .l-content-wrapper > .p-container.service-3point {
		margin: 2rem;
	}
	.l-section-container > .l-content-wrapper > .p-container.service-3point .p-container-items > * > .p-headline-container{
		width: 100%;
	}
	.l-section-container > .l-content-wrapper > .p-container.service-3point .p-container-items > * {
		margin-bottom: 2rem;
	}
}


.l-section-container > .l-content-wrapper > .p-container.service-list .p-container-items > *{
	justify-content: center;
	align-items: center;
	display: flex;
	position: relative;
	border: 1px solid var(--base-defColor-opp);
	text-align: center;
	font-size: 1rem;
	font-weight: 400;
	min-height: 4rem;
	margin-bottom: 2rem;
	padding: 1rem;
	background: var(--base-defColor);
	transition: all .3s;
}
.l-section-container > .l-content-wrapper > .p-container.service-list .p-container-items > * a {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
	z-index: 9;
}
.l-section-container > .l-content-wrapper > .p-container.service-list .p-container-items > *::before {
	content: "";
	position: absolute;
	display: block;
	top: .5rem;
	left: .5rem;
	width: 100%;
	height: 100%;
	border-right: 1px solid var(--base-defColor-opp);
	border-bottom: 1px solid var(--base-defColor-opp);
	transition: all .3s;
}
.l-section-container > .l-content-wrapper > .p-container.service-list .p-container-items > .p-group-linkActive {
	padding-left: 2rem;
	padding-right: 2rem;
}
.l-section-container > .l-content-wrapper > .p-container.service-list .p-container-items > .p-group-linkActive:hover {
	cursor: pointer;
	background-color: var(--base-primaryColor);
	color: var(--base-primaryColor-opp);
}
.l-section-container > .l-content-wrapper > .p-container.service-list .p-container-items > .p-group-linkActive::after {
	position: absolute;
	top: 0;
    bottom: 0;
	right: 1rem;
	margin: auto;
	height: 100%;
	display: flex;
	align-items: center;

	--iconImage: url(/_assets_/icon/chevron-right-solid.svg);
    content: "";
    display: inline-block;
	background: var(--iconColor, var(--base-defColor-opp));
    -webkit-mask-box-image: var(--iconImage);
    -webkit-mask-box-image-repeat: space;
    mask-image: var(--iconImage);
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-size: contain;
	width: var(--iconSize, 1em);
	height: var(--iconSize, 1em);
}
.l-section-container > .l-content-wrapper > .p-container.service-list .p-container-items > .p-group-linkActive:hover::after {
	background: var(--iconColor, var(--base-primaryColor-opp));
}
.l-section-container > .l-content-wrapper > .p-container.service-list .p-container-items > .p-group-linkActive:hover::before {
	top: 0;
	left: 0;
}


/* case-list */
.l-section-container > .l-content-wrapper > .p-container.case-list .p-container-items > *{
	justify-content: center;
	align-items: center;
	display: flex;
	position: relative;
	border: 1px solid var(--base-defColor-opp);
	font-size: var(--fsize-medium);
	font-weight: 400;
	min-height: 4rem;
	margin-bottom: 2rem;
	padding: 2rem;
	background: var(--base-defColor);
	transition: all .3s;
}
.l-section-container > .l-content-wrapper > .p-container.case-list .p-container-items > *::before {
	content: "";
	position: absolute;
	display: block;
	top: .5rem;
	left: .5rem;
	width: 100%;
	height: 100%;
	border-right: 1px solid var(--base-defColor-opp);
	border-bottom: 1px solid var(--base-defColor-opp);
	transition: all .3s;
}
.l-section-container > .l-content-wrapper > .p-container.case-list .p-container-items .p-group-footer {
	text-align: center;
}



/* profile */
.profile {
	margin-bottom: 5rem;
	padding: 4rem;
	background-color: #FFF;
}
.profile .p-headline>.p-headline-container {
	justify-content: flex-start;
}
.profile .profile-container {
	padding: 0 3rem;
}
.profile .profile-container .profile-name {

}
.profile .profile-container .profile-name .p-subtext {
	font-size: 1rem;
}
.profile .profile-container .profile-name .p-text {
	font-size: 1.2rem;
	font-style: normal;
}
.profile .profile-container .profile-name .p-text em {
	font-style: normal;
	font-size: 150%;
}
@media only screen and (max-width:830px) {
	.profile {
		padding: 1rem;
	}
	.profile .p-image {
		padding: 3rem;
	}
	.profile .profile-container {
		padding: 0;
	}
	.p-group.grid > .p-group-container > .p-group-items {
		display: flex;
	}
}


#achievement > .l-section-bg {
	background-image: url(/_build_/template/pages/svltd/assets/bg001.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100% auto;
}
#company > .l-section-bg {
	background-image: url(/_build_/template/pages/svltd/assets/bg001.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100% auto;
}



#expansionFloatBanner {
	position: absolute;
	top: 18.3vw;
	right: 0;
	bottom: auto;
	width: 25vw;
	transform: none;
	opacity: 1;
}
#expansionFloatBanner .floatBannerIn .upperRight { display: none; }
#expansionFloatBanner .floatBannerIn .right-float-in label { display: none; }

#expansionFloatBanner.scroll-start {
	right: 0;
}
#expansionFloatBanner .floatBannerIn .upperRight {
	right: 0;
}
#expansionFloatBanner .floatBannerIn .right-float-in > * {
	box-shadow: none;
}
#expansionFloatBanner .floatBannerIn .right-float-in > a {
	transition: all .3s;
}
#expansionFloatBanner .floatBannerIn .right-float-in > a:hover {
	transform: scale(1.1);
}

body.is-hero-scroll #expansionFloatBanner {
	position: fixed;
	top: auto;
	bottom: 70px;
}
body.is-hero-scroll #expansionFloatBanner .floatBannerIn .upperRight { display: block; }
body.is-hero-scroll #expansionFloatBanner .floatBannerIn .right-float-in label { display: block; }
@media only screen and (max-width:830px) {
	#expansionFloatBanner {
		width: 60vw;
    max-width: none;
    top: auto;
    bottom: 12vw;
		position: fixed;
	}
	body.is-hero-scroll #expansionFloatBanner {
    bottom: 25vw;
	}
}

#page-top > i {
	display: contents;
}
#page-top .fas.fa-chevron-up::before {
	--iconImage: url(/_assets_/icon/chevron-up-solid.svg);
	--iconSize: 30px;
	content: "";
	display: inline-block;
	background: var(--iconColor, #000);
	-webkit-mask-box-image: var(--iconImage);
	-webkit-mask-box-image-repeat: space;
	mask-image: var(--iconImage);
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: contain;
	width: var(--iconSize, 1em);
	height: var(--iconSize, 1em);
}

