@charset "UTF-8";

/* ==========================================================================
 * Font face
 * ========================================================================== */
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 100;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 200;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 300;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 400;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}

/* ==========================================================================
 * Root
 * ========================================================================== */
*,
::before,
::after {
	background-repeat: no-repeat;
	box-sizing: border-box;
}
:root {
 	--basic-color: #386097;
}
html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-size: 62.5%;
	scroll-behavior: smooth;
	scroll-padding-top: 51px;
}
/*[id^="*"] {
	scroll-margin-top: 51px;
}*/
body {
	margin: 0;
	font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", Meiryo, Osaka, sans-serif;
	font-size: 2em;
	font-size: 2.4rem;
	line-height: 1.5;
	background-color: #fff;
}
@media screen and (max-width: 599px) {
	html {
		scroll-padding-top: inherit;
	}
	body {
		font-size: 2.0rem;
	}
}

/* ==========================================================================
 * HTML5 display definitions
 * ========================================================================== */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
	list-style: none;
}
summary::-webkit-details-marker {
  display:none;
}
audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}
audio:not([controls]) {
	display: none;
	height: 0;
}

/* ==========================================================================
 * Anchor
 * ========================================================================== */
a:link,
a:visited {
	background-color: transparent;
	color: var(--basic-color);
	text-decoration: none;
}
a:active,
a:hover {
	outline: 0;
	text-decoration: underline;
}

/* ==========================================================================
 * Embedded
 * ========================================================================== */
img {
	max-width: 100%;
	height: auto;
	border: 0;
	vertical-align: bottom;
}
svg:not(:root) {
	overflow: hidden;
}

/* ==========================================================================
 * Grouping
 * ========================================================================== */
figure {
	margin: 0;
}
hr {
	box-sizing: content-box;
	height: 0;
	border: none;
	border-top: 1px solid #bbb;
}
dd {
	margin-left: 0;
}

/* ==========================================================================
 * Float
 * ========================================================================== */
.clear {
	clear: both;
}
.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}
.clearfix:after {
	clear: both;
}

/* ==========================================================================
 * List
 * ========================================================================== */
ul,
ol {
	padding: 0;
}
ul {
	margin: 0;
	list-style: none;
}
ul.list-disc {
	margin-left: 1.55em;
	list-style: disc;
}
ul.list-annotation {
	margin-left: 1.3em;
}
ul.list-annotation li::before {
	margin-left: -1.3em;
	content: "※\0020";
}
ol {
	margin-left: 1.3em;
}
ol.list-annotation {
	margin-left: 2em;
	padding: 0;
	counter-reset: number;
	list-style: none;
}
ol.list-annotation li::before {
	margin-left: -2em;
	counter-increment: number;
	content: "※"counter(number)"\0020";
}
ul.list-disc li + li,
ul.list-annotation li + li,
ol li + li {
	margin-top: 8px;
}

/* ==========================================================================
 * Text
 * ========================================================================== */
b,
strong {
	font-weight: bold;
	color: var(--basic-color);
}
.orange {
	color: #ff7a12;
}
mark {
	background: #ff0;
	color: #000;
}
small,
.txt-small{
	font-size: 80%;
}
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
address {
	font-style: normal;
}
h1,
.h1 {
	font-size: 3.2rem;
	line-height: 1.2;
	margin: 0;
}
h2,
.h2 {
	font-size: 2.4rem;
	line-height: 1.2;
	margin: 0;
}
h3,
.h3 {
	font-size: 2.8rem;
	line-height: 1.2;
	margin: 0;
}
h4,
.h4 {
	font-size: 1.6rem;
	line-height: 1.2;
	margin: 0;
}
p {
	margin: 0;
}
p + p {
	margin-top: .5em;
	margin-bottom: 0;
}
.txt-left {
	text-align: left;
}
.txt-center {
	text-align: center;
}
.txt-right {
	text-align: right;
}
.txt-unbold {
	font-weight: normal;
}
.txt-bold {
	font-weight: bold;
}
.txt-emphasis {
	color: #e74c3c;
}
.txt-notes {
	color: #7f8c8d;
}

/* ==========================================================================
 * Table
 * ========================================================================== */
table {
	border-collapse: collapse;
	border-spacing: 0;
}
td,
th {
	padding: 0;
}

/* ==========================================================================
 * Form
 * ========================================================================== */
button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
	border: 1px solid #999;
}
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
	width: 100%;
	padding: 5px;
}
button {
	overflow: visible;
}
button,
select {
	text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}
button[disabled],
html input[disabled] {
	cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}
input {
	line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}
input[type="search"] {
	-webkit-appearance: textfield;
	box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}
textarea {
	overflow: auto;
}

/* ==========================================================================
 * Responsive
 * ========================================================================== */
/*PCのみ表示(959px以下非表示)*/
@media screen and (max-width: 599px) {
.visible-pc {display: none !important;}
}
/*SPのみ表示(600px以上非表示)*/
@media screen and (min-width: 600px) {
.visible-sp {display: none !important;}
}
/*PCのみ非表示(960px以上非表示)*/
@media screen and (min-width: 600px) {
.hidden-pc {display: none !important;}
}
/*SPのみ非表示(599px以下非表示)*/
@media screen and (max-width: 599px) {
.hidden-sp {display: none !important;}
}

/* ==========================================================================
 * Spacing
 * ========================================================================== */
.margin-none  {margin:           0px !important;}
.padding-none {padding:          0px !important;}

.margin-T0    {margin-top:       0px !important;}
.margin-T5    {margin-top:       5px !important;}
.margin-T10   {margin-top:      10px !important;}
.margin-T15   {margin-top:      15px !important;}
.margin-T20   {margin-top:      20px !important;}
.margin-T25   {margin-top:      25px !important;}
.margin-T30   {margin-top:      30px !important;}
.margin-T35   {margin-top:      35px !important;}
.margin-T40   {margin-top:      40px !important;}
.margin-T45   {margin-top:      45px !important;}
.margin-T50   {margin-top:      50px !important;}
.margin-T60   {margin-top:      60px !important;}
.margin-T70   {margin-top:      70px !important;}
.margin-T80   {margin-top:      80px !important;}
.margin-T90   {margin-top:      90px !important;}
.margin-T100  {margin-top:     100px !important;}

