@charset 'UTF-8';
body {
	font-family: "M PLUS Rounded 1c", sans-serif;
	transform:rotateZ(0.03deg);
}
pre {
	line-height:2;
	font-family: "M PLUS Rounded 1c", sans-serif;
	white-space: pre-wrap;
}
a:link {
	color:#ff8c00;
}
.inner._large {
    --width: 1820px;
}
.header-ID a {
	font-size:30px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	color:#ffae00;
	font-weight:bold;
	display:flex;
	gap:20px;
	text-decoration:none;
	line-height:1.4;
	align-items:center;
}
.header-ID a img {
	width:18%;
}
.header-ID a span {
	display:block;
	font-size:24px;
	color:#666;
}
.header-list {
    grid-template-columns: repeat(var(--column, 1), 1fr) !important;
    gap: var(--gap, 5px) !important;
}
.header-list li {
	border:none;
}
.header-list li._mail a {
	background: linear-gradient(#ffae00, #ff8400);
	padding: 12px 20px;
	border-radius:5px
}
.header-list li._tel a {
	font-size:20px;
	line-height:1.0;
	color: #ff8400;
	display:flex;
	align-items:center;
	gap:5px;
}
#mg-wprm-wrap ul li a {
	font-weight:bold;
}
.mv {
	width:100%;
	background:url(../images/common/mv.jpg);
	background-size:cover;
}
.mv-wrap {
	padding: 100px 0px 100px 100px;
}
.mv-menu {
	justify-content:center;
	display:flex;
	gap:20px;
}
.mv-menu li a {
	display:block;
	width: 240px;
	height: 240px;
	color:#fff;
	font-size:40px;
	font-weight:bold;
	padding-block-start:30%;
	background:linear-gradient(#ffae00, #ff8400);
	border-radius:99999px;
	text-align:center;
	text-decoration:none;
}
.mv-menu li a span {
	font-size:24px;
}
.mv-menu li a span {
	display:block;
}
h1.mv-text {
	color:#fff;
	font-size:28px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	margin-block-start:30px;
}
h1.mv-text span {
	font-size:54px;
	font-weight:bold;
	background: linear-gradient(#ffae00, #ff8400);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display:block;
}
.mv-list {
    grid-template-columns: repeat(var(--column, 3), 1fr) !important;
    gap: var(--gap, 20px) !important;
}
.mv-list li {
	color:#fff;
	font-size:45px;
	border:none;
	background:#23d0b1;
	padding-block:10px;
	text-align:center;
}
.title-02._index {
	color:#666;
    font-size: clamp(2.8rem, 3.6vw, 3.6rem);
	font-family: "M PLUS Rounded 1c", sans-serif;
    line-height: 1.4;
    display: block;
    width: 100%;
    text-align: left;
}
.title-02._index:before,
.title-02._index:after {
	display:none;
}
.title-02._index br {
	display:block;
}
.title-02._index span {
	color:#fcae08;
    font-size: clamp(2.8rem, 4.4vw, 4.4rem);
}
.title-03._index {
	color:#666;
    font-size: clamp(2.8rem, 3.6vw, 3.6rem);
	font-family: "M PLUS Rounded 1c", sans-serif;
    line-height: 1.2;
    display: block;
    text-align: center;
	margin:auto;
}
.title-03._index span {
	display:block;
	color:#fcae08;
    font-size: clamp(1.8rem, 2.4vw, 2.4rem);
}
.title-03._index span {
	position: relative;
	display:inline-block;
}
.title-03._index span:before,
.title-03._index span:after {
	position: absolute;
    top: 48%;
    width: 6rem;
    border-top: 2px solid;
    content: '';
}
.title-03._index span:before {
    left: -8rem;
}

.title-03._index span:after {
    right: -8rem;
}
.title-04._index {
	color:#fcae08;
    font-size: clamp(2.0rem, 2.4vw, 2.4rem);
	font-family: "M PLUS Rounded 1c", sans-serif;
    text-align: center;
	border-bottom:2px solid #fcae08;
	padding-block-end:10px;
	margin-block:20px;
}
.title-05._index {
	color:#666;
    font-size: clamp(2.4rem, 3.0vw, 3.0rem);
	font-family: "M PLUS Rounded 1c", sans-serif;
}
.title-06._index {
	color:#fff;
    font-size: clamp(1.8rem, 3.0vw, 3.0rem);
	background:#23d0b1;
	padding:10px 20px;
	text-align:center;
}
.title-07._index {
	color:#fcae08;
    font-size: clamp(2.0rem, 2.4vw, 2.4rem);
	font-family: "M PLUS Rounded 1c", sans-serif;
    text-align: left;
	border-bottom:2px solid #fcae08;
	padding-block-end:10px;
	margin-block:10px 20px;
}
.title-08._index {
	color:#fff;
    font-size: clamp(1.8rem, 2.1vw, 2.1rem);
	font-family: "M PLUS Rounded 1c", sans-serif;
    text-align: center;
	background:#fcae08;
	padding:5px 10px;
	margin-block:0 10px;
}
.title-sub01 {
	color:#23d0b1;
	font-size: clamp(3.6rem, 4.8vw, 4.8rem);
	font-weight:bold;
}
.index-01 .flex-text {
	align-items:center !important;
	line-height:2.0;
}
.index-02 {
	background:url(../images/common/section2-bg.png);
    padding-block:100px;
    border-radius: 0px;
}
.index-02 > div {
	width: min(100% - 0rem, 1620px);
	text-align:center;
	margin:0px auto;
}
.index-02 .block {
	width:100%;
}
.index-02 .block pre {
	text-align:left;
}
.flex3 {
	display:grid !important;
	grid-template-columns: repeat(var(--column, 3), 1fr);
	align-items:stretch;
}
.index-03 {
	display:block !important;
}
.index-03 > div {
	width: min(100% - 4rem, 1620px);
	text-align:center;
	margin:100px auto;
}
.index-03 .wrap {
	gap:0;
}
.index-03 .wrap .block {
	width:50%;
	text-align:left;
	background: inherit;
	padding:0;
}
.index-03 .wrap:nth-child(odd) .block:nth-child(1),
.index-03 .wrap:nth-child(even) .block:nth-child(2) {
	padding:30px;
}
.index-03 .wrap .block img {
	width:100%;
}
.index-03 .wrap .block .title-05._index {
	margin-block-end:20px;
}
.index-04 {
	background:#ff8c00;
}
.index-04:before {
	background: url(../images/common/section4-bg.jpg) center bottom / contain no-repeat;
	width: min(100%, 740px);
}
.index-04 > div {
	color:#fff;
    width: min(100% - 4rem, 1000px);
	position: inherit;
	z-index:2;
}
.index-04 .title-03._index {
	color:#fff;
}
.index-04 .title-03._index span {
	color:#fff;
}
.index-04 .text {
	display:inline-block;
	color:#ff8c00;
    font-size: clamp(1.6rem, 2.0vw, 2.0rem);
	font-weight:bold;
	text-align:left;
	padding:7px 20px;
	background:#fff;
	margin-block-start:30px;
}
.index-05 {
	background:url(../images/common/section5-bg.jpg) bottom left ;
	background-repeat:no-repeat;
	padding-block-end: 100px;
}
.index-05 > div {
    width: min(100% - 4rem, 1200px);
	margin:auto;
}
.case ul li {
	font-family: "M PLUS Rounded 1c", sans-serif;
	background:#fff7e9;
	padding:20px;
	box-shadow: 0 0 20px gray;
	margin-block-start:30px;
	border-radius:5px;
}
.case ul li figure img {
	width:100%;
}
.case ul li h2 {
	font-family: "M PLUS Rounded 1c", sans-serif;
	margin-block-end:20px;
}
.case ul li h2 > a {
	color:#ff8c00;
    font-size: clamp(2.0rem, 2.4vw, 2.4rem);
	font-weight:bold;
	text-decoration:none;
}

.case2 {
	background:#f0f0f0;
	padding:20px;
	border-radius:5px;
}
.case2 h3 {
	color:#fcae08;
    font-size: clamp(2.0rem, 2.4vw, 2.4rem);
	font-family: "M PLUS Rounded 1c", sans-serif;
    text-align: left;
	border-bottom:2px solid #fcae08;
	padding-block-end:10px;
	margin-block:0px 10px;
}

.index-06 .wrap .block {
	position:relative;
}
.index-06 .wrap .block figure img {
	border-radius:5px !important;
}
.index-06 .wrap .block .text-block {
	font-family: "M PLUS Rounded 1c", sans-serif;
	position:absolute;
	bottom:20px;
	right:0;
	left:0;
	margin:auto;
	text-align:center;
}
.index-06 .wrap .block .text-block h3 {
	color:#fff;
	font-weight:bold;
	font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: clamp(2.4rem, 3.0vw, 3.0rem);
	margin-bottom:10px;
}
.index-06 .wrap .block .text-block .btn2 a {
	position:relative;
	color:#fff;
	font-size:1.8rem;
	font-weight:bold;
	text-decoration:none;
	padding-inline-start:25px;
}
.index-06 .wrap .block .text-block .btn2 a:before {
	content:"";
	position:absolute;
	top:2px;
	left:0;
	background:url(../images/common/arrow02.png);
	background-repeat:no-repeat;
	width:12px;
	height:20px;
}

.btn {
	text-align:center;
	margin-block-start:20px;
}
.btn a {
	color:#fff;
	font-weight:bold;
    display: inline-flex;
    padding: 10px 20px;
	background: linear-gradient(#ffae00, #ff8400);
}
.btn a:before {
	display:none;
}
.btn a:after {
	display: block;
    width: 12px;
    height: 13px;
    content: '';
    background: url(../images/common/arrow01.png) center / contain no-repeat;
}
.fsbig{
    font-size: clamp(2.0rem, 2.5vw, 2.5rem);
}
.step {
	display:inline-block;
	color:#fff;
	font-weight:bold;
	font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: clamp(2.0rem, 2.4vw, 2.4rem);
	background:#23d0b1;
	padding:10px 20px;
}
.step span {
	color:#fcae08;
	background:#fff;
	border-radius:99999px;
	padding:5px 20px;
}
.step-text {
	border:2px solid #fcae08;
	padding:20px;
}
.question {
	display:flex;
	align-items:center;
	width:80%;
	background:#fff7e9;
	padding:30px;
	margin-right:auto;
	border-radius:10px;
	gap:20px;
}
.question:before {
	content:url(../images/common/q-icon.png);
}
.answer {
	display:flex;
	align-items:start;
	width:80%;
	background:#fbf0f2;
	padding:30px;
	margin-block-start:20px;
	margin-left:auto;
	border-radius:10px;
	gap:20px;
}
.answer:before {
	content:url(../images/common/a-icon.png);
}
.choose div {
	display:grid;
	grid-template-columns: repeat(var(--column, 3), 1fr) !important;
	align-items: stretch;
	gap:20px;
}
.choose ul {
	background:#f0f0f0;
	padding:20px;
}
.choose ul li:first-child {
	font-size:2.0rem;
	font-weight:bold;
	text-align:center;
    margin-block-end: 20px;
}
.choose ul li:first-child span {
	border-bottom:2px solid #fcae08;
	padding:0 10px 10px 10px;
}
.choose ul li:last-child {
	margin-block-start:10px;	
}
.ihin-flow .block {
	background:#f0f0f0;
	padding:20px;
}
.flow-icon {
	display:inline-block;
	background:#23d0b1;
	border-radius:9999px;
	padding:5px 20px;
	font-weight:bold;
	color:#fff;
}

.ihin-flow .block ul li:before {
	content:"■";
	color:#23d0b1;
	padding-right:5px;
}
.ihin-flow .block ul li:marker {
	color:#fbf0f2;
}
.case pre span {
	display:inline-block;
	color:#fff;
	background:#23d0b1;
	border-radius:9999px;
	padding:5px 15px;
	margin-block-end:10px;
}
@media screen and (max-width: 1300px) {
	.nav > ul {
		gap: 10px;
	}
}
	
@media screen and (max-width: 1200px) {
	.title-sub01 {
		font-size: clamp(2.8rem, 4vw, 4rem);
	}
	.index-03 .wrap .block .title-05._index {
		font-size: clamp(2.0rem, 2.4vw, 2.4rem);
	}
}
@media screen and (max-width: 1000px) {
	.btn a {
		gap:5px;
		padding: 10px 15px;
	}
	.flex3 {
		gap:20px;
	}
	.index-03 .wrap:nth-child(even) {
		flex-direction:column;
	}
	.index-03 .wrap:nth-child(odd) {
		flex-direction:column-reverse;
	}
	.index-03 .wrap .block {
		width:80%;
	}
	.index-03 .wrap:nth-child(odd) .block:nth-child(1),
	.index-03 .wrap:nth-child(even) .block:nth-child(2) {
    	padding: 0px;
	}
	.index-03 .wrap .block img {
		margin-block-start:40px;
	}
	.index-03 .wrap:nth-child(2) .block img {
		margin-block-start:0px;
	}
	.index-06 .wrap {
		gap:20px;
	}
	.index-07 {
		background-size:contain;
	}
	.choose div {
		gap:10px;
	}
	.choose ul {
		padding:10px;
	}
	.choose ul li:first-child span {
		padding:0 5px 5px 5px;
	}
}
@media screen and (max-width: 834px){
	html {
		padding-top: 0px !important;
	}
	.header-ID a {
		font-size:24px;
		}
	.header-ID a span {
		font-size:20px;
	}
	.header-item._tel a img {
		width:15%;
	}
	.header-list li._mail a {
		padding: 12px 15px;
	}
	.mv {
		grid-template-columns: repeat(var(--column, 1), 1fr) !important;
	}
	.mv-wrap {
    	padding: 4%;
	}
	.mv-menu li a {
		width: 200px;
		height: 200px;
	    font-size: 30px;
	}
	.mv-menu li a span {
		font-size: 20px;
	}
	h1.mv-text span {
    	font-size: 48px;
	}
	.flex3 {
		grid-template-columns: repeat(var(--column, 1), 1fr);
	}
	.index-02 .flex3 div {
		width:80% !important;
		margin-inline:auto;
		margin-block-end:40px;
	}
	.index-02 .flex3 div:last-child {
		margin-block-end:0;
	}
	.case ul li > div {
		gap:20px;
	}
	.index-06 .wrap .block .text-block h3 {
		font-size: clamp(2.0rem, 2.4vw, 2.4rem);
	}
	.index-06 .wrap .block .text-block .btn2 a {
		font-size: 1.5rem;
	}
	.index-06 .wrap .block .text-block .btn2 a:before {
		top: 3px;
		background-size: 9px;
		width:9px;
	}
	.choose div {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	.choose ul {
		padding:20px;
	}
	.question {
		width: 100%;
	}
	.answer {
		width: 100%;
		margin-left: 0;
	}
	.ihin-flow > div {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media screen and (max-width: 768px){
	html {
		padding-top: 0px !important;
	}
}
@media screen and (max-width: 640px){
	.header-list {
		grid-template-columns: repeat(var(--column, 2), 1fr) !important; 
	}
	.mv-menu {
    	gap: 10px;
	}
	.mv-menu li a {
        width: 150px;
        height: 150px;
        font-size: 24px;
    }
	   .mv-menu li a span {
        font-size: 17px;
    }
	h1.mv-text {
		font-size: 20px;
	}
	h1.mv-text span {
        font-size: 36px;
    }
	.mv-list li {
        font-size: 36px;
	}
	.flex-text {
		flex-direction:column;
	}
	.case ul li > div {
		flex-direction:column;
	}
	.index-06 .wrap {
		flex-direction:column;
	}
	.index-06 .wrap .block .text-block h3 {
		font-size: clamp(2.4rem, 3.0vw, 3.0rem);
	}
	.index-06 .wrap .block .text-block .btn2 a {
		font-size: 1.8rem;
	}
	.index-06 .wrap .block .text-block .btn2 a:before {
		top: 2px;
		background-size: 12px;
		width:12px;
	}
	.contact-item {
		padding: 20px 40px;
	}
	.choose ul {
		padding:10px;
	}
	.ihin-flow > div {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
	.ihin-service > div {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}
@media screen and (max-width: 550px){
	.choose > div {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
	}
	.choose ul {
		padding:20px;
	}
}
@media screen and (max-width: 480px){
	html {
		padding-top: 0px !important;
	}
	.header-ID a span {
        font-size: 18px;
    }
	.header-ID a {
        font-size: 21px;
    }
	.header-list {
		align-items:center;
	}
	.header-list li._tel {
        padding: 0;
    }
	.header-list li a {
        font-size: 1.5rem;
    }
	.header-list li._tel a {
		font-size:19px;
	}
	h1.mv-text {
		font-size: 16px;
		margin-block-start: 10px;
	}
	h1.mv-text span {
		font-size: 28px;
    }
	.mv-menu {
		flex-wrap:wrap;		
	}
	.mv-list {
		margin-top: 10px;
	}
	.mv-list li {
		font-size: 28px;
	}
	.index-01 .title-02._index {
		font-size: clamp(2.6rem, 3.6vw, 3.6rem);
	}
	.index-01 .title-02._index br {
    	display: none;
	}
	.index-02 {
		padding-block: 60px;
	}
	.index-02 .flex3 div {
		width:100% !important;
	}
	.index-03 .wrap .block {
		width:100%;
	}
	.index-03 > div {
		margin: 60px auto;
	}
	.index-04:before {
    	width: min(60%, 740px);
	}
	.faq-item._question:before {
		right: 15px;
	}
	.q_and_a {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
	}
	.question,
	.answer {
		flex-direction:column;
	}
	.answer {
	    align-items: center;
	}
}