@charset "utf-8";
html {
	font-size: 16px;
}
body {
font-family: "Montserrat","Helvetica Neue",Arial,"Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
  font-size: 16px;
  letter-spacing: .05em;
  color: #222;
	background: #fff;
	word-wrap: break-word;
    overflow-wrap: break-word;
}
a {
  transition: opacity .2s;
  text-decoration: none;
  color: #496bff;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  border-style: none;
}
.pc-only {
  display: inline-block;
}
.sp-only {
  display: none;
}
.display-none {
	display: none;
}
/*--------------------------------
 レイアウト
---------------------------------*/
.wrapper {
  padding-top: 66px;
}
.section {
  padding: 80px 0; display: block;
}
.section:nth-of-type(odd) {
  background-color: #edf2fa;
}
.section.sec-question {
	padding: 88px 0 20px;	
	background: #fff;
			background-image: url("../img/iconit-research/sec01_bg-left.webp"), url("../img/iconit-research/sec01_bg-right.webp");
		background-repeat:no-repeat, no-repeat;
		background-position:left center, right center;
		background-size: auto 100%, auto 100%;
}
.section.iconit-app {
	background: #e9ff9c;
    background-image: url(../img/iconit-research/bg_qr.png);
    background-repeat: no-repeat;
    background-position: bottom -2rem right -2rem;
    background-size: 35%;	
}
.section.contact-page {
	min-height: calc(100dvh - 71px - 66px);
}
.container {
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 40px;
	position: relative;
}
/*.price .container {
  padding: 0 40px;	
}*/
.container.container-narrow {
	  max-width: 640px;
}
.form-container {
	margin-top: 20px;
}
.small {
	font-size: .75em;
}
.center {
	text-align: center;
}
.right {
	text-align: right;
}
.left {
	text-align: left;	
}
.strong {
	font-weight: 700;
}
.center-block {
	margin: 1rem auto;
	display: block;
	text-align: center;
}
.p-confirm {
	text-align: center;
	margin: 2rem auto;
	padding: 0 .75rem;
}
ul.main-text {
	font-size: 0;
}
ul.main-text li {
  position: relative;
  list-style-type: none;
	font-size: 1rem;
}
ul.main-text li:before { 
  display:inline-block; 
  vertical-align: middle;
  content:'';
  width: .25rem;
  height: .25rem;
  background: #333;
  border-radius: 50%;
  margin-right: 8px; margin-bottom: 2px;
}
ul.main-text li.capture:before,
ul.main-text li.caution:before {
	  content: none;
}
ul.main-text li.capture {
	margin-top: 1rem;
}
ul.main-text li.caution, .caution {
	margin-top: .35rem;
	font-size: .85rem;
}
.back-gray .caution {
	/*margin-top: 1rem;*/
	color: #fb2f55;
}
.capture {
	margin-top: 1rem;
}
a.link-black {
	color: #111;
}
.caution a {
	font-weight: 900;
}
.caution.center {
	    width: 100%;
    display: block;
}
a.caution {
	text-decoration: underline;
	font-size: .9rem;
	margin-bottom: 3rem;
}
.frame-scroll {
	background: #f6f6f6;
	height: 12.5rem;
	border-radius: 4px;
	padding: 1rem;
	overflow-y: scroll;
	font-size: .9rem;
}
.frame-scroll h3, .frame-scroll h4 {
	margin-top: .5rem; margin-bottom: .5rem;
}
.input-normal {
	width: 100%;
	padding: .75rem;
	box-sizing: border-box;
	border-radius: 4px;
	border: solid 2px #333;
	letter-spacing: .05rem;
}
.input-normal:focus {
  background: #feffbf;
}
.illustration {
	margin: 1.5rem 0;
}
.text-auxiliary {
	margin: 0 .5rem;
}
.no-edit-normal {
	width: 100%;
    padding: 0.75rem;
    box-sizing: border-box;
    border-radius: 4px;
    background: #f6f6f6;
}
.confirmation-list {
	padding: 20px 20px 36px;
    background: #fff;
    margin: 20px -20px;
	border-radius: 4px;
}

/*--------------------------------
 見出し
---------------------------------*/
.title {
  font-size: 2.5rem;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 48px;
  text-align: center;
  letter-spacing: .025em;
  color: #111d62;
}
.title.title-large {
	font-size: 3.75rem;
	text-align: left;	
}
.title.title-large {
background-image: url("../img/iconit-research/i-r_title-bg.webp");
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  background-repeat: repeat;
  background-size: 600px;
  background-position: center;
}
.title.title-large .line {
	display: block;
    /*margin-left: 6.125rem;*/
    margin-top: 1.5rem;
}
.title.title-large .numbers {
	font-size: 1.2em;
    margin: 0 .35rem .125rem .8rem;
    vertical-align: text-bottom;
	display: inline-block;
}
.title.title-large .unit {
	font-size: .85em;
}
.title.title-large .unit + .unit-small {
	font-size: .5em;
	    margin-left: -.5rem;
}
.title.title-medium {
	line-height: 1.5;
    text-align: left;
}
.iconit-app .title.title-medium {
	    color: #222;
    font-size: 3.25rem;
    /*margin-top: -1rem;*/
    line-height: 1.4;
}
.iconit-app .title.title-medium .inline-small {
	font-size: 2rem;
	vertical-align: bottom;
	margin-right: .25rem;
	margin-bottom: .35rem;
}
.subhead {
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 24px; margin-top: 54px;
	text-align: center;
	color: #222;
}
.subhead.welcome {
	font-size: 30px;
	line-height: 1.3;
	 margin-bottom: 26px;
}
.subhead.welcome + .text-fix {
	padding-bottom: 36px;
}
.subhead.welcome span {
	font-size: 24px;
	display: block;
}
.welcome-japanese {
	margin-top: .5rem;
}
.lead {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 30px;
}