.margin-R0    {margin-right:     0px !important;}
.margin-R5    {margin-right:     5px !important;}
.margin-R10   {margin-right:    10px !important;}
.margin-R15   {margin-right:    15px !important;}
.margin-R20   {margin-right:    20px !important;}

.margin-B0    {margin-bottom:    0px !important;}
.margin-B5    {margin-bottom:    5px !important;}
.margin-B10   {margin-bottom:   10px !important;}
.margin-B15   {margin-bottom:   15px !important;}
.margin-B20   {margin-bottom:   20px !important;}

.margin-L0    {margin-left:      0px !important;}
.margin-L5    {margin-left:      5px !important;}
.margin-L10   {margin-left:     10px !important;}
.margin-L15   {margin-left:     15px !important;}
.margin-L20   {margin-left:     20px !important;}

.padding-T0   {padding-top:      0px !important;}
.padding-T5   {padding-top:      5px !important;}
.padding-T10  {padding-top:     10px !important;}
.padding-T15  {padding-top:     15px !important;}
.padding-T20  {padding-top:     20px !important;}
.padding-T25  {padding-top:     25px !important;}
.padding-T30  {padding-top:     30px !important;}
.padding-T35  {padding-top:     35px !important;}
.padding-T40  {padding-top:     40px !important;}
.padding-T45  {padding-top:     45px !important;}
.padding-T50  {padding-top:     50px !important;}
.padding-T60  {padding-top:     60px !important;}
.padding-T70  {padding-top:     70px !important;}
.padding-T80  {padding-top:     80px !important;}
.padding-T90  {padding-top:     90px !important;}
.padding-T100 {padding-top:    100px !important;}

.padding-R0   {padding-right:    0px !important;}
.padding-R5   {padding-right:    5px !important;}
.padding-R10  {padding-right:   10px !important;}
.padding-R15  {padding-right:   15px !important;}
.padding-R20  {padding-right:   20px !important;}

.padding-B0   {padding-bottom:   0px !important;}
.padding-B5   {padding-bottom:   5px !important;}
.padding-B10  {padding-bottom:  10px !important;}
.padding-B15  {padding-bottom:  15px !important;}
.padding-B20  {padding-bottom:  20px !important;}

.padding-L0   {padding-left:     0px !important;}
.padding-L5   {padding-left:     5px !important;}
.padding-L10  {padding-left:    10px !important;}
.padding-L15  {padding-left:    15px !important;}
.padding-L20  {padding-left:    20px !important;}

/* ==========================================================================
 * Common
 * ========================================================================== */
#page-container {
	max-width: 2000px;
	margin: 0 auto;
}
.inner-width {
	width: 960px;
	margin-right: auto;
	margin-left:  auto;
	padding-right: 20px;
	padding-left: 20px;
}
@media screen and (max-width: 599px) {
	.inner-width {
		width: 100%;
		padding-right: 5%;
		padding-left: 5%;
	}
}
/*-------------------- CTA Button --------------------*/
a.cta__btn--orange {
	position: relative;
	padding: 20px 5% 20px 0;
	width: 547px;
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	background-color: #ff7a12;
	border-radius: 300px;
	display: block;
}
a.cta__btn--orange:hover {
	text-decoration: none;
}
a.cta__btn--orange > span {
	margin-right: 40px;
	padding:  3px 1em;
	color: #ff7a12;
	font-size: 70%;
	vertical-align: text-bottom;
	background-color: #fff;
	border-radius: 300px;
	display: inline-block;
}
a.cta__btn--orange::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 50px;
	width: 24px;
	height: 20px;
	background: url("../images/pc/cta_icon_mail.png") no-repeat center center /cover;
	transform: translateY(-50%);
}
@media screen and (max-width: 599px) {
	a.cta__btn--orange {
		width: auto;
		padding: 7px 30px 7px 0;
		font-size: 16px;
	}
	a.cta__btn--orange > span {
		width: 57px;
		height: 57px;
		margin-right: 15px;
		padding: 11px 0 0 0;
		font-size: 14px;
		line-height: 1.2;
		vertical-align: middle;
	}
	a.cta__btn--orange::after {
		right: 15px;
	}
}
/*-------------------- Section Title --------------------*/
.section__subttl {
	padding-top: 100px;
	text-align: center;
	display: block;
}
.section__ttl {
	margin-top: 30px;
	font-size: 4.0rem;
	text-align: center;
	line-height: 1.5;
	display: block;
}
@media screen and (max-width: 599px) {
	.section__ttl {
		font-size: 3.0rem;
	}
	.section__subttl {
		padding-top: 60px;
	}
}
/*-------------------- Back to Top --------------------*/
a.backtotop {
	position: fixed;
	bottom: 30px;
	right: 5%;
	width: 40px;
	height: 40px;
	padding: 38px 0 0;
	background-color: #ccc;
	color: #fff;
	text-align: center;
	font-size: 14px;
	cursor: pointer;
	opacity: .5;
	border-radius: 50%;
}
a.backtotop::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 10px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 10px 17.3px 10px;
	border-color: transparent transparent #ffffff transparent;
}

/* ==========================================================================
 * fv
 * ========================================================================== */