/*--------------------------------
ヘッダー
---------------------------------*/
.header {
  position: fixed;
  top: 0;
  z-index: 105;
  width: 100%;
  background-color: rgba(255,255,255,1);
  box-shadow: 0 5px 10px -6px rgba(0,0,0,.15);
	backdrop-filter: blur(5px);
}
.header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 20px;
	max-width: 1134px;
}
.header .container:has(.color-change-blue) {
	height: 66px;
}
@media screen and (min-width: 768px) {
.header .container:has(.color-change-blue) .gnav-item:last-child {
	padding-right: 1.5rem;
}
}
.header-logo {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.2;
  margin-right: 20px;
  letter-spacing: .025em;
}
h1.header-logo {
  line-height: 1.1;
	padding: 0;
}
h1.header-logo a img {
	width: 9rem;
	margin-left: 12px;
}
@media screen and (min-width:768px) {
	h1.header-logo a img {
	filter: invert(23%) sepia(84%) saturate(6206%) hue-rotate(242deg) brightness(107%) contrast(102%);
		transition: all 0.2s ease-out;
}
	h1.header-logo a:hover img,
	h1.header-logo a:focus img,
	h1.header-logo a:active img {
		filter: invert(41%) sepia(77%) saturate(4763%) hue-rotate(222deg) brightness(104%) contrast(101%);
	}
}
@media screen and (min-width:768px) and (max-width:1024px)  {
h1.header-logo a img {
	margin-left: 0;
}
}
.header-logo a {
  color: #222;
}
.header-logo a span {
	font-weight: 500;
	font-size: .75em;
}
.gnav-list {
  display: flex;
  justify-content: space-between;
  list-style: none;
	align-items: center;
}
.gnav-item:not(:last-child) {
  margin-right: 32px;
}
@media screen and (min-width:768px) and ( max-width:808px) {
	.gnav-item:not(:last-child) {
  		margin-right: 19px;
	}
}
.gnav-item a {
  position: relative;
  font-size: 13px;
  font-weight: bold;
  display: inline-block;
  padding: 5px 0;
  transition: all 0.2s ease-out;
  letter-spacing: .05em;
  color: #222;
}
.gnav-item a:after {
  position: absolute;
  bottom: -4px;
  left: 50%;
  width: 0;
  height: 4px;
  content: "";
  transition: all 0.2s ease-out;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #3e3eff;
}
.gnav-item a:hover:after {
  width: 100%;
}
@media screen and (min-width: 768px) {
.gnav-item a.header-contact {
	background: #fd445e;
    padding: .75rem 1.5rem;
    color: #fff;
    border-radius: 1000px;
    margin-left: .5rem;
	transition: all 0.2s ease-out;
}
.gnav-item a.header-contact:hover {
	opacity: .9;
}
.gnav-item a.header-contact:hover:after {
	content: none;
}
}
/*--------------------------------
 メインビジュアル
---------------------------------*/
.mv {
  display: flex;
  align-items: center;
  justify-content: left;
  height: 460px;
  text-align: center;
flex-wrap: wrap;
	background-size: cover;
	/*overflow: hidden;*/
}
.mv-top {
	position: relative;
	top: 0;
	padding-left: 0;
	color: /*#111d62*/#fff;
	text-shadow: 0 3px 7px rgba(17, 29, 98, .25);
}
.mv-img {
	position: absolute;
	z-index: -1;
	object-fit: cover;
	min-height: calc(100% + 1rem);
	top: -1rem;
	right: 0;
}
@media screen and (min-width: 1280px) {
.mv-img {	
	top: -4.5rem;
		min-height: calc(100% + 4.5rem);
}
}
.mv .mv-inner {
	position: relative;
	top: 0; left: 0;
	width: 800vw;
	height: 100%;
	display: flex;
	z-index: -1;
}
.mv .mv-inner.mv-back{
	left: -1px;
    right: 1px;
}
.mv .mv-inner span {
	width: 100vw;
	height: 100%;
}
.mv .mv-inner img {
	width: 100%; height: 100%;
	object-fit: cover;
}
.screenshot-wrap {
	position: absolute;
}
.room::before {
	background: none;
}
.dark {
	background: #111; 
}
.mv-container {
	text-align: left;
  padding: 0;
	width: 100%;
	max-width: 1024px;
	position: relative;
	z-index: 1;
margin: 30px auto auto;
}
.mv-title {
  font-size: 64px;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: .025em;
    width: fit-content;
	display: inline;
/*text-shadow: 0 2px 14px rgba(0, 0, 0, .5);*/
}
@media screen and (max-width: 794px) {
.mv-title {
  font-size: 60px;	
}
}
.mv-subtitle {
  font-size: 36px;
  font-weight: 400;
  line-height: 1;
	margin-top: 28px;
  margin-bottom: 26px;
  letter-spacing: .05em;
    width: fit-content;
	padding: .125rem;
/*text-shadow: 0 2px 14px rgba(0, 0, 0, .75);*/
}
.mv-text {
  font-size: 16px;
  line-height: 1.8;
}
.mv-list {
    text-align: left;
    margin: auto;
    line-height: 1.1;
    font-size: 1.5rem;
    margin-top: 0;
    font-weight: 400;
    width: 100%;
    max-width: 1024px;
    padding: 0 8px;
	    letter-spacing: .125rem;
}
.mv-list li {
	list-style: none;
	padding: .125rem .125rem .125rem 2.5rem;
	position: relative;
/*text-shadow: 0 2px 14px rgba(0, 0, 0, .65);*/
	width: fit-content;
	line-height: 2;
	background: linear-gradient(to top, transparent 0, transparent .5rem, #3e3eff .5rem, #3e3eff .85rem, transparent .85rem);
}
.mv-list .bold {
	font-weight: 700;
	font-size: 1.05em;
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
.mv-container, .mv-list {
  padding: 0 20px;		
}
}
.mv-list li::before {
	content: "";
	background: url("../img/iconit-research/i-r_icon-check.svg");
	border-radius: .125rem;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	height: 2rem;
	width: 2rem;
	position: absolute;
	top: 50%;
	left: .125rem;
	transform: translateY(-50%);
	/*filter: drop-shadow(0 3px 7px rgba(17, 29, 98, .25));*/
}
.bg-pentagon {
	background: #3e3eff;
	color: #fff;
 clip-path: polygon(0 0,100% 0, 100% 65%, 50% 100%,0 65%);
	font-size: 2.25rem;
    font-weight: 500;
    padding: 26px 40px 72px;
	text-align: center;
    line-height: 1.4;
	    letter-spacing: .05em;
}
.bg-pentagon span {
	font-size: 1.2em;
	margin-right: .25rem;
	letter-spacing: 0;
	font-weight: 800;
	/*background: #3e3eff;*/
	color: #e9ff9c;
}
.bg-pentagon + .more {
	margin-bottom: 70px;	
}



.shutter {
	display: block;
	border-radius: 1000px;
	border: 4px solid #fff;
	height: 4.5rem; width: 4.5rem;
	background: transparent;
	margin: 0 3rem;
}
.shutter a {
 position: relative;
	height: 100%; width: 100%;
	display: block;
	border-radius: 1000px;
}
@media screen and (min-width: 768px) {
	.form-container {
	margin-top: 30px;
}
	.works-name {
  margin-bottom: 2px;		
	}
}
.works-info {
  font-size: .9rem;
  margin-top: 5px;
}
.item-desc {
	line-height: 1.5;
}
.upper-line {
	margin-top: 1.5rem;	
}
.upper-line:first-of-type,
img + .upper-line {
	margin-top: 0;	
}

.paging {
	display: flex;
	justify-content: center;
}
.paging a, .paging span {
	width: 3.25rem;
		margin: 3.5rem 0.5rem 1rem;
	transition: all .2s ease-out;
}
.paging a:hover {
	background: #fd445e;
	color: #fff;
	border-color: #fff;
}

/*--------------------------------
 menu
---------------------------------*/
.menu-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: -50px;
}
.menu-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 48%;
  margin-bottom: 50px;
	position: relative;
}
.menu-img {
  width: 60px;
  height: auto;
  margin-right: 20px;
}
.menu-body {
  flex: 1;
}
.menu-name {
  margin-bottom: 10px;
}
.menu-text {
  font-size: 14px;
  line-height: 1.8;
	color: #333;
}

/*--------------------------------
 Contact
---------------------------------*/

.contact-item {
	width: 100%;
	font-size: 1.1rem;
}
.contact-item td, .contact-item th {
	padding: 1.5rem .75rem;
	vertical-align: top;
}
.contact-item th {
	text-align: left;
	width: 16rem;
	padding: 2.15rem .75rem .85rem;	
}
.contact-item-confirm th {
	padding: 1.5rem .75rem;	
}
.contact-item td.radio-container,
.contact-item td.form_privacy {
	padding-top: 1.85rem;
}
.contact-item td.radio-container label,
.contact-item td.form_privacy label {
	line-height: 2.25;
	    width: fit-content;
	cursor: pointer;
}
.contact-item td.form_privacy a {
	line-height: 2.5;
	display: block;
    width: fit-content;
	text-decoration: underline;
	color: #496bff ;
}
.contact-item input,
.contact-item textarea {
	border: solid 2px #d4e4f9;
	padding: .75rem .85rem;
	background: #fff;
}
.contact-item textarea {
	height: 10rem;	
}
.contact-item input[type="text"],
.contact-item input[type="email"],
.contact-item input[type="tel"],
.contact-item textarea {
	border-radius: .25rem;
	width: 100%;
	box-shadow: 0px 0px 100px 100px #fff inset;
}
.contact-item input::placeholder,
.contact-item textarea::placeholder {
color: #bbb;
}
.contact-item tr {
	margin-bottom: 1rem;
}
.contact-item label {
	display: block;
}
.contact-item.sns-icon {
	font-size: 0;
	display: inline-block;
	margin-bottom: 2rem;
}
.contact-item.sns-icon img {
	width: 2.5rem;
	height: 2.5rem;
}
.contact-item.top-contact .top-sns-icon {
	margin-bottom: 1.5rem;
	display: block;
}
.contact-item.top-contact svg {
	width: 2rem; height: 2rem;
}
.top-contact.contact-item:first-child {
    margin-right: 0;
}
.contact-text {
  margin-top: 10px;
}
.share {
	font-size: .85rem;
	margin: 1rem 0;
	text-align: right;
}
/* wp forms */
div.wpforms-container-full, div.wpforms-container-full * {
	font-size: 1.1rem !important;
	letter-spacing: .05em !important;
}
div.wpforms-container-full button[type=submit]:not(:hover):not(:active),
div.wpforms-container-full button[type=submit]:hover,
div.wpforms-container-full button[type=submit]:active,
div.wpforms-container-full button,
div.wpforms-container-full button:hover,
div.wpforms-container-full button:active,
.contact-item .form-submit {
	font-size: 1.65rem !important;
    font-weight: 700 ;
    display: block;
    text-align: center;
    width: 75% ;
    max-width: 25rem;
    margin: 2.5rem auto calc(1rem + 10px);
    border-radius: 1000px ;
    padding: 1.35rem 1rem 1.5rem;
    color: #FFF ;
    letter-spacing: .05em;
    transition: all 0.2s ease-out ;
    position: relative ;
    height: calc(1.75rem + 2.5rem) ;
    background-color: #3e3eff !important;
    background: #3e3eff !important;
    box-shadow: 0 8px 0 #111d62;
}
.form-submit {
	position: absolute;
    bottom: 0;
    transform: translate(-50%, calc(100% + 3rem));
    left: 50%;	 
	}
.flex-container .form-submit {
	position: relative;
	transform: translate(0, 0);
    width: 30%;
	max-width: 320px;
	min-width: 240px;
    left: auto;
}
.flex-container .form-submit {
	margin: 3rem 1.5rem calc(1rem + 10px) auto;
}
.flex-container .form-submit:nth-child(even) {
	margin: 3rem auto calc(1rem + 10px) 1.5rem;
}
.flex-container .form-submit button {
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, calc(-50% - .125rem));
    width: 100%;
    height: 100%;
    letter-spacing: .025em;
	background: transparent;
    border: none;
}
.form-horizontal {
	position: relative;
}
.contact .container {
	padding-bottom: 7.5rem;
}
.contact .container:has(.contact-item-confirm) {
	padding-bottom: 0;
}
div.wpforms-container-full button[type=submit]:active,
div.wpforms-container-full button:active,
.contact-item .form-submit:active {
    box-shadow: none;
}
.form-submit:has(:disabled) {
    box-shadow: none;
	background: #999;
	pointer-events: none;
}
div.wpforms-container-full .wpforms-field-label {
	width: 16rem;
	padding-top: 1rem !important;
	margin-bottom: .5rem !important;
}
.wpforms-container .wpforms-field,
div.wpforms-container-full fieldset {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	width: 100%;
}
div.wpforms-container-full .wpforms-field-description {
	width: 100%;
	padding-top: .125rem;
	padding-left: 16rem;
	color: #222 !important;
	font-size: .9rem !important;
}
div.wpforms-container-full .wpforms-field-radio .wpforms-field-label,
div.wpforms-container-full .wpforms-field-checkbox .wpforms-field-label {
	padding-top: 0 !important;
}
div.wpforms-container-full input[type=text],
div.wpforms-container-full input[type=email],
.wpforms-container input.wpforms-field-medium,
div.wpforms-container-full .wpforms-form textarea,
div.wpforms-container-full .wpforms-field.wpforms-field-radio ul,
div.wpforms-container-full .wpforms-field.wpforms-field-checkbox ul {
	width: calc(100% - 16rem);
	min-width: calc(100% - 16rem);
}
div.wpforms-container-full fieldset {
	display: contents;
}
.wpforms-container .wpforms-field, .wp-core-ui div.wpforms-container .wpforms-field {
	padding: 1.5rem 0 !important;
}
div.wpforms-container-full .wpforms-form label.wpforms-error, div.wpforms-container-full .wpforms-form em.wpforms-error {
	padding: 0 0 0 16.5rem !important;
	color: #fd445e !important;
}
div.wpforms-container-full .wpforms-form label.wpforms-error::before, 
div.wpforms-container-full .wpforms-form em.wpforms-error::before {
	background-color: #fd445e !important;	
}
.wpforms-container .wpforms-field input.wpforms-error {
	border-color: #fd445e !important;
}
.wpforms-field-description a {
	text-decoration: underline;
    transition: all 0.2s ease-out ;
}
.wpforms-field-description a:hover {
	opacity: .8;
}
div.wpforms-container-full .wpforms-field.wpforms-field-radio ul li input,
div.wpforms-container-full input[type=radio] {
	/*opacity: 0;*/
    -webkit-appearance: none;
    appearance: none;
    position: relative;
	transition: all 0.2s ease-out;
}
div.wpforms-container-full .wpforms-field.wpforms-field-radio ul li input:before,
div.wpforms-container-full input[type=radio]:before {
	position: relative;
    vertical-align: middle;
    display: inline-block;
    box-sizing: border-box;
    width: 1.5rem;
    height: 1.5rem;
    margin-top: -.15rem !important;
    margin-right: 0.5rem;
	margin: -.15rem .5rem 0 0 !important;
    border-radius: 50%;
    border: 3px solid #ccc;
    background: #fff;
    box-shadow: none;
    transition: all 0.2s ease-out;
	min-width: 1.5rem !important;	
}
div.wpforms-container-full .wpforms-field.wpforms-field-radio ul li:hover input::before {
    border: 3px solid #3e3eff;
	background-color: #3e3eff;
}
div.wpforms-container-full .wpforms-field.wpforms-field-radio ul li input:checked::before,
div.wpforms-container-full input[type=radio]:checked::before {
    border: 3px solid #3e3eff;
	background-color: #fff;
}
div.wpforms-container-full input[type=radio]::after {
	   content: "";
    border-radius: 1000px;
    position: absolute;
    top: -.15rem;
    left: 0 !important;
    background-color: #3e3eff !important;
    /*transition: all 0.2s ease-out;*/
	opacity: 0;
}
div.wpforms-container-full input[type=radio]:checked::after {
 	opacity: 1;
left: .075rem !important;
    top: -.075rem !important;
}
div.wpforms-container-full ul li:nth-child(2) input[type=radio]:checked::after {
    top: -.1rem !important;	
}
div.wpforms-container-full .wpforms-field.wpforms-field-checkbox ul li input,
div.wpforms-container-full input[type=checkbox] {
	/* opacity: 0; */
    -webkit-appearance: none;
    appearance: none;
    /* position: absolute;*/
	position: relative;
    display: inline-block;
    vertical-align: middle;
    box-sizing: border-box;
    width: 1.5rem;
    height: 1.5rem;
    margin-top: -.025rem !important;
    margin-right: -.25rem !important;
    margin-bottom: .125rem;
    transition: all 0.2s ease-out;
}
div.wpforms-container-full .wpforms-field.wpforms-field-checkbox ul li input::before,
div.wpforms-container-full input[type=checkbox]::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: inline-block;
    box-sizing: border-box;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 4px;
    border: 3px solid #ccc;
    background: #fff;
    box-shadow: none;
    transition: all 0.2s ease-out;
    margin-top: -.125rem;
}
div.wpforms-container-full .wpforms-field.wpforms-field-checkbox ul li input:checked::before,
div.wpforms-container-full input[type=checkbox]:checked::before {
	position: absolute;
    content: "";
    top: -.2rem;
    left: .4rem;
    width: 62%;
    height: 84%;
    transform: rotate(45deg);
    border: solid 3px transparent;
    border-bottom: 3px solid #3e3eff;
    border-right: 3px solid #3e3eff;
    background: transparent;
    box-shadow: none;
}
div.wpforms-container-full .wpforms-field.wpforms-field-checkbox ul li input:checked::after,
div.wpforms-container-full input[type=checkbox]:checked::after {
	content: none;
}
 div.wpforms-container-full input[type=text],
 div.wpforms-container-full input[type=email],
div.wpforms-container-full .wpforms-form textarea {
	    border: solid 2px #d4e4f9;
	border-color: #d4e4f9 !important;
	border-width: 2px !important;
    padding: .75rem .85rem;
    background: #fff;
	border-radius: .25rem !important;
   height: 3.25rem;
    box-shadow: 0px 0px 100px 100px #fff inset !important;
}
.wpforms-container .wpforms-field input.wpforms-error {
	border-width: 2px;
}
.wpforms-container .wpforms-required-label,
.wp-core-ui div.wpforms-container .wpforms-required-label {
	color: transparent !important;
}
.wpforms-container .wpforms-required-label::before,
.wp-core-ui div.wpforms-container .wpforms-required-label::before {
	content: "必須";
	background: #fd445e;
	color: #fff;
	padding: .125rem .5rem;
    font-size: .8rem;
    border-radius: .25rem;
    margin-left: .25rem;
    vertical-align: bottom;
}
div.wpforms-container-full .wpforms-confirmation-container-full,
div[submit-success]>.wpforms-confirmation-container-full:not(.wpforms-redirection-message) {
	background: #d4e4f9 !important;
    border: none !important;
	color: #222 !important;
	border-radius: .5rem;
}
div.wpforms-container-full .wpforms-confirmation-container-full p {
	color: #222 !important;	
	text-align: center;
}
@media screen and (max-width: 767px) {
div.wpforms-container-full button[type=submit]:not(:hover):not(:active), div.wpforms-container-full button[type=submit]:hover, div.wpforms-container-full button[type=submit]:active, div.wpforms-container-full button, div.wpforms-container-full button:hover, div.wpforms-container-full button:active, .contact-item .form-submit {
	font-size: 1.4rem !important;
	margin: 2rem auto 0;
        padding: 1.125rem 0 1.25rem;
        width: 70%;
	box-shadow: 0 8px 0 #111d62;
}
div.wpforms-container-full .wpforms-field-description {
	padding-left: .125rem;
	}
div.wpforms-container-full .wpforms-field-radio .wpforms-field-label,
div.wpforms-container-full .wpforms-field-checkbox .wpforms-field-label {
	margin-bottom: 1.5rem;
}
div.wpforms-container-full input[type=text],
div.wpforms-container-full input[type=email],
.wpforms-container input.wpforms-field-medium,
div.wpforms-container-full .wpforms-form textarea,
div.wpforms-container-full .wpforms-field.wpforms-field-radio ul,
div.wpforms-container-full .wpforms-field.wpforms-field-checkbox ul {
	width: 100%;
	min-width: 100%;
}
div.wpforms-container-full .wpforms-form label.wpforms-error, div.wpforms-container-full .wpforms-form em.wpforms-error {
	padding: 0 0 0 .75rem !important;
	}
	div.wpforms-container-full input[type=radio]:checked::after,
	div.wpforms-container-full ul li:nth-child(2) input[type=radio]:checked::after {
    left: 0 !important;
   top: -.15rem !important;
}
		div.wpforms-container-full .wpforms-field-label {
		padding-top: 0 !important;
		margin-bottom: .75rem !important;
		
	}
		div.wpforms-container .wpforms-form .wpforms-field:first-of-type .wpforms-field-label {
	margin-bottom: 1.5rem !important;
}
	div.wpforms-container .wpforms-form .wpforms-field:last-of-type .wpforms-field-label {
	margin-bottom: 1.25rem !important;
}
.wpforms-container .wpforms-required-label::before,
.wp-core-ui div.wpforms-container .wpforms-required-label::before {
    vertical-align: text-top;
	}
}