/*-------------------- コピー --------------------*/
.fv {
	padding-top: 15px;
	padding-bottom: 15px;
	background: url("../images/pc/kv.jpg") no-repeat top /cover;
}
.fv__link {
	font-size: 1.4rem;
	font-weight: bold;
	color: #386097;
	text-decoration: underline;
	position: absolute;
	top: 0;
	right: 20px;
}
.fv__copy {
    width: 430px;
}
.fv__inner {
	display: flex;
	justify-content: space-evenly;
	position: relative;
}
.fv__copy--text {
	margin-top: 80px;
	text-align: center;
}
.fv__copy--point {
	width: 100%;
    padding-bottom: 10px;
	display: flex;
	justify-content: space-between;
    margin-top: 5%;
}
@media screen and (max-width: 599px) {
	.fv__inner {
		display: block;
	}
	.fv__copy--logo {
		text-align: center;
		width: 50%;
    	margin: 0 auto;
	}
	.fv__copy--text {
		width: 76%;
		margin: 0 auto;
		margin-top: 5%;
	}
	.fv__copy--point {
		margin: auto;
		margin-top: 12px;
		flex-direction: column;
		align-items: flex-end;
	}
	.fv__copy--point li {
		width: 39%;
	}
	.fv__copy--point li+li {
		padding-top: 10px;
	}
}
/*-------------------- フォーム --------------------*/
.fv__contact {
    position: relative;
    width: 410px;
    padding: 15px;
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 0 5px rgb(0 0 0 / 10%);
    margin-top: 40px;
}
.fv__contact p {
	font-size: medium;
}
.fv__contact iframe {
	width: 100%;
	height: 470px;
	border: none;
}
@media screen and (max-width: 599px) {
	.fv {
		padding-bottom: 60px;
		background: url(../images/sp/kv@2x.jpg) no-repeat top /cover;
	}
	.fv__copy {
		width: auto;
	}
	.fv__contact {
		width: 100%;
		margin-top: 0px;
	}
	.fv__contact p {
		font-size: 1.4rem;
		font-weight: bold;
	}
	.fv__copy--customers {
		display: none;
	}
	.fv__contact iframe {
		margin-top: 15px;
	}
}
/*-------------------- グロナビ（左） --------------------*/
.fv__gnavi {
	position: sticky;
	top: 0;
	background-color: rgba(255,255,255,.8);
	box-shadow: 0 5px 5px rgb(0 0 0 / 10%);
	backdrop-filter: blur(6px);
	z-index: 10;
}
.fv__gnavi--inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.fv__gnavi--left {
	display: flex;
}
.fv__gnavi--left li + li {
	margin-left: 1em;	
}
.fv__gnavi--left a {
	padding: 15px 0;
	font-size: 1.8rem;
	font-weight: bold;
	display: block;
}
.fv__gnavi--left a:hover,
.fv__gnavi--left a.active {
	text-decoration: none;
	background: linear-gradient(transparent 40%, #e9f8ff 70%, transparent 70%);
}
@media screen and (max-width: 599px) {
	.fv__gnavi {
		margin-top: 0;
		padding-top: 90px;
	}
	.fv__gnavi--inner,
	.fv__gnavi--left {
		display: block;
	}
	.fv__gnavi--left li + li {
		margin: 0;
	}
	.fv__gnavi--left a {
		font-size: inherit;
		text-align: center;
	}
	.fv__gnavi--left a:hover {
		background: none;
	}
	.fv__gnavi--left a.active {
		color: #fff;
		background: var(--basic-color);
		border-radius: 5px;
	}
}
/*-------------------- グロナビ（右） --------------------*/
.fv__gnavi--right .cta__btn--orange {
	width: 243px;
	padding: 5px 5% 5px 10px;
	font-size: 14px;
}
.fv__gnavi--right a.cta__btn--orange > span {
	padding: 3px .5em;
	margin-right: 5px;
}
.fv__gnavi--right a.cta__btn--orange::after {
	right: 11px;
	width: 20px;
	height: 15px;
}
@media screen and (max-width: 599px) {
	.fv__gnavi--right {
		margin-top: 30px;
	}
	.fv__gnavi--right a.cta__btn--orange {
		width: auto;
		padding: 7px 30px 7px 5%;
		font-size: 16px;
		text-align: center;
	}
	.fv__gnavi--right a.cta__btn--orange > span {
		width: 57px;
		height: 57px;
		margin-right: 15px;
		padding: 11px 0 0 0;
		text-align: center;
		font-size: 14px;
		line-height: 1.2;
		vertical-align: middle;
	}
	.fv__gnavi--right a.cta__btn--orange::after {
		width: 24px;
		height: 20px;
		right: 15px;
	}
}
/*-------------------- グロナビ（ハンバーガー） --------------------*/
#gnavi__btn--check {
	display: none;
}
@media screen and (max-width: 599px) {
	.gnavi__btn--menu {
		position: fixed;
		top: 2px;
		right: 2vw;
		display: flex;
		height: 16vw;
		width: 16vw;
		justify-content: center;
		align-items: center;
		z-index: 1001;
	}
	.gnavi__btn--menu span,
	.gnavi__btn--menu span::before,
	.gnavi__btn--menu span::after {
		content: '';
		position: absolute;
		height: 3px;
		width: 25px;
		border-radius: 3px;
		background-color: var(--basic-color);
		display: block;
	}
	.gnavi__btn--menu span::before {
		bottom: 8px;
	}
	.gnavi__btn--menu span::after {
		top: 8px;
	}
	#gnavi__btn--check:checked ~ .gnavi__btn--menu span {
		background-color: rgba(255, 255, 255, 0);
	}
	#gnavi__btn--check:checked ~ .gnavi__btn--menu span::before {
		bottom: 0;
		transform: rotate(45deg);
	}
	#gnavi__btn--check:checked ~ .gnavi__btn--menu span::after {
		top: 0;
		transform: rotate(-45deg);
	}
	.fv__gnavi {
		position: fixed;
		right: -105vw;
		width: 100%;
		height: 100vh;
		overflow: hidden;
		transition: all .3s;
		z-index: 1000;
	}
	#gnavi__btn--check:checked + .gnavi__btn--menu + .fv__gnavi {
		right: 0;
	}
	.fv__gnavi--inner {
		height: 100vh;
		justify-content: center;
		align-items: center;
	}
}

/* ==========================================================================
 * problem
 * ========================================================================== */
.problem__list {
	margin-top: 100px;
	display: flex;
	justify-content: space-around;
}
.problem__list--body {
    width: 190px;
}
.problem__list--body figure {
	height: 140px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.problem__list--body p {
	text-align: center;
}
.problem__loop {
	margin-top: 60px;
}
.problem__loop--overview {
	margin-top: 60px;
	font-size: 4rem;
	font-weight: bold;
	text-align: center;
}
.problem__loop--overview--arrow {
	margin-top: 60px;
}
.blank {
    width: 100%;
}
@media screen and (max-width: 599px) {
	.problem__list {
		margin-top: 30px;
		flex-wrap: wrap;
	}
	.problem__list--body {
		width: 50%;
	}
	.problem__loop--overview {
		font-size: 2.6rem;
	}
	.problem__loop--overview--arrow {
		width: 30%;
        margin: 0 auto;
        margin-top: 20px;
	}
}

/* ==========================================================================
 * solution
 * ========================================================================== */
.solution {
	padding: 40px 0 80px;
	background-color: #eefaff;
	background-image: url("../images/pc/solution_bg_top.jpg"), url("../images/pc/solution_bg_settings.png"), url("../images/pc/solution_bg_settings.png");
	background-repeat: no-repeat;
	background-position: top, right 100px, left bottom;
	background-size: contain, 873px 1186px, 873px 1186px;
}
.solution__point {
	margin: 80px 0 0;
	list-style-type: none;
	display: flex;
	justify-content: space-around;
	align-items: flex-start;
}
.solution__point li+li {
	margin-top: 0;
}
.solution__point--colL {
	text-align: center;
}
.solution__point--colL figure {
	margin-top: 15px;
	margin-bottom: 10px;
}
.solution__point--colR {
	display: none;
}
@media screen and (max-width: 599px) {
	.solution {
		background-size: contain, 260px 354px, 260px 354px;
	}
	.solution__point {
		margin-top: 30px;
		display: block;
	}
	.solution__point li {
		display: flex;
	}
	.solution__point li+li {
		margin-top: 20px;
	}
	.solution__point--colL {
		width: 69%;
		display: flex;
		align-items: center;
  	  	justify-content: space-evenly;
	}
	.solution__point--colL figure {
		display: none;
	}
	.solution__point--colR {
		width: 45%;
		display: flex;
		justify-content: center;
		align-items: center;
		padding-right: 5%;
	}
	.solution__point--colL > p:nth-child(1) img {
		width: 50px;
	}
}
/*-------------------- solution__free --------------------*/
.solution__free {
	margin: 70px auto 0;
	padding: 40px;
	text-align: center;
	background-color: #fff;
	border-radius: 5px;
	box-shadow: 0 0 10px rgb(0 0 0 / 10%);
}
.solution__free h2 {
	margin-bottom: 30px;
	font-size: 4rem;
	border-bottom: 5px solid var(--basic-color);
	display: inline-block
}
.solution__free .txt-large {
	font-size: 8.2rem;
}
.fontsize40 {
	font-size: 4.0rem;
}
@media screen and (max-width: 599px) {
	.solution__free {
		width: 100%;
		margin: 60px auto 0;
		padding: 20px;
	}
	.solution__free h2 {	
		font-size: 2.6rem;
		border-bottom: 3px solid var(--basic-color);
	}
	.fontsize40 {
		font-size: 2.6rem;
	}
}
/*-------------------- solution__keyPoint Title --------------------*/
:root {
  --keyPoint-margin: 130px;
}
.solution__keyPoint--lead {
	width: calc(575px + var(--keyPoint-margin));
	margin: 0 0 0 auto;
}
.solution__keyPoint--lead--number {
	margin-left: var(--keyPoint-margin);
	display: block;
}
.solution__keyPoint--lead--subTitle {
	margin: 15px 0 0 var(--keyPoint-margin);
	color: var(--basic-color);
	display: block;
}
.solution__keyPoint--lead--mainTitle {
	margin-top: 10px;
	padding: .3em 0 .3em var(--keyPoint-margin);
	color: var(--basic-color);
	font-size: 3.2rem;
	background-color: #fff;
	display: block;
}
.solution__keyPoint--lead p {
	margin: 40px 0 0 var(--keyPoint-margin);
}
.solution__keyPoint--subTxt {
	margin-top: 30px;
    display: block;
}
@media screen and (max-width: 599px) {
	.solution__keyPoint--lead {
		width: 100% !important;
	}
	.solution__keyPoint--lead h3 {
		padding: 10px 0 !important;
		text-align: center !important;
		background-color: #fff !important;
	}
	.solution__keyPoint--lead--number,
	.solution__keyPoint--lead--subTitle {
		margin: auto !important;
		font-size: 2rem !important;
		vertical-align: middle !important;
		display: inline-block !important;
	}
	.solution__keyPoint--lead--mainTitle {
		padding: 0 !important;
		font-size: 2.6rem !important;
	}
	.solution__keyPoint--lead p {
		width: calc(100% - 105px) !important;
		margin: 30px 0 0 auto !important;
		font-size: 1.6rem !important;
	}
}
/*-------------------- solution__flow --------------------*/
.solution__flow {
	position: relative;
	margin-top: 190px;
}
.solution__flow::before {
	content: "";
	position: absolute;
	top: -38px;
    left: 31px;
    width: 344px;
    height: 384px;
	background: url("../images/pc/solution_img_femaleShokai.png") no-repeat center center /cover;
}
.solution__flow--list {
	margin-top: 60px;
	display: flex;
	justify-content: space-between;
}
.solution__flow--list dl {
	position: relative;
	width: 160px;
}
.solution__flow--list dt {
	position: relative;
	padding: 20px 0;
	text-align: center;
	background-color: #fff;
	border-radius: 3px;
}
.solution__flow--list dl + dl dt::after {
	content: "";
	position: absolute;
	top: 50%;
	left: -20px;
	width: 10px;
	height: 14px;
	background: url("../images/pc/solution_arrow_flow.png") no-repeat center center /cover;
	transform: translateY(-50%);
	display: block;
}
.solution__flow--list--floatIcon {
	position: absolute;
	top: -35px;
	right: -10px;
}
.solution__flow--list dd {
	margin-top: 30px;
	font-size: 1.6rem;
}
.solution__flow--list dd p {
	line-break: strict;
}
@media screen and (max-width: 599px) {
	.solution__flow {
		margin-top: 60px;
	}
	.solution__flow::before {
		top: 17%;
		left: -37px;
		width: 170px;
		height: 204px;
	}
	.solution__flow--list {
		display: block;
	}
	.solution__flow--list dl {
		width: auto;
	}
	.solution__flow--list dt {
		padding: 10px 0;
	}
	.solution__flow--list dl + dl dt::after {
		top: -16px;
		left: 50%;
		transform: rotate(90deg);
	}
	.solution__flow--list--floatIcon {
		display: none;
	}
	.solution__flow--list dd {
		display: none;
	}
}
/*-------------------- solution__occType --------------------*/
:root {
  --keyPoint-margin-even: 40px;
}
.solution__occType .solution__keyPoint--lead {
	width: calc(670px + var(--keyPoint-margin-even));
	margin: 0;
}
.solution__occType .solution__keyPoint--lead--number {
	margin-left: var(--keyPoint-margin-even);
}
.solution__occType .solution__keyPoint--lead--subTitle {
	margin: 15px 0 0 var(--keyPoint-margin-even);
}
.solution__occType .solution__keyPoint--lead--mainTitle {
	padding: .3em 0 .3em var(--keyPoint-margin-even);
}
.solution__occType .solution__keyPoint--lead p {
	margin: 40px 165px 0px 40px;
	position: relative;
}
.solution__occType {
	position: relative;
	margin-top: 120px;
}
.solution__occType::before {
	content: "";
	position: absolute;
	top: -6px;
    right: -10px;
    width: 328px;
    height: 417px;
	background: url("../images/pc/solution_img_maleToroku.png") no-repeat center center /cover;
}
.solution__occType--list {
	position: relative;
	flex-wrap: wrap;
	justify-content: space-between;
}
.solution__occType--list details {
	width: 920px;
	margin-top: 20px;
	background: #fff;
	border: 2px solid var(--basic-color);
	border-radius: 5px;
	pointer-events: none;
}
.solution__occType--list summary {
	position: relative;
	height: 70px;
	color: #fff;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	background: url("../images/pc/solution_icon_occTypeDt.png") no-repeat center center /cover;
}
.solution__occType--list summary::before {
	content: "";
	position: absolute;
	top: 20px;
	left: 30px;
	display: block;
}
.solution__occType--list--kaigo summary::before {
	width: 49px;
	height: 85px;
	background: url("../images/pc/solution_icon_kaigo.png") no-repeat center center /cover;
}
.solution__occType--list--itengineer summary::before {
	width: 36px;
	height: 83px;
	background: url("../images/pc/solution_icon_it.png") no-repeat center center /cover;
}
.solution__occType--list--professional summary::before {
	width: 28px;
	height: 86px;
	background: url("../images/pc/solution_icon_prohaken.png") no-repeat center center /cover;
}
.solution__occType--list--keisagyo summary::before {
	width: 52px;
	height: 81px;
	background: url("../images/pc/solution_icon_keisagyou.png") no-repeat center center /cover;
}
.solution__occType--list summary > span {
	text-align: center;
	display: inline-block;
}
.solution__occType--list--body {
	padding: 30px;
	font-size: 1.8rem;
	display: flex;
	justify-content: space-evenly;
}
.solution__occType--list--box ul li {
	margin-left: 20px;
	list-style-type: disc;
}
.solution__occType--list--box {
	width: 380px;
}
.solution__occType .txt-notes {
	font-size: 1.2rem;
}
.solution__occType--list--box p {
	font-weight: bold;
}
@media screen and (max-width: 599px) {
	.solution__occType::before {
		width: 168px;
		height: 242px;
		top: 110px;
		left: -20px;
	}
	.solution__occType--list {
		margin-top: 30px;
		display: block;
	}
	.solution__occType--list details {
		width: 100%;
		background: transparent;
	}
	.solution__occType--list summary {
		position: relative;
		height: 85px;
		background: linear-gradient(to bottom, #386097 0%,#3893cd 100%);
		pointer-events: auto;
		cursor: pointer;
	}
	.solution__occType--list summary::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 10px;
		width: 15px;
		height: 15px;
		background: url("../images/pc/common_icon_plus_wh.png") no-repeat center center /cover;
		transform: translateY(-50%);
	}
	.solution__occType--list [open] summary::after {
		height: 2px;
		background: url("../images/pc/common_icon_minus_wh.png") no-repeat center center /cover;
	}
	.solution__occType--list summary::before {
		left: 14px;
	}
	.solution__occType--list--jimu summary::before {
		width: 35px;
		height: 44px;
	}
	.solution__occType--list--kaigo summary::before {
		width: 26px;
		height: 45px;
	}
	.solution__occType--list--itengineer summary::before {
		width: 18px;
		height: 42px;
	}
	.solution__occType--list--professional summary::before {
		width: 14px;
		height: 42px;
	}
	.solution__occType--list--sales summary::before {
		width: 44px;
		height: 43px;
	}
	.solution__occType--list--keisagyo summary::before {
		width: 28px;
		height: 44px;
	}
	.solution__occType--list--body {
		padding: 15px;
		background: #fff;
		display: block;
	}
	.solution__occType--list--box {
		width: auto;
	}
	.solution__occType--list details[open] {
		position: relative;
	}
}
/*-------------------- solution__zoin --------------------*/
.solution__zoin {
	position: relative;
	margin-top: 120px;
}
.solution__zoin::before {
	content: "";
	position: absolute;
	top: -59px;
	left: -40px;
	width: 323px;
	height: 698px;
	background: url("../images/pc/solution_img_maleHandshake.png") no-repeat center center /cover;
}
.solution__zoin--comparisonTable {
	position: relative;
	margin-top: 80px;
}
@media screen and (max-width: 599px) {
	.solution__zoin::before {
		top: 13%;
		left: -39px;
		width: 137px;
		height: 297px;
	}
	.solution__zoin--comparisonTable {
		margin-top: 30px;
		text-align: center;
	}
}

/* ==========================================================================
 * cta
 * ========================================================================== */
.cta {
	padding: 80px 0;
	background: url("../images/pc/cta_bg.jpg") no-repeat center center /cover;
}
.cta__microCopy--list {
	display: flex;
	justify-content: space-between;
}
.cta__microCopy--list--body {
	width: 48%;
	height: 104px;
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 5px;
	background-color: var(--basic-color);
}
.cta__btn--wrap {
	margin-top: 40px;
	text-align: center;
}
.cta__btn--wrap .cta__btn--orange {
	margin: auto;
}
@media screen and (max-width: 599px) {
	.cta {
		padding: 60px 0;
	}
	.cta__microCopy--list--body {
		height: auto;
		padding: 15px 5px;
		text-align: center;
		display: block;
	}
}
/* ==========================================================================
 * map
 * ========================================================================== */
.map {
	background-color: #eefaff;
	padding: 0 0 60px;
}
.map__area dt {
	font-size: 2.0rem;
	font-weight: bold;
	color: #386097;
}
.map__area dd {
	margin-top: 18px;
}
.map__area li {
	font-size: 1.6rem;
	margin-right: 1em;
	line-height: 2;
}

@media screen and (min-width: 641px) {
	.map__area {
		background: url(../images/pc/map.png) no-repeat top right;
		margin: 0 0 100px;
		min-height: 812px;
		min-width: 926px;
		position: relative;
	}
	.map__area--ttl {
		font-size: 2.0rem;
		font-weight: bold;
		color: #386097;
		border: 2px solid #386097;
		border-radius: 5px;
		position: absolute;
		left: 0;
		top: 100px;
		padding: 27px 36px;
	}
	.map__area .tohoku {
		position: absolute;
		top: 233px;
		right: 0;
		width: 195px;
	}
	.map__area .kitakanto {
		position: absolute;
		top: 413px;
		right: 0;
		width: 250px;
	}
	.map__area .tokyo {
		position: absolute;
		top: 519px;
		right: 0;
		width: 250px;
	}
	.map__area .minamikanto {
		position: absolute;
		top: 652px;
		right: 0;
		width: 250px;
	}
	.map__area .hokushinetsu {
		position: absolute;
		top: 163px;
		left: 318px;
		width: 195px;
	}
	.map__area .toukai {
		position: absolute;
		top: 675px;
		left: 364px;
		width: 210px;
	}
	.map__area .kansai {
		position: absolute;
		top: 276px;
		left: 294px;
		width: 145px;
	}
	.map__area .chugokushikoku {
		position: absolute;
		top: 326px;
		left: 44px;
		width: 195px;
	}
	.map__area .kyushuokinawa {
		position: absolute;
		top: 753px;
		left: 72px;
		width: 210px;
	}
	.map__area ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		width: 100%;
	}
	.map__area li:hover {
		font-weight: bold;
		color: #386097;	
	}
	.tooltip {
		position: relative;
		cursor: pointer;
	}
	.tooltip-text {
		color: #fff;
		border-radius: 5px;
		background: #386097;
		display: none;
		position: absolute;
		padding: 10px;
		width: 200px;
		line-height: 1.5;
		font-weight: normal;
	}
	.tooltip-ttl {
		display: block;
	}
	.tooltip-text:before {
		border: 15px solid transparent;
		border-top: 15px solid #386097;
		content: "";
		margin: 0 0 0 -15px;
		position: absolute;
		top: -24px;
		right: 69%;
		transform: rotateZ(180deg);
	}
	.tooltip:hover .tooltip-text,
	.tooltip .tooltip-text:hover {
		display: inline-block;
		animation: fadein 0.5s linear 0s 1 both;
		top: 35px;
		left: -30px;
		z-index: 999;
	}
}