/*--------------------------------
 ページトップ
---------------------------------*/
.page-top {
  	font-weight: bold;
    cursor: pointer;
    text-align: center;
    background-color: #fff;
    position: fixed;
    width: 4rem;
	height: 4rem;
    bottom: 3rem;
    right: 20px;
    border-radius: 1000px;
    box-shadow: 0 6px 10px 0 rgba(0, 0, 0, .1);
	z-index: 5;
}
.page-top .material-icons-outlined {
  color: #3e3eff;
    font-size: 3rem;
    display: block;
    position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
@media screen and (min-width: 1134px) {
	.page-top {
		right: calc((100% - 1134px) / 2 + 20px);
	}
}
	
/*--------------------------------
 フッター
---------------------------------*/
.footer-link {
	display: flex;
	margin-bottom: 30px;
    justify-content: center;
}
.footer-link a {
	font-size: .85rem;
	padding: 4px 20px;
	color: #777;
}
.footer {
  background-color: #fff;
	padding: 30px;
    position: relative;
}
.footer-avatar {
	position: absolute;
    bottom: 0;
    display: block;
    width: 100%;
    transform: translateY(100%);
}
.copyright {
  font-size: 11px; height: 11px;
  text-align: center;
}
.copyright a {
	color: #496bff;
}
.container-flex {
	display: flex;
}
.container-small {
	width: 50%;
    background: #fff;
    padding: 1.25rem 2rem;
    margin: 2rem 1rem 1rem 0;
    border-radius: .5rem;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
.container-small:nth-child(even) {
    margin: 2rem 0 1rem 1rem;	
}
.flow .container-flex {
	    justify-content: center;
}
.flow .container-small {
    border-radius: 10000px;
    box-shadow: none;
    background: #e9ff9c;
    text-align: center;
    justify-content: center;
    font-size: 1.75rem;
    line-height: 1.5;
    align-items: flex-start;
    aspect-ratio: 1 / 1;
    width: 30%;
	min-width: 300px;
    font-weight: 800;
    padding: 0;
	color: #111d62;
}
.container-small h3 {
	font-size: 1.75rem;
    font-weight: 800;
    display: block;
    width: 100%;
	color: #111d62;
}
.price .container-small {
	flex-wrap: wrap;
	justify-content: space-between;
}
.price .container-small .text-large {
    color: #111d62;
    line-height: 1.65;
    margin: 1.5rem 1rem 0 0;
    font-weight: 600;
    font-size: 1.4rem;
}
.price .container-small ul.text-large {
	padding-left: 2rem;
}
.container-one {
	border-radius: .5rem;
	padding: 1.5rem 4rem 2rem;
	background: #fff;
	font-size: 1.35rem;
	line-height: 1.8;
	margin-bottom: 1.75rem;
	overflow: hidden;
	position: relative;
}
.text-blue {
	color: #3e3eff;
}
.container-one a.text-blue {
	font-size: 1.2em;
	text-decoration: underline;
	margin-right: .25rem;
	transition: all 0.2s ease-out;
}
.container-one a.text-blue:hover {
	color: #496bff;
}
.container-one .text-blue {
	font-weight: 800;	
}
.container-one .text-blue .icon-open {
	margin-bottom: .125rem;
	filter: invert(23%) sepia(84%) saturate(6206%) hue-rotate(242deg) brightness(107%) contrast(102%);
}
@media screen and (min-width: 768px) {
.container-one .text-blue .icon-open {
		margin-bottom: .5rem;
	}
}
.container-one:not(.container-paleblue)::before {
	content: "";
	display: block;
	 width: 100px;
	height: 100px;
	position: absolute;
top: -68px;
    left: -68px;
	background: #d4e4f9;
	transform: rotate(45deg);
}
.container-paleblue {
	background: #d4e4f9;
    margin-top: 3rem;
    margin-bottom: 0;
    font-size: 1.05rem;
	text-align: center;
	line-height: 2;
	padding: 1.25rem 4rem 1.5rem;
}
.container-paleblue h3 {
	margin-bottom: 1rem;	
}
.container-paleblue .marker {
	background: #fff;
	font-weight: 600;
	    padding: .125rem;
}
.text-large {
	font-size: 1.2rem;
}
.aid {
	font-size: 1.1rem;
    display: block;
    margin: 2rem auto -1rem;
    width: fit-content;
    max-width: 1340px;
    padding: 0 40px;
	text-align: center;
	line-height: 1.6;
	color: #496bff;
	font-weight: 600;
}
.case .aid {
    margin: 3rem auto -1rem;	
}
.flex-wrap {
	flex-wrap: wrap;
}
.back-gray {
	background: #f6f6f6;
	border-radius: 4px;
	    padding: 1rem;
	margin: 1rem auto; 
}

@media screen and (min-width: 768px) {
	.pc-column .container-flex .button-color {
		margin: 1rem .75rem;
		font-size: 1rem;
		width: 35%;
	}
	.pc-column .back-gray .container-flex .button-color {
		margin: 1rem .75rem 0;		
	}
	.back-gray {
		padding: 1.25rem;
	}
}
.button-color, .login, .button-transparent {
	padding: .5rem ;
	font-size: 1.25rem;
	font-weight: 700;
	margin: 2rem auto;
	display: block;
	width: 40%;
	text-align: center;
}
.button-color, .button-transparent {
	color: #fff;
	border-radius: 1000px;
	background: #fd445e;
}
.button-color.button-black {
		background: #111;
	color: #fff;
}.button-color.button-white {
		background: #fff;
	color: #111;
}
.button-transparent {
	background: transparent;
	border: 2px solid #fff;
	color: #fff;
}
.button-color.button-fit {
	width: fit-content;
	padding: .75rem 1.75rem;
	font-weight: 500;
	font-size: 1.1rem;
	display: block; margin-left: auto; margin-right: auto;
	margin-top: 3rem;
}
.button-color.button-fit.button-narrow {
	min-width: 60%;
}
.height-lump .button-transparent {
	font-size: 1rem;
}
.login {
	color: #fd445e;
	letter-spacing: .05rem;
}

/*--------------------------------
ニュース
---------------------------------*/
.more, .menu .button-color, .form-submit {
	font-size: 1.6rem;
    font-weight: 700;
    display: block;
    text-align: center;
    width: 75%;
    max-width: 25rem;
    margin: 2.5rem auto calc(1rem + 10px);
    border-radius: 1000px;
    background: #fd445e;
    padding: 1.25rem 1rem 1.5rem;
    color: #FFF;
	letter-spacing: .05em;
	transition: all 0.2s ease-out;
	box-shadow: 0 8px 0 #ce133b;
}
.more:hover, .menu .button-color:hover, .form-submit:hover {
	opacity: .7;
}
.more:active, .menu .button-color:active, .form-submit:active,
.flex-container .form-submit.form-return:active,
a.form-submit.form-return:active {
box-shadow: none;
}
.form-submit {
	/*position: relative;*/
	height: calc(1.75rem + 3rem);
	background: #3e3eff;
	box-shadow: 0 8px 0 #111d62;
}
.form-submit.form-return {
	border: solid #111d62 2px;
    background: #f6f6f6;
    color: #111d62;
	box-shadow: 0 6px 0 #111d62;
}
a.form-submit.form-return {
	line-height: calc((1.75rem + 3rem) / 2 - 4px);
    transform: translate(0, 0);
    left: auto;
    margin: 5rem auto 0;
	position: relative;
}
@media screen and (min-width:768px) {
	a.form-submit.form-return {
		width: 30%;	
}
}
@media screen and (max-width:767px) {
	a.form-submit.form-return {
		padding: 1.25rem 0 1.25rem;
}
}
.form-submit.form-return button {
	transform: translate(-50%, calc(-50% - .125rem - 1px));
}
.form-submit.form-inactive {
	background: #bbb;
	box-shadow: none;
}
.form-submit.form-inactive:hover,
.form-submit.form-inactive:active {
	opacity: 1;
	box-shadow: none;
}
.form-submit input {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, calc(-50% - .125rem));
	width: 100%;
	height: 100%;
	letter-spacing: .025em;
	background-color: transparent;
	border: none;
}
.more.page-middle {
	border-color: transparent;
	margin-left: 0;
    margin-right: 0;
}
.more.page-arrow-prev,
.more.page-arrow-next {
	font-size: 0;
	position: relative;
}
.more.page-arrow-prev::before,
.more.page-arrow-next::before {
	content: '';
	position: absolute;
    top: 50%;
    left: 55%;
    width: 30%;
    height: 30%;
    transform: translate(-50%, -50%) rotate(-45deg);
    border: solid 3px transparent;
    border-top: 3px solid #333;
    border-left: 3px solid #333;
    background: transparent;
    box-shadow: none;
}
.more.page-arrow-next::before {
	content: '';
    left: 45%;
    transform: translate(-50%, -50%) rotate(135deg);	
}
.more.page-arrow-prev:hover::before,
.more.page-arrow-next:hover::before {
    border-top: 3px solid #fff;
    border-left: 3px solid #fff;
}
.menu .button-color:nth-child(even) {
	color: #fff;
	background: #fd445e;
	border: none;
    margin-left: auto; margin-right: auto;
}
.window-ex {
	background: rgba(0,0,0,.9);
	border-radius: .5rem;
	border: 2px solid #fff;
}
.window-ex.window-normal {
	background: rgba(0,0,0,1);
    border-radius: 4px;
    border: none;
}
.window-normal h3 {
	color: #fff;
		margin-bottom: .5rem;
}
.window-normal .container {
	margin-bottom: .5rem;
	margin-top: 1.5rem;	
}
.window-normal .container:first-child {
	margin-top: 0;
}
@media screen and (max-width: 767px) {
.window-normal h3 {
	color: #fff;
	margin-bottom: .35rem;
	}
}
.window-normal .container:last-child {
	margin-bottom: 3rem;
}
	.checkbox-container {
		padding-right: 1rem; padding-left: 1rem;	
}
.height-lump {
	max-height: 80dvh;
	padding-right: .5rem; padding-left: .5rem;
}
.height-lump .avatar-tmb-img {
    width: calc(25% - 2rem);
    margin: 0.75rem 1rem;
}
.menu-icon_avatar label:hover {
	cursor: pointer;
}
#btn_cloth span, #btn_cloth span::before {
	background: #fff;
	    height: 2px;
}
@media screen and (max-width: 767px) {
#btn_cloth span {
	top: 1.5rem;
}	
}