@media screen and (max-width: 640px) {
	.map__area--ttl {
		text-align: center;
		font-weight: bold;
		color: var(--basic-color);
		margin-top: 40px;
		margin-bottom: 20px;
		position: relative;
	}
	.map__area--ttl::after {
		content: "";
	    display: inline-block;
	    width: 0;
	    height: 0;
	    border-style: solid;
	    border-width: 15px 9px 0 9px;
	    border-color: #386097 transparent transparent transparent;
	}
	.map__area dl {
		margin: 10px 0;
	}
	.map__area dt {
		background: var(--basic-color);
		border-radius: 5px;
		color: #fff;
		padding: 10px 20px;
		position: relative;
	}
	.map__area dt.icon-plus::before {
		content: "";
	    position: absolute;
	    top: 50%;
	    right: 10px;
	    width: 15px;
	    height: 15px;
	    background: url(../images/pc/common_icon_plus_wh.png) no-repeat center center /cover;
	    transform: translateY(-50%);
	}
	.map__area dt.icon-minus::before {
		content: "";
	    position: absolute;
	    top: 50%;
	    right: 10px;
	    width: 15px;
		height: 2px;
		background: url(../images/pc/common_icon_minus_wh.png) no-repeat center center /cover;
		transform: translateY(-50%);
	}
	.map__area dd {
		margin-top: 5px;
		display: none;
	}
	.map__area li {
		background: #e1eff8;
		border-radius: 5px;
		width: 100%;
		padding: 10px 20px;
		color: var(--basic-color);
		font-weight: bold;
	}
	.map__area li + li {
		margin-top: 5px;
	}
	.tooltip-text {
		font-weight: normal;
		display: block;
		border-top: 1px solid var(--basic-color);
		padding-top: 10px;
		margin-top: 5px;
		line-height: 1.5;
	}
	.tooltip-ttl {
		display: none;
	}
}
/* ==========================================================================
 * case
 * ========================================================================== */
.case {
	padding-bottom: 80px;
	background: url("../images/pc/example_bg.jpg") no-repeat center center /cover;
}
.case__list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding-top: 50px;
}
.case__list li {
	background: #eefaff;
	width: 440px;
	border-radius: 10px;
	text-align: center;
	padding: 20px 30px;
}
.case__list li:nth-child(n+3){
	margin-top: 40px;
}
.case__list figure {
	padding: 10px 0;
}
.case__mainttl {
	font-size: 2.4rem;
	font-weight: bold;
	color: #386097;
}
.case__people {
	font-weight: bold;
	font-size: 1.8rem;
	text-align: left;
}
.case__txt {
	text-align: left;
	font-size: 1.6rem;
	padding: 0 15px;
}
.case__bold{
	font-weight: bold;
}
.case__subtxt {
	text-align: left;
	font-size: 1.6rem;
	padding: 0 15px;
}
@media screen and (max-width: 599px) {
	.case {
		background: url("../images/sp/case_bg_sp@2x.jpg") no-repeat center center /cover;
		padding-bottom: 60px;
	}
	.case__list {
		display: block;
	}
	.case__list li {
		width: auto;
		padding: 10px;

	}
	.case__list li+li {
		margin-top: 30px;
	}
	.case__list figure {
		padding: 10px 5%;
	}
	.case__txt {
		font-size: 1.8rem;
	}
	.case__subtxt {
		font-size: 1.8rem;
	}
	.case__subttl {
		width: 20%;
		margin: 0 auto;
	}
}
/*-------------------- case__detail(PC Upper) --------------------*/
.case__list--upper .case__detail {
	width: 50%;
}
.case__detail h3 {
	font-size: 2rem;
	font-weight: bold;
	color: var(--basic-color);
}
.case__detail h3 img {
	margin-right: .5em;
	vertical-align: middle;
	display: inline-block;
}
.case__detail--body {
	margin-top: 5px;
	padding: 20px 15px;
	font-size: 1.6rem;
	border: 2px solid var(--basic-color);
	border-radius: 5px;
	background-color: #fff;
}
.case__list--lower .case__detail--body {
	display: flex;
	flex-wrap: wrap;
	min-height: 270px;
}
.case__detail--body dl {
	margin: 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.case__detail--body dl + dl {
	margin-top: 20px;
}
.case__detail--body dt {
	width: 87px;
	text-align: center;
	color: #fff;
	background-color: var(--basic-color);
	border-radius: 100px;
}
.case__detail--body dd {
	width: 310px;
	color: var(--basic-color);
}
@media screen and (max-width: 599px) {
	.case__list--upper .case__detail {
		margin-top: 30px;
	}
	.case__list--upper .case__detail,
	.case__detail--body {
		width: 100%;
	}
	.case__detail--body dl {
		display: block;
	}
	.case__detail--body dt,
	.case__detail--body dd {
		font-size: 1.6rem !important;
	}
	.case__detail--body dt,
	.case__list--lower .case__detail {
		width: 100% !important;
	}
	.case__detail--body dd {
		width: 100%;
		margin-top: 5px;
	}
}
/*-------------------- case__detail(PC Lower) --------------------*/
.case__list--lower {
	margin-top: 30px;
	display: flex;
	justify-content: space-between
}
.case__list--lower .case__detail {
	width: 293px;
}
 .case__list--lower .case__detail--body dl {
	display: block;
	width: 100%;
}
.case__list--lower .case__detail--body dt {
	font-size: 1.2rem
}
.case__list--lower .case__detail--body dd {
	width: 100%;
	margin-top: 10px;
	font-size: 1.2rem;
}
.case__otherCases {
	margin-top: 80px;
	font-weight: bold;
	text-align: center;
	color: var(--basic-color);
}
.case__otherCases > span {
	display: inline-block;
	border-bottom: 3px solid var(--basic-color);
}
@media screen and (max-width: 599px) {
	.case__otherCases {
		margin-top: 60px;
	}
}

/* ==========================================================================
 * assesment
 * ========================================================================== */
.assesment {
	padding: 1px 0 80px;
	background-color: #eefaff;
}
.assesment__evaluation {
	margin-top: 80px;
	display: flex;
	justify-content: space-between;
}
.assesment__evaluation p {
	margin: 0;
	text-align: center;
}
.assesment__attr {
	margin-top: 80px;
}
.assesment__attr summary {
	text-align: center;
	font-weight: bold;
	color: var(--basic-color);
	pointer-events: none;
	font-size: 4.0rem;
}
.assesment__attr--body {
	margin-top: 20px;
	padding: 40px;
	background-color: #fff;
	box-shadow: 0 0 10px rgb(0 0 0 / 10%);
}
.assesment__attr--body--graf {
	display: flex;
	justify-content: space-evenly;
}
.assesment__attr--body p {
	margin-top: 40px;
	font-size: 1.6rem;
	text-align: center;
}
.assesment__attr--body--graf p {
	margin: 0;
}
@media screen and (max-width: 599px) {
	.assesment .section__ttl {
		font-size: 1.8rem;
	}
	.assesment .section__ttl strong {
		font-size: 2.6rem;
	}
	.assesment__attr summary {
		position: relative;
		pointer-events: auto;
		font-size: 2.6rem;
	}
	.assesment__attr summary::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		width: 15px;
		height: 15px;
		background: url("../images/pc/common_icon_plus.png") no-repeat center center /cover;
		transform: translateY(-50%);
	}
	.assesment__attr [open] summary::after {
		height: 2px;
		background: url("../images/pc/common_icon_minus.png") no-repeat center center /cover;
	}
	.assesment__evaluation {
		margin-top: 60px;
		display: block;
	}
	.assesment__evaluation p + p {
		margin-top: 60px;
	}
	.assesment__attr--body {
		padding: 30px 5%;
	}
	.assesment__attr--body--graf {
		display: block;
	}
	.assesment__attr--body--graf p + p {
		margin-top: 60px;
	}
}