.flex-container {
	display: flex;
}
.flex-align-center {
	align-items: center;
}
.height-lump .flex-container {
	padding: 1rem .5rem 1.125rem;
}
.height-lump .flex-container.nav_box {
	padding: 0 .5rem 1.125rem;	
}
.button-white {
	border: none;
	color: #111;
	background: #fff;
}
#overlay-ex {
	z-index: 106;
}
.nav_box li {
	width: 50%;
	padding: 0 1rem 2rem 1rem;
    text-align: center;
	font-size: 1rem;
	list-style: none;
		position: relative;
}
.nav_box li img {
	position: relative;
	margin: 0 10%;
	width: 80%;
}
.nav_box li a {
	color: #fff;
}
.icon-lock {
	filter: drop-shadow(0 2px 3px rgba(0,0,0,.2));
	    position: absolute;
    left: calc(60px - 1.25rem);
    width: 1.8rem;
    top: -0.5rem;
	z-index: 101;
}
.header .icon-lock {
	    top: 0.5rem;
    right: -.75rem;
    left: auto;
}
.manu-lock {
	color: #333;
}
.tag01 {
	padding: .2rem .75rem;
	background: #fd445e;
	color: #fff;
	font-weight: 900;
	letter-spacing: .075em;
	font-size: .85rem;
	display: inline-block;
	margin: .15rem 0 0;
	border-radius: 1000px;
}
.works-name + .tag01 {
	margin-left: .25rem;
}
	.text-fix {
	color: #333;	
	}
.text-fix.fix-mail + .caution {
	margin-top: 5rem;	
	}
.link-withdrawal {
	margin-top: 3rem;
}
.line-sns {
	line-height: 2;
	margin-top: .5rem;
}
/* カート */
/* WebKitブラウザでinput type="number" のスピンボタンを非表示 */
input.form-control[type="number"]::-webkit-outer-spin-button,
input.form-control[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}
/* Firefoxでinput type="number" のスピンボタンを非表示 */
input.form-control[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
  text-align: center;
  height: 38px;
	margin: 0 .5rem;
	    letter-spacing: .075rem;
}
button.btn-number {
  width: 38px;
    height: 38px;
    background: #eee;
    color: #111;
    font-size: 2rem;
    font-weight: 500;
    border-radius: 4px;
    margin: 0 0.25rem;
    /*border: solid 2px #111;*/
}
.input-group.flex-container {
	margin: .5rem auto .5rem .5rem;
	align-items: center;
}
.container-number-of-unit {
	margin-top: 1rem;
}
.container-number-of-unit .button-transparent {
	font-size: .9rem;
	margin-left: 1rem;
	margin-right: 0;
	font-weight: 500;
}
.number-of-unit-title {
	margin-right: .5rem;
}
.back-gray .button-color.button-transparent {
		background: transparent;
		border: 2px #111 solid;
		color: #111;
	}
.button-short {
	font-size: 1rem;
    margin: 0 auto;
    padding: 0.35rem 1rem;
	width: fit-content;
}
.delete, .delete:before {
	line-height: .85rem;
	vertical-align: middle;
}
.delete {
		color: #888;
	font-size: .85rem;
	}
	.delete:before {
		margin-right: .125rem;
		content: "×";
		line-height: 1.7rem;
		font-size: 1.7rem;
		display: inline-block;
		margin-top: -.25rem;
	}
.container-number-of-unit .delete {
	margin: 0.25rem auto 0 .25rem;
}
.selectbox-member {
    display: inline-flex;
    text-align: center;
    align-items: center;
    position: relative;
    width: 80%;
    margin: .5rem auto 1rem;
    left: 50%;
    transform: translateX(-50%);
}
.window-ex .selectbox-member {
	width: 100%;
	max-width: 100%;
	margin: 0 auto .5rem;
}
.selectbox-member::after {
    position: absolute;
    right: 1rem;
    width: 1rem;
    height: .5rem;
    background-color: #333;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}
.selectbox-member select {
    appearance: none;
    width: 100%;
    height: 3rem;
    padding: .4rem 2.5rem .4rem 1rem;
    border: none;
    border-radius: 3px;
    background-color: #f3f3f3;
    color: #111;
    font-size: 1.1rem;
	letter-spacing: .025rem;
    cursor: pointer;
}
@media screen and (min-width: 768px) {
	.selectbox-member {
		margin-top: 0;
				max-width: 400px;
	}
	.selectbox-member select {
		font-size: 1rem;
		height: 2.5rem;
	}
}
input[type="search"] {
  -webkit-appearance: textfield;
	 -webkit-appearance: none;
	  appearance: textfield;
	appearance: none;
}
input[type="search"]:focus {
  outline-style: none;
}
input[type="search"]::-webkit-search-decoration {
  display: none;
}
.search-check {
  display: none;
}
.search-label{
  display: block;
}
.search-container {
  height: 0;
  opacity: 0;
  padding: 0;
  transition: all 0.2s ease-out;
  visibility: hidden;
}
.search-container button {
	z-index: 2;
    position: absolute;
    height: 2.5rem;
	color: #fff;
	background: #111;
	right: 20px;
	border-radius: 0 4px 4px 0;
	padding-left: .75rem;
	padding-right: .75rem;
	letter-spacing: .025rem;
}
.search-check:checked + .search-label + .search-container {
  opacity: 1;
  padding: 0 0 2.5rem 0;
  visibility: visible;
	height: fit-content;
	margin-bottom: 2rem;
	font-weight: 700;
}
.search-box {
	-webkit-appearance: textfield;
	appearance: textfield;
	padding: .4rem calc(74px + .75rem) .4rem .75rem;
	height: 2.5rem;
	width: calc(100% - 40px);
	border: 2px solid #333;
	border-radius: 4px;
	background: #fff;
	position: absolute;
	left: 20px;
}
@media screen and (min-width: 768px) {
	.search-box {
		left: 0;
		    min-width: 400px;
	}
}
.tag-member {
	background: #eee;
	color: #111;
	padding: .25rem .75rem;
	display: inline-block;
	border-radius: 2px;
	font-size: .95rem;
}
.tag-member + .tag-member {
	margin-left: .75rem;
}
.works-img .tag-member {
	position: absolute;
	top: .25rem; left: .25rem;
	z-index: 3;
		background: rgba(255,255,255,.65);
}
.tag-member + .works-list {
	margin-top: 1rem;	
}

/* 吹き出し */
.balloon-problem {
    display: grid;
    gap: 2.75rem 0;
    padding: 0 40px 80px;
	position: relative;
	max-width: 960px;
    margin: 0 auto;
}
.balloon-problem__section {
    display: flex;
    align-items: center;
    gap: 0 1rem;
}
.balloon-problem__p {
    display: inline-block;
    position: relative;
    max-width: 75%;
    margin: 0 80px 0 auto;
    padding: 1.5rem 3rem;
    border-radius: 1000px;
    font-size: 1.4rem;
	color: #111d62;
	font-weight: 400;
	z-index: 1;
}
.balloon-problem__p span {
	font-weight: 800;
    font-size: 1.1em;
}
.balloon-problem__p.left-balloon {
    background-color: #e9ff9c;
}
.balloon-problem__p.right-balloon {
    background-color: #d4e4f9;
    margin: 0 auto 0 80px;
}
.balloon-problem__p::before {
	position: absolute;
    bottom: 5%;
    width: 40px;
    height: 50px;
    content: '';
    transform: rotate(35deg);
		z-index: 0;
}
.balloon-problem__p.left-balloon::before {
    left: -14px;
    border-radius: 0 0 0 25px;
    box-shadow: -8px -28px 0 -10px #e9ff9c inset;
    transform: rotate(-35deg);
}
.balloon-problem__p.right-balloon::before {
    right: -14px;
    border-radius: 0 0 25px 0;
    box-shadow: 8px -28px 0 -10px #d4e4f9 inset;
}
.image-problem {
	position: absolute;
	right: 180px;
	bottom: 0;
	width: 172px;
	z-index: 4;
}
@media screen and (max-width: 1000px) {
	.image-problem {
		right: 0;
	}	
}
@media screen and (max-width: 922px) {
	.bg-pentagon {
	font-size: 1.85rem;		
	}
}
@media screen and (max-width: 842px) {
	.balloon-problem__p {
	font-size: 1.2rem;	
	}
}
@media screen and (max-width: 767px) {
	.image-problem {
		width: 124px;
		right: 32px;
	}
}
.text-common {
	font-size: 1.1rem;
	font-weight: 400;
	line-height: 1.5;
}
.iconit-app .text-common a {
	color: #222;
	font-weight: 800;
	text-decoration: underline;
}
.iconit-app .text-common a:hover {
	opacity: .8;
}
.iconit-app .container-flex {
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
}
.w100 {
	width: 100%;
}
.iconit-app-icon {
	width: 9.25rem;
	margin: 0 100px 0 0;
}
.flow ol {
	display: block;
	margin: 0 auto;
	width: fit-content;
	font-size: 1.35rem; 
	  list-style: none;
  counter-reset: number;
}
.flow ol li {
  position: relative;
  margin-bottom: 2.5rem;
    padding: 1.25rem 5.25rem 1.25rem 4.5rem;
    background: linear-gradient(90deg, #d4e4f9 3.25rem, #edf2fa 3.25rem);
    border-radius: .5rem;
}
.flow ol li img {
	width: 2rem;
    position: relative;
	    top: 50%;
    transform: translateY(-50%);
margin: auto;
	display: block;
}
.icon-container_flow {
	width: 3.75rem;
    height: 3.75rem;
    position: absolute;
    border-radius: .75rem;
    top: 34%;
right: -1.125rem;
    transform: translateY(-50%);
    background: #fff;
    border: solid #edf2fa 5px;
}
@media screen and (max-width: 767px) {
.icon-container_flow {
right: 0;
	top: 50%;
	/*transform: none;*/
	}
}
.flow ol li::before {
	counter-increment: number;
    content: counter(number);
    position: absolute;
    top: 50%;
    left: .75rem;
    width: 2.5rem;
	font-size: 1.4rem;
    color: #222;
    padding: 0 .5rem 0 0;
	margin-top: .125rem;
    text-align: center;
    font-weight: 600;
    transform: translateY(-50%);
	border-right: solid #222 2px;
}
.flow ol li::after {
	content: "";
    display: block;
    position: absolute;
    bottom: -1.85rem;
    left: 50%;
    transform: translateX(-50%);
    height: calc(20px / 2* tan(60deg));
    width: 43px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background: #3e3eff;
}
.flow ol li:last-child::after {
	content: none;
}
.require {
	font-weight: 400;
	background: #fd445e;
	padding: .125rem .5rem;
	color: #fff;
	font-size: .8rem;
	border-radius: .25rem;
	margin-left: .35rem;
vertical-align: text-top;
}
.contact-item .note,
.contact-item .error-text,
.contact-item .red-text {
	font-size: .9rem;
	padding-left: .5rem;
	margin-top: .25rem;
}
.contact-item .error-text {
	color: #fd445e;
	font-size: 1.1rem;
	font-weight: 700;
}
.contact-item .red-text {
	color: #fd445e;
	padding-left: 0;
	margin-top: .5rem;
	font-weight: 500;
	letter-spacing: .025em;
}
.contact input[type="radio"] ,
.contact input[type="checkbox"] {
  filter: alpha(opacity=0);
  -moz-opacity:0;
  opacity:0;
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
}
.contact input[type="radio"]:focus + .radio-icon,
.contact input[type="checkbox"]:focus + .check-icon {
  box-shadow: 0 0 0 4px #d4e4f9;
}
.contact input[type="radio"] + .radio-icon {
    position: relative;
    vertical-align: middle;
    display: inline-block;
    box-sizing: border-box;
    width: 1.5rem;
    height: 1.5rem;
    margin-top: -.2rem;
    margin-right: 0.5rem;
    border-radius: 50%;
    border: 3px solid #ccc;
    background: #fff;
    box-shadow: none;
    transition: all 0.2s ease-out;
  }
.contact input[type="radio"]:acitive + .radio-icon,
.contact input[type="radio"]:focus + .radio-icon {
      border: 3px solid #3e3eff;
      background: #3e3eff;
      box-shadow: 0 0 0 4px #d4e4f9;
    }
 .contact input[type="radio"]:checked + .radio-icon {
      background: #3e3eff;
      border: 7px solid #fff;
	 position: relative;
}
 .contact input[type="radio"]:checked + .radio-icon::before {
	 content: "";
    border-radius: 1000px;
    position: absolute;
    top: -7px;
    left: -7px;
    width: calc(100% + 14px);
    height: calc(100% + 14px);
    background: transparent;
    border: 3px solid #3e3eff; 
}
 .contact label:hover .radio-icon {
  border: 1px solid #3e3eff;
  background: #3e3eff;
}
 .contact input[type="checkbox"] + .check-icon {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    box-sizing: border-box;
    width: 1.5rem;
    height: 1.5rem;
    margin-top: -.2rem;
    margin-right: .5rem;
    transition: all 0.2s ease-out;
}
 .contact input[type="checkbox"] + .check-icon:after{
      position: absolute;
      top: 0;
      left: 0;
      content: "";
      display: inline-block;
      box-sizing: border-box;
      width: 1.5rem;
      height: 1.5rem;
      border-radius: 4px;
      border: 3px solid #ccc;
      background: #fff;
      box-shadow: none;
      transition: all 0.2s ease-out;
	 margin-top: -.125rem;
  }
 .contact input[type="checkbox"]:checked + .check-icon:after {
        position: absolute;
        content: "";
        top: -.2rem;
        left: .4rem;
        width: 62%;
        height: 84%;
        transform: rotate(45deg);
        border : solid 3px transparent;
        border-bottom: 3px solid #3e3eff;
        border-right: 3px solid #3e3eff;     
        background: transparent;
        box-shadow: none;
  }
 .contact input[type="checkbox"]:focus + .check-icon {
      border-radius: 4px;
      box-shadow: 0 0 0 4px #d4e4f9;
}
 .contact input[type="checkbox"]:focus + .check-icon::after {
        border-radius: 4px;
        box-shadow: none;
    }
 .contact input[type="checkbox"]:not(:cheked) + .check-icon::after {
        border-color: #3e3eff;
  }
.contact label:hover input[type="checkbox"]:not(:checked) + .check-icon::after {
        border-color: #3e3eff;
        border-radius: 4px;
}
.price-image {
	width: 50%;
	padding: 0 1rem .5rem;
	margin-top: auto; margin-bottom: 0;
}
.circle-icon {
	width: 5.25rem;
    display: block;
    margin: 1.25rem auto 0;
}
.circle-icon + .circle-text {
    width: 100%;
    margin: -1rem auto 2rem;
}
@media screen and (max-width: 1025px) {
	.price-image {
		width: 40%;
		padding: 0 .25rem .5rem;
	}	
}
@media screen and (max-width: 898px) {
	.price-image {
		width: 37.5%;
		padding: 0 .25rem .5rem;
	}	
}
@media screen and (max-width: 872px) {
	.price-image {
		width: 31%;
		padding: 0 0 .5rem;
	}
	.price .container-small .text-large {
	    margin: 1rem 0 0 0;
	}
}
@media screen and (max-width: 767px) {
.contact input[type="checkbox"] + .check-icon {
	margin-right: .35rem;
}
.circle-icon {
	width: 4rem;
}
.circle-icon + .circle-text {
    margin: 0 auto 2rem;
	white-space: nowrap;
}
	.price .container-small .text-large {
		margin: 1.5rem 0 0 0;
	}
}
.icon-open {
	width: 1.75rem;
	height: 1.75rem;
	margin-left: .25rem;
}

/*media Queries 767
----------------------------------------------------*/
@media screen and (max-width: 767px) {
	html {
	font-size: 15px;
}
  body {
    font-size: 15px;
  }
  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
	.contact-item tr {
	display: flex;
    flex-wrap: wrap;	
	}
	.contact-item td, .contact-item th,
	.contact-item td.radio-container, .contact-item td.form_privacy {
	width: 100%;
		padding: .5rem 0;
	}
	.contact-item td {
		padding: .5rem 0 1rem;		
	}
	.contact-item.contact-item-confirm td {
		padding: .75rem 0 1.25rem 1rem;	
	}
	.flex-container:has(.form-submit) {
		flex-direction: column-reverse;
		flex-wrap: wrap;
	}
	.flex-container .form-submit,
	.flex-container .form-submit:nth-child(even) {
		width: 70%;
		margin: .75rem auto 2.25rem;
		max-width: inherit;
	}
	.flex-container .form-submit.form-return {
		box-shadow: 0 6px 0 #111d62;
	}
	.p-confirm {
		padding: 0;
		text-align: left;;
	}
	
  /* 見出し */
  .title {
    font-size: 28px;
    margin-bottom: 32px;
	 line-height: 1.35;
  }
	.title.title-large,
	.iconit-app .title.title-medium {
	font-size: 3rem;
		line-height: 1.3;
	}
	/*.title.title-large {
		background-size: 768px;
	}*/
	.title.title-large .numbers {
		margin: 0 .25rem -.35rem .4rem;
        display: inline-block;
        vertical-align: bottom;
        font-size: 1.2em;
	}
	.title.title-large .line {
	    margin-top: .75rem;	
	}
	.iconit-app .title.title-medium .inline-small {
	    font-size: 28px;	
	}
@media screen and (max-width: 600px) {
	.case .title.title-large,
	.iconit-app .title.title-medium {
		font-size: 2.5rem;
				line-height: 1.35;
	}
	.case .title.title-large .line {
		display: inline;
	}
	}
.subhead {
	font-size: 18px;
	margin-bottom: 17px; margin-top: 44px;
	text-align: left;
	}
  .lead {
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 20px;
  }
	.share {
		margin: .5rem 0 1rem;;
	}
	h1.header-logo a#header-color img {
		/*background: #fff;
		padding: .125rem;*/
		filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(69deg) brightness(108%) contrast(108%);
		margin-left: 0;
	}
h1.header-logo a#header-color.color-change img,
h1.header-logo a#header-color.color-change-blue img {	
	filter: invert(23%) sepia(84%) saturate(6206%) hue-rotate(242deg) brightness(107%) contrast(102%);
	}

  /* レイアウト */
  .wrapper {
    padding-top: 0;
	  width: 100%;
	  overflow: hidden;
	  position: relative;
  }
  .section {
    padding: 54px 0;
  }
	.section.sec-question {
    padding: 48px 0 0;
		margin-bottom: -.25rem;
	}
	.section.contact-page {
		padding-top: 90px;
		min-height: calc(100dvh - 51px);
	}
  .container,
	.price .container {
    padding: 0 20px;
  }
	
	.flow .container-small {
		min-width: 10px;
		width: 50%;
	    font-size: 1.2rem;
		font-weight: 600;
		line-height:1.35;
		letter-spacing: 0;
	}
	.container-small {
	    margin: 1rem .5rem 1rem 0;
}
	.container-small:nth-child(even) {
    margin: 1rem 0 1rem .5rem;
	}
	.price .container-flex {
		flex-wrap: wrap;	
	}
	.price .container-small,
	.price .container-small:nth-child(even) {
		 margin: 1.5rem 0 0;
			width: 100%;
		border-radius: .5rem;
	}
	.balloon-problem {
	padding: 0 0 110px;
		gap: 1.5rem 0;
	}
	.balloon-problem__section {
		display: block;
	}
	.balloon-problem__p {
		padding: 1.25rem 2.5rem;
		font-size: 1.1rem;
		max-width: 87.5%;
	margin: 0 0 0 12.5%;
	}
	.balloon-problem__p.right-balloon {
		margin: 0 12.5% 0 0;
	}
	.bg-pentagon {
		padding: 16px 4px 28px;
		line-height: 1.5;
		font-size: 1.175rem;
	}
	.more, .menu .button-color, .form-submit {
		    margin: 2rem auto 0;
		padding: 1rem 0 1.25rem;
		width: 70%;
		font-size: 1.4rem;
		box-shadow: 0 8px 0 #ce133b;
	}
	 .form-submit {
	box-shadow: 0 8px 0 #111d62;
	transform: translate(-50%, 100%);	 
	}
	.bg-pentagon + .more {
    margin-bottom: 48px;
}
	.container-one {
		padding: 1rem 1.5rem 1rem 2rem;
    font-size: 1.1rem;
		line-height: 1.6;
		border-radius: .5rem;
	}
	.container-paleblue {
		padding: 1rem 1.75rem 1.25rem;
		font-size: 1rem;
		/*text-align: left;*/
		line-height: 1.35;
	}
	.container-paleblue .marker {
		display: inline-block;
		margin-top: .35rem;
	}
	.aid {
	    font-size: 1.15rem;	
	}
	.case .aid {
    margin: 2.5rem auto -1rem;
	}
	.flow ol {
		font-size: 1.25rem;
	}
	.flow ol li {
    padding: 1rem 4rem 1rem 4.25rem;
		border-radius: .5rem;
	}
	.iconit-app-icon {
	width: 20%;
	margin: 2rem auto -.5rem;
}
	.container-small h3 {
		font-size: 1.5rem;
	}
	.container-one:not(.container-paleblue)::before {
	    /*width: 8px;*/
	top: -74px;
	left: -74px;
}
	.section.iconit-app {
		background-size: 75%;
	}
  /* ヘッダー */
.header {
    background-color: rgba(255,255,255,0);
    box-shadow: 0 5px 10px -6px rgba(0,0,0,0);
	backdrop-filter: none;
	}	

  .header .container {
    padding: 15px 20px;
  }
  .header-logo {
    font-size: 15px;
    margin-right: 15px;
  }
  .gnav-item a:after {
    display: none;
  }
.drawer_btn span {
	display: block;
	width: 3rem;
	height: 2px;
	background: #333;
	margin-bottom: .5rem;
}
	.dark .header-logo a {
		color: #fff;
	}
.drawer_btn span:last-child {
	margin-bottom: 0;		
}	

  /*  メインビジュアル */
  .mv {
  align-items: center;
  justify-content: center;
padding-left: 0;
  height: 528px;
		background-size: cover;
	  background: #638af1;
	  z-index: 0;
}
.mv-img {
position: absolute;
    z-index: -1;
    object-fit: cover;
    height: 80%;
        min-height: 80%;
        object-position: 60% 55%;
        top: 12.5%;
}
	.mv-top::before {
content: "";
		display: block;
		background: linear-gradient(to bottom, #638af1 0%, #7ca3f1 12.25%, transparent 25%,  transparent 80%, #89a9f2 92.5%);
		height: 100%;
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
  .mv-container {
    padding: 72px 20px 0;
  }
  .mv-title {
	  color: #fff;
    font-size: 3rem;
	  line-height: 1.35;
  }
  .mv-subtitle {
    font-size: 1.5rem;
    margin-bottom: 12px;
	  margin-top: 12px;
	  color: #fff;
	  font-weight: 500;
  }
	.mv-list {
    font-size: 1.175rem;
    margin-top: /*1.25rem*/.25rem;
		line-height: 1.35;
    font-weight: 500;
    padding: 0 24px;
	}
	.mv-list li {
		margin-bottom: .75rem;
		background: linear-gradient(to top, transparent 0, transparent .125rem, #3e3eff .125rem, #3e3eff .45rem, transparent .45rem);
		line-height: 1.5;
		letter-spacing: .05em;
		font-weight: 600;
	}
	.mv-list li::before {
    content: "";
    top: -.1rem;
    transform: none;
	}
  .mv-text {
    font-size: 14px;
    line-height: 1.7;
  }

  /* MENU */
  .menu-list {
    display: block;
    margin-bottom: 0;
  }
  .menu-item {
    width: 100%;
    margin-bottom: 35px;
  }
  .menu-item:last-child {
    margin-bottom: 0;
  }
  .menu-name {
    margin-bottom: 5px;
  }
  .menu-text {
    font-size: 13px;
    line-height: 1.7;
  }


  /* フッター */
  .footer {
    padding: 20px; 
  }
	.footer-link {
		    justify-content: left;
    flex-wrap: wrap;
	}
	.footer-link a {
		width: 50%;
		padding: 4px 0;
	}
	.content {
	min-height: calc(100dvh - 206px);
	}
	

	.button-color, .login, .button-transparent {
		width: 45%;
	}
	.button-short {
		width: fit-content;
	}
	.height-lump .button-transparent {
	width: 30%;
	}
.button-color:nth-child(odd) {
	margin-left: 0; margin-right: 5%;
	}
	.height-lump .container.center .button-color:nth-child(odd),
	.height-lump .container.center .button-color:nth-child(even) {
		margin-left: auto; margin-right: auto;	
	}
		.height-lump .container.container-flex .button-transparent {
		font-size: 1.15rem;
	margin: .25rem auto 0;
	}
	.paging a, .paging span {
		    margin: 3rem 0.5rem 1rem;
	}
	.paging a.button-color:nth-child(odd),
	.paging span.button-color:nth-child(odd) {
		margin-right: .5rem;
	}
	.button-color.button-fit:nth-child(odd),
	.button-color.button-fit:nth-child(even) {
		margin-right: auto; margin-left: auto;
	}
	
.button-color:nth-child(even) {
	margin-left: 5%; margin-right: 0;
	}
	.paging a, .paging span,
	.paging a.button-color:nth-child(even), .paging span.button-color:nth-child(even) {
	margin-left: 0.25rem;
		margin-right: 0.25rem;
	}
	.contact-item.sns-icon {	
		margin-bottom: 1.5rem;
	}
	.contact-item.sns-icon img {
	width: 2rem;
	height: 2rem;
}
	.contact-list {
		z-index: 1;
	}
	.pc-column > div:nth-child(2){
		margin-top: 1.5rem;
	}
	.back-gray {
		padding: 1.25rem;
	}
	.back-gray .caution {
		margin-top: 0;
	}
	.back-gray .button-color {
		width: 50%;
		font-size: 1rem;
		margin: 0.75rem auto 0;
	}
	.back-gray.caution-member .button-color:nth-child(odd) {
		margin-right: .75rem; margin-left: 0;
	}
	.back-gray.caution-member .button-color:nth-child(even) {
		margin-left: .75rem; margin-right: 0;
	}
	.contact-item td.form_privacy label {
		    line-height: 1.4;
	}
	
}

@media screen and (min-width: 768px) {
	.pc-column {
	display: flex;
		/*flex-direction:row-reverse;*/
}
	.pc-column > div {
		margin-right: 1rem;
		width: calc(50% - 1rem);
	}
	.pc-column > div:nth-child(2n) {
	margin-right: 0; margin-left: 1rem;	
	}
	.pc-column-inner .container {
		padding: 26px 30px;
    background: #fff;
    border-radius: 4px;
    margin: 0.5rem 0;
	}
	.pc-column-inner .container:first-child {
		margin-top: 0;
	}
		.pc-center {
	text-align: center;
}	
	.tag01 {
		font-size: .9rem;
		font-weight: 500;
		    margin: 0 0 0 .35rem;
	}
	main {
	min-height: calc(100dvh - 238px);
	}
	.frame-scroll {
		padding: 1.25rem;
	}
	.input-normal {
		width: 75%;margin: 0 auto;
    display: block;
	}
	.button-color.button-fit {
		padding: 1rem 2rem;
	}
	.text-fix.fix-mail {
		text-align: center;
	}
	
	.input-normal + .caution {
	display: block;
	width: 75%;
	margin: .5rem auto 0;
}
	.button-color.button-fit.button-narrow {
		min-width: 30%;
				max-width: 400px;
	}
	.back-gray .caution {
		text-align: center;
		margin: 0;
	}
	.confirmation-list {
		padding: 26px 30px 48px ;
    background: #fff;
    margin: 24px 0;
}
}

	@media screen and (min-width: 600px) {
		details, main {
	position: relative;
}
		.mv.mv-avatar {
position: relative;
    width: 375px;
    overflow-x: hidden;
    overflow-y: scroll;
    margin: 0 auto; 
			min-height: calc(664px - 66px);;
		}
		.avatar-full .mv.mv-avatar {
			width: 480px;
		}
		.btn-container {
	position: absolute;
    width: 375px;
			margin: auto;
		height: auto; min-height: calc(100dvh - 66px);
    left: 50%;
    transform: translate(-50%);
}
		.mv.mv-avatar::-webkit-scrollbar {
			display:none;
		}
		.height-lump::-webkit-scrollbar {
			display:none;
		}
	#window-ex {
    max-width: 750px;
		}
}
	@media screen and (min-width: 768px) {
		.menu-checkbox, .menu-background { display:none; }
		.gnav-item.gnav-lock a {
		margin-right: 1.5rem;
}
		.header .icon-lock {
		    top: -0.5rem;
    right: -1.8rem;	
		}
		.drawer-menu .gnav-small {
			display: none;
		}
}
@media screen and (max-width: 767px) {
/* チェックボックスを非表示 */
.menu-checkbox {
  display: none;
}
/* メニューボタンの装飾 */
.menu-button {
  display: block;
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 200;
  height: 20px;
  width: 40px;
  cursor: pointer;
}
.menu-button::before,
.menu-button::after {
  content: '';
  transition: all 0.2s ease-out;
}
	.header-logo a {
		color: #fff;
	}
	.menu-button span,
	.header-logo a#header-color {
  transition: all 0.2s ease-out;		
	}

.menu-button::before,
.menu-button::after,
.menu-button span {
  display: block;
  position: absolute;
  left: 0;
  height: 2px;
  width: 100%;
  margin-top: -1px;
  background-color: #fff;
}

.menu-button.color-change::before,
.menu-button.color-change::after,
	.menu-button.color-change span,
	.menu-button.color-change-blue::before,
.menu-button.color-change-blue::after,
	.menu-button.color-change-blue span {
  background-color: #3e3eff ;		
	}
.menu-button::before {
  top: 0;
}
.menu-button::after {
  bottom: 0;
}
.menu-button span {
  top: 50%;
}

/* メニューボタンのアニメーション */
.menu-checkbox:checked ~ .menu-button::before {
  top: 50%;
  transform: rotate(30deg);
	background: #fff;
}
.menu-checkbox:checked ~ .menu-button::after {
  top: 50%;
  transform: rotate(-30deg);
		background: #fff;
}
.menu-checkbox:checked ~ .menu-button span {
  display: none;
}

/* ドロワーメニューの装飾 */
.drawer-menu {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 200;
  height: 100%;
  width: 65vw;
  transform: translateX(-100%);
  transition: .5s;
  background-color: #fff;
}
.drawer-menu ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
	flex-wrap: wrap;
}
.drawer-menu a {
  /*display: block;*/
  padding: 20px;
  color: #3e3eff;
  text-decoration: none;
}
	.drawer-menu .gnav-small a {
	  padding: 12px 12px 12px 30px;	
	}
	.drawer-menu .gnav-large a {
		padding-bottom: 10px;
	}
.gnav-item:not(:last-child) {
 	margin-right: 0;
		width: 100%;
}
	.gnav-item a {
		font-size: 1.1rem;
	}
	.gnav-item a img {
		width: 9rem;
		filter: invert(23%) sepia(84%) saturate(6206%) hue-rotate(242deg) brightness(107%) contrast(102%);
	}
	.gnav-item.gnav-small a {
		font-size: .9rem;
	}
	.gnav-item {
		position: relative;
	}
	.gnav-item label {
		height: 100%; width: 100%;
		position: absolute;
    display: block;
    top: 0;
	}
	.gnav-item.gnav-contact .header-contact {
		        border-radius: 1000px;
        color: #fff;
        background: #3e3eff;
        margin: 12px 20px;
        padding: 1rem 3rem;
	}
.drawer-menu .gnav-item.gnav-lock a {
	color: #fd445e;
	}

/* ドロワーメニューの開閉 */
.menu-checkbox:checked ~ .drawer-menu {
  transform: translateX(0);
}

/* ドロワーメニューの背景 */
.menu-background {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 111;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, .5);
  cursor: pointer;
}
.menu-checkbox:checked ~ .menu-background {
  display: block;
}
}