/* ==========================================================================
 * question
 * ========================================================================== */
.question {
	padding-bottom: 80px;
}
.question__body {
	margin-top: 80px;
}
.question__body details {
	padding: 40px;
	border: 2px solid #282828;
	border-radius: 5px;
}
.question__body details + details {
	margin-top: 40px;
}
.question__body summary {
	position: relative;
	padding: 0 30px 0 60px;
	color: var(--basic-color);
	cursor: pointer;
	outline: none;
}
.question__body summary::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 45px;
	height: 45px;
	background: url("../images/pc/question_icon_q.png") no-repeat center center /cover;
	transform: translateY(-50%);
}
.question__body summary::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 15px;
	height: 15px;
	background: url("../images/pc/common_icon_plus.png") no-repeat center center /cover;
	transform: translateY(-50%);
}
.question__body [open] summary::after {
	height: 2px;
	background: url("../images/pc/common_icon_minus.png") no-repeat center center /cover;
}
.question__body-answer {
	position: relative;
	margin-top: 30px;
	padding-left: 60px;
	font-size: 1.8rem;
}
.question__body-answer::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 45px;
	height: 45px;
	background: url("../images/pc/question_icon_a.png") no-repeat center center /cover;
	transform: translateY(-50%);
}
@media screen and (max-width: 599px) {
	.question__body {
		margin-top: 30px;
	}
	.question__body details {
		padding: 10px 5%;
	}
	.question__body summary {
		padding: 0 30px 0 40px;
		font-size: 1.8rem;
	}
	.question__body summary::before,
	.question__body-answer::before {
		width: 30px;
		height: 30px;
	}
	.question__body-answer {
		padding-left: 40px;
		font-size: 1.8rem;
	}
	.question__body details + details {
		margin-top: 30px;
	}
}

/* ==========================================================================
 * contact
 * ========================================================================== */
.contact {
	padding: 40px 0 80px;
	background: #f8f8f8 url("../images/pc/contact_bg_top.jpg") no-repeat top /contain;
}
.contact__body nav {
	position: relative;
	margin-top: 80px;
	padding: 20px;
	text-align: center;
	background-color: #fff;
	border-radius: 5px;
}
.contact__body nav::before {
	content: "";
	position: absolute;
	top: -101px;
	left: 40px;
	width: 156px;
	height: 101px;
	background: url("../images/pc/contact_img_people.png") no-repeat center center /cover;
}
.contact iframe {
	width: 100%;
	height: 550px;
	margin-top: 40px;
	border: none;
}
@media screen and (max-width: 599px) {
	.contact__body nav {
		margin-top: 30px;
	}
	.contact__body nav::before {
		content: none;
	}
}