.icon-back {
	width: 3rem;
	height: 3rem;
	position: relative;
}
.icon-back::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    width: 40%;
    height: 40%;
    transform: translate(-50%, -50%) rotate(-45deg);
    border: solid 3px transparent;
    border-top: 3px solid #111;
    border-left: 3px solid #111;
    background: transparent;
    box-shadow: none;
}
.icon-back::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    width: 3px;
    height: 50%;
    transform: translate(-50%, -50%) rotate(-90deg);
    background: #111;
}
.button-small {
		font-size: .9rem;
}
.container-btn-small {
	padding: 0 1rem;
}
.is-hidden {
  visibility: hidden;
  opacity: 0;
}
.button-center {
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.5rem;
}
.modal-normal {
	left: 0;
}
.modal-content-normal {
	background: rgba(0,0,0,.9);
    border-radius: 0.5rem;
    border: 2px solid #fff;
	overflow: hidden;
	    max-width: 640px;
	color: #fff;
}
.red {
	color: #fd445e;
}
@media screen and (min-width:600px) and ( max-width:767px) {
	.flow .container-small {
	width: 30%;
	}	
}
@media screen and (min-width:526px) and ( max-width:599px) {
	.flow .container-small {
	width: 40%;
	}
}
@media screen and (max-width:526px) {
	 .iconit-app .title.title-medium {
	font-size: 2.25rem;
	}
	.iconit-app .title.title-medium .inline-small {
		font-size: .75em;
	}
	.iconit-app-icon {
		width: 25%;
        margin: .75rem auto -.5rem;
}
}
@media screen and (min-width:768px) and ( max-width:1024px) {
    .iconit-app-icon {
        width: 17.5%;
        margin: 2rem auto -.5rem;
    }
	.mv {
  height: 488px;
}
}
.error  {
	line-height: 1.75;
}
.error li {
	color: #fd445e;
	list-style: none;
	padding-left: calc(.75rem + 1rem);
	position: relative;
}
.error li::before {
	content: "*";
	color: #fd445e;
	position: absolute;
	left: 1.125rem;
	top: calc(50% + .075rem);
	transform: translateY(-50%);
	font-weight: 700;
}
@media screen and (max-width:767px) {
	.error {
		line-height: 1.65;
		margin-bottom: .5rem;
	}
	.error li {
		padding-left: 1rem;
	}
	.error li::before {
		left: .25rem;
	}
}