/* ==========================================================================
 * company
 * ========================================================================== */
.company__body {
	margin-top: 80px;
	display: flex;
	justify-content: space-between;
}
.company__body--detail {
	width: 560px;
	font-size: 1.6rem;
}
.company__body figure {
	width: 340px;
}
.company__body--detail dl {
	margin: 0;
}
.company__body--detail dl + dl {
	margin-top: 20px;
}
.company__body--detail dt {
	width: 140px;
	padding: 2px 0;
	color: #fff;
	text-align: center;
	background-color: var(--basic-color);
	border-radius: 100px;
}
.company__body--detail dd {
	margin-top: 10px;
}
.company iframe {
	margin-top: 80px;
	width: 100%;
	height: 500px;
}
@media screen and (max-width: 599px) {
	.company__body {
		display: block;
		margin-top: 30px;
	}
	.company__body--detail {
		width: 100%;
	}
	.company__body figure {
		display: none;
	}
	.company iframe {
		margin-top: 30px;
	}
}

/* ==========================================================================
 * footer
 * ========================================================================== */
footer {
	padding: 80px 0;
	font-size: 1.2rem;
	text-align: center;
}
@media screen and (max-width: 599px) {
	footer {
		padding: 30px 0;
	}
}
/* ==========================================================================
 * solution 240618追加
 * ========================================================================== */
.solution__dl {
	color: #fff;
	position: relative;
	list-style-type: disc;
}
.solution__dl dt{
	position: relative;
	font-weight: bold;
	padding: 10px 20px;
	background: var(--basic-color);
    border-radius: 5px;
}
.solution__dl dd {
	background: #fff;
	display: none;
	color: #000;
	padding: 30px;
    font-size: 1.8rem;
	margin-top: 5px;
    border-radius: 5px;
}
.solution__flex {
	display: flex;
	justify-content: space-evenly;
}
.solution__dl dt.icon-plus::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	width: 15px;
	height: 15px;
	background: url(../images/pc/common_icon_plus_wh.png) no-repeat center center / cover;
	transform: translateY(-50%);
}
.solution__dl dt.icon-minus::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	width: 15px;
	height: 2px;
	background: url(../images/pc/common_icon_minus_wh.png) no-repeat center center / cover;
	transform: translateY(-50%);
}
@media screen and (max-width: 599px) {
	.solution__flex {
		display: block;
	}
	.solution__dl dd {
		padding: 20px;
	}
	.solution__occType--list--box p {
		margin-top: 10px;
		font-size: 2.0rem;
	}
}
/* ==========================================================================
 * 埋め込みフォーム調整
 * ========================================================================== */
 .hbspt-form {
	padding: 0 10px;
}
.hbspt-form .hs-input {
	font-size: 1.3rem;
	font-weight: bold;
	min-width: initial;
	max-width: 100%;
	outline: none;
	line-height: 1.25em;
	padding: 7px;
	border: 2px solid #a49e92;
	transition: all 0.3s;
	border-radius: 5px;
	width: 100% !important;
}

.hbspt-form input:invalid , .hbspt-form select:invalid {
    background: #ffeddf !important;
}

.hbspt-form .form-columns-1 span , .hbspt-form .form-columns-2 span {
	font-size: 1.4rem;
	color: #151514;
	font-weight: bold;
	margin: 8px 0px 4px 0px;
	display: inline-block;
}
.hbspt-form .form-columns-1 span:first-child::before , .hbspt-form .form-columns-2 span:first-child::before {
	content: "必須";
	color: #fff;
	display: inline-block;
	background: #ff7a12;
	border-radius: 3px;
	font-size: 1.1rem;
	margin: 0 3px 0 0;
	padding: 1px 2px 1px 2px;
}

.hbspt-form .form-columns-1 .hs_request_details_description span:first-child::before {
	content: "任意";
	color: #fff;
	display: inline-block;
	background: rgb(164, 157, 147);
	border-radius: 3px;
	font-size: 1.1rem;
	margin: 0 3px 0 0;
	padding: 1px 2px 1px 2px;
}

.hbspt-form .form-columns-1 span.hs-form-required , .hbspt-form .form-columns-2 span.hs-form-required {
	display: none;
}

.hbspt-form .no-list.hs-error-msgs.inputs-list {
line-height: 13px;
color: red;
font-size: 11px;
}

.hbspt-form ..field {
	margin-bottom: 8px;
}
.hbspt-form .hs_personal_information .hs-input {
	width: auto !important;
	font-weight: nomal;
}
.hbspt-form .form-columns-1 .hs_personal_information span {
	padding-left: 6px;
	font-size: 1.3rem;
}
.hbspt-form .form-columns-1 .hs_personal_information {
	text-align: center;
}
.hbspt-form .form-columns-1 .legal-consent-container .hs-richtext {
	font-size: 1.3rem;
    font-weight: bold;
	text-align: center;
}
.hbspt-form .form-columns-0 .hs-richtext p {
	height: 20px;
	padding: 0px;
	text-align: left;
	color: #151514;
	font-weight: normal;
	font-size: 1.3rem;
	background-color: #fff;
	border-radius: 0;
	position: sticky;
	top: 0;
	z-index: 1;
}

.hbspt-form .actions {
	margin-top: 1em;
	padding: 0 0 6px;
	text-align: center;
}
.hbspt-form .actions .hs-button {
	background: #ff7a12;
	color: #fff;
	font-size: 18px;
	width: 100%;
	font-weight: bold;
	padding: 5px 0;
	border-radius: 300px;
	border: 1px solid #ff7a12;
}
.hbspt-form .actions .hs-button:hover {
	opacity: 0.7;
}
.hbspt-form .hs_recaptcha  {
	display: none;
}
.grecaptcha-badge { visibility: hidden; }
.reCAPTCHA_txt { font-size: 1.2rem; display: block; padding: 10px;}

@media screen and (max-width: 900px) {
.hbspt-form .form-columns-1 , .hbspt-form .form-columns-2 {
	max-width: 100%;
}
}

@media screen and (min-width: 901px) {
.hbspt-form .form-columns-0 .hs-richtext a:hover , .reCAPTCHA_txt a:hover {
	text-decoration: underline;
}
}

/* ページ下の埋め込みフォームの幅調整 */
.contact__body .form-columns-1 , .contact__body .form-columns-2 {
	max-width: 100%;
}