*{
	margin: 0;
	padding: 0;
}

body{
	width: 100%;
	font-family: noto-sans-cjk-jp, sans-serif;
	font-size: 16px;
	font-weight: normal;
	color: #343434;
	margin: auto;
	box-sizing: border-box;
}

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

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

.tx_red{
	color: #E90012;
}

.page_top {
	width: 100%;
	margin: 0 auto;
}

.page_top a{
	display: block;
	text-align: center;
	text-decoration: none;
	color: #ffffff;
	background: #13AE67;
	padding: 1rem;
	font-size: 1.125rem;
	font-weight: 700;
}

#head{
	min-height: 700px;
	position: relative;
	background-image: url(../image/top-bg.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: right 30% center;
}

#head .tx_box{
    position: relative;
    max-width: 840px;
    width: 100%;
    height: 700px;
    align-content: center;
	padding: 3.75rem 0 3.75rem 3.75rem;
    box-sizing: border-box;
    z-index: 1;	
}

#head .tx_box::before{
    content: "";
    position: absolute;
    max-width: 420px;
    width: 100%;
    height: 100%;
    background: #ffffff;
    clip-path: polygon(0 0, 100% 0, 60% 100%, 0% 100%);
    left: 0;
    top: 0;
    z-index: -1;
}

h1{
	font-size: 4rem;
	font-weight: 900;
	line-height: 5rem;
    margin-bottom: 5rem;
}

h1 strong{
	font-size: 5rem;
	color: #00913A;
}

ul.point-list{
	position: relative;
	max-width: 420px;
	width: 100%;
}

ul.point-list li{
	position: relative;
	width: 100%;
	min-height: 60px;
	font-size: 1.25rem;
	font-weight: 700;
	color: #ffffff;
	background: #00913A;
	align-content: center;
	margin-bottom: 1.875rem;
	padding-left: 60px;
	box-sizing: border-box;
	border-radius: 1.875rem;
}

ul.point-list li:nth-child(1){
	right: -3.75rem;
}

ul.point-list li:nth-child(2){
	right: -2.5rem;
}

ul.point-list li:nth-child(3){
	right: -1.25rem;
}

ul.point-list li:last-child{
	margin-bottom: 0;
}

ul.point-list li::before{
	content: "";
	position: absolute;
	width: 40px;
	height: auto;
	aspect-ratio: 1 / 1;
	left: 10px;
	top: 0;
	bottom: 0;
	margin: auto;
	background-image: url(../image/top-point.png);
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center;
}

.inner{
    overflow: clip;
	padding: 5rem 1rem;
}

.inner.bg-ble{
	padding-top: 7.5rem;
	background: #CEE6EF;
}

.inner.bg-grn{
	background: #E9EDD4;
}

.inner.bg-org{
	background: #FFF2DE;
}

.inner.bg-yel{
	padding-bottom: 7.5rem;
	background: #FFFCDB;
}

.inner.kojya{
	overflow: visible;
	position: relative;
	padding: 10rem 1rem 7.5rem;
	background: #F9EFE8;
	z-index: 1;
}

.inner.kojya::before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	opacity: .7;
	background-image: url(../image/cont-bg.png);
	background-position: left 30% top;
	background-repeat: no-repeat;
	background-size: 100% auto;
	left: 0;
	top: 0;
	z-index: -1;
}

.col2{
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	margin: auto;
}

.col2.question{
	max-width: 1600px;
	width: 100%;
    align-items: center;
    justify-content: space-between;
}

.col2.question .img_box,
.col2.question .point_box{
	max-width: 720px;
	width: 50%;
}

.col2.question .point_box{
	position: relative;
    justify-items: center;
    align-content: center;
	z-index: 1;
}

.col2.question .point_box::before{
    content: "";
    position: absolute;
    width: 60vw;
    height: 110vh;
    aspect-ratio: 1 / 1;
    border-radius: 100%;
    background: #E2F4BE;
    z-index: -1;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.col2.question .point_box h2{
	position: relative;
	max-width: 480px;
	width: 100%;
	min-height: 120px;
	text-align: center;
	align-content: center;
	font-size: 2rem;
	line-height: 2.5rem;
	color: #FAED00;
	background: #F4682A;
	border-radius: 1rem;
	margin-bottom: 2.5rem;
}

.col2.question .point_box h2::before{
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-top: 40px solid #F4682A;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	left: 0;
	right: 0;
	bottom: -1.25rem;
	margin: auto;
}

.col2.question .point_box ul{
    max-width: 450px;
    width: 100%;
    margin-left: 1.875rem;
}

.col2.question .point_box ul li{
    position: relative;
    width: 100%;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 2rem;
    padding: 1rem 3.75rem;
    box-sizing: border-box;
    border-radius: 1rem;
    background: #ffffff;
}

.col2.question .point_box ul li:last-child{
	margin-bottom: 0;
}

.col2.question .point_box ul li::before{
	content: "";
    position: absolute;
	width: 60px;
	height: auto;
	aspect-ratio: 1 / 1;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center;
	left: -1.875rem;
	top: -0.625rem;
	z-index: 1;
}

.col2.question .point_box ul li:nth-child(1)::before{
	background-image: url(../image/question-icon01.png);
}

.col2.question .point_box ul li:nth-child(2)::before{
	background-image: url(../image/question-icon02.png);
}

.col2.question .point_box ul li:nth-child(3)::before{
	background-image: url(../image/question-icon03.png);
}

ul.all-bg{
	width: 100%;
	display: flex;
	margin: 0;
}

ul.all-bg li{
	width:calc(100% / 2);
	min-height: 420px;
    align-content: center;
    justify-items: center;
    padding: 2rem;
    box-sizing: border-box;
}

ul.all-bg li:nth-child(odd){
	background: #00913A;
}

ul.all-bg li:nth-child(even){
	background: #B0DD68;
}

ul.all-bg li h3{
	position: relative;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 2rem;
	text-align:center;
	color: #FDFFE5;
	margin-bottom: 1.5rem;
	padding-top: 7.5rem;
	padding-bottom: 1.5rem;
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 80px;
}

ul.all-bg li:nth-child(even) h3{
	color: #343434;
}

ul.all-bg li.coding h3{
	background-image: url(../image/point-icn01.png);
}

ul.all-bg li.database h3{
	background-image: url(../image/point-icn02.png);
}

ul.all-bg li.upper h3{
	background-image: url(../image/point-icn03.png);
}

ul.all-bg li h3::before{
	content: "";
	position: absolute;
	max-width: 140px;
	width: 100%;
	height: 0;
	border-bottom: 2px solid #FDFFE5;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

ul.all-bg li:nth-child(even) h3::before{
	border-color: #343434;
}

ul.all-bg li p{
	font-size: 1.125rem;
	line-height: 1.5rem;
	color: #ffffff;
}

ul.all-bg li:nth-child(even) p{
	color: #343434;
}

h4{
	position: relative;
	text-align: center;
	font-size: 1.75rem;
	line-height: 100%;
	margin-bottom: 2.5rem;
	padding-bottom: 1.5rem;
}

h4::before{
	content: "";
	position: absolute;
	width: 120px;
	height: 0;
	border-bottom: 1px solid;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

.inner h5{
	position: relative;
	max-width: 460px;
    width: 100%;
    min-height: 80px;
    text-align: center;
    align-content: center;
    font-size: 1.5rem;
    font-weight: 700;
    color: #E60012;
    background: #ffffff;
    border-radius: 1rem;
    margin: auto;
    margin-bottom: 2.5rem;
	filter: drop-shadow(0 0 2px #332214bc);
}

.inner h5::before{
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-top: 40px solid #ffffff;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	left: 0;
	right: 0;
	bottom: -1.25rem;
	margin: auto;
}

ul.jisseki-list{
	max-width: 1180px;
	width: calc(100% - 2rem);
	display: flex;
	flex-direction: row;
	margin: auto;
	justify-content: space-between;
}

ul.jisseki-list.wrap{
	flex-wrap:wrap;
}

.inner.bg-ble ul.jisseki-list{
	margin-bottom: 5rem;
}

ul.jisseki-list.cl2{
	max-width: 780px;
}

ul.jisseki-list.single{
	max-width: 360px;
}

ul.jisseki-list li{
	max-width: 360px;
	width: calc(100% - 1rem);
    margin: 0 0.5rem;
	filter: drop-shadow(0 0 2px #000000bc);
}

ul.jisseki-list.wrap li:nth-child(-n+2){
	margin-bottom: 2.5rem;
}

ul.jisseki-list li a{
	display: block;
	padding: 1.25rem;
	background: #cccccc;
	text-decoration: none;
	color: #ffffff;
	font-size: 1.125rem;
	font-weight: 700;
	border-radius: 1rem;
}

.inner.bg-ble ul.jisseki-list li a{
	background: #445496;
}

.inner.bg-grn ul.jisseki-list li a{
	background: #8DC21F;
}

.inner.bg-org ul.jisseki-list li a{
	background: #F7B52C;
}

.inner.bg-yel ul.jisseki-list li a{
	background: #FAED00;
	color: #000000;
}

ul.jisseki-list li a span{
	display: block;
}

ul.jisseki-list li a span.img_area{
	overflow: hidden;
    border-radius: 1rem;
    margin-bottom: 1rem;
}

ul.jisseki-list li a span.tx_area{
	position: relative;
	min-height: 1.875rem;
	align-content: center;
}

ul.jisseki-list li a span.tx_area::before{
	content: "";
	position: absolute;
	width: 30px;
	height: auto;
	aspect-ratio: 1 / 1;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	background-image: url(../image/arrow-circle.png);
	background-size: 100% auto;
	background-position: center;
	background-repeat: no-repeat;
}

.inner.bg-yel ul.jisseki-list li a span.tx_area::before{
	filter: brightness(0);
}

.partner-box{
	max-width: 1040px;
	width: 100%;
	display: flex;
	align-items: center;
	margin: auto;
}

.partner-box .budge{
	max-width: 360px;
	width: 40%;
	background: #ffffff;
	padding: 1.25rem;
	border-radius: 1.25rem;
	box-sizing: border-box;
	filter: drop-shadow(0 0 3px #000000bc);
}

.partner-box .tx_box{
	width: calc(65% + 2.75rem);
    margin-left: -2.5rem;
}

.partner-box .tx_box .midasi h3{
    font-size: 2.25rem;
    font-weight: 900;
    line-height: 3rem;
    padding: 1rem 1.25rem 1rem 4.75rem;
    background: #445496;
    color: #FAED00;
    border-radius: 1rem 1rem 0 0;
}

.partner-box .tx_box .detail{
    padding: 1.5rem 1.5rem 1.75rem 4.75rem;
    background: #ffffff;
    border-radius: 0 0 1rem 1rem;
}

.partner-box .tx_box .detail p{
	line-height: 1.75rem;
	margin-bottom: 1.5rem;
}

.partner-box .tx_box .detail .contact{
	max-width: 240px;
	width: 100%;
}

.partner-box .tx_box .detail .contact a{
	display: block;
	width: 100%;
    min-height: 60px;
	font-size: 1.25rem;
	font-weight: 700;
	color: #FAED00;
	border-radius: 1rem;
	text-decoration: none;
	text-align: center;
	align-content: center;
	background: #445496;
}

.inner.kojya h3{
	position: absolute;
	font-size: 2rem;
    line-height: 2.5rem;
    max-width: 600px;
    min-height: 120px;
    text-align: center;
    color: #ffffff;
    align-content: center;
    background: #E95513;
    border-radius: 1rem;
    top: -2.5rem;
    left: 0;
    right: 0;
    margin: auto;
}

ul.col3{
	max-width: 1180px;
	width: calc(100% - 2rem);
	display: flex;
	justify-content: space-between;
	margin: auto;
	margin-bottom: 5rem;
}

ul.col3 li{
    position: relative;
    max-width: 360px;
    width: calc((100% / 3) - 1rem);
    min-height: 280px;
    align-content: end;
    text-align: center;
    padding: 2.5rem 1rem;
    box-sizing: border-box;
    background: #ffffff;
    border-radius: 1rem;
}

ul.col3 li::before{
	content: "";
	position: absolute;
	max-width: 110px;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	top: 2rem;
	left: 0;
	right: 0;
	margin: auto;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center;
}

ul.col3 li.manage::before{
	background-image: url(../image/kojya-icn01.png);
}

ul.col3 li.repeat::before{
	background-image: url(../image/kojya-icn02.png);
}

ul.col3 li.mentenance::before{
	background-image: url(../image/kojya-icn03.png);
}

ul.col3 li p{
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 2rem;
}

.more_btn{
	text-align: center;
	margin: auto;
}

.more_btn a{
	position: relative;
	display: block;
	max-width: 480px;
	width: calc(100% - 2rem);
	min-height: 100px;
	text-align: center;
	align-content: center;
	text-decoration: none;
	color: #ffffff;
	font-weight: 700;
	margin: auto;
	background: #66B72F;
	font-size: 1.5rem;
	line-height: 2rem;
	border-radius: 1rem;
	overflow: hidden;
	transition-duration: .2s;
	z-index: 2;
}

.more_btn a::after {
	background: #00812A;
	border-radius: 50%;
	content: "";
	display: block;
	margin: auto;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	width: 100%;
	padding-top: 100%;
	height: 0;
	z-index: -1;
	transform: translateY(-50%) scale(0.1);
	transition: opacity .3s, transform 0s;
	transition-delay: 0s, .2s;
}
 
.more_btn a:hover {
	color: #fff;
}

.more_btn a:hover::after {
	opacity: 1;
	transform: translateY(-50%) scale(1.1);
	transition-delay: 0s;
	transition: opacity .8s, transform .3s ease-in-out;
}


#footer .inner{
	padding: 6.25rem 2rem 7.5rem;
	box-sizing: border-box;
}

#footer .inner p{
	font-size: 22px;
	font-weight: 500;
	text-align: center;
	line-height: 2rem;
}

.contact_box{
	max-width: 340px;
	text-align: center;
	margin: auto;
}

.contact_box h5{
	font-size: 1.25rem;
	line-height: 3rem;
}

.contact_box p{
	font-size: 1.125rem;
	margin-bottom: 3rem;
}

.contact_box p.tel_box{
	position: relative;
	max-width: 320px;
	padding-left: 3rem;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 3rem;
	letter-spacing: 0.5px;
	text-align: left;
	color: #E20E0E;
	margin: auto;
	margin-bottom: 2.5rem;
	box-sizing: border-box;
}

.contact_box p.tel_box small{
	display: inline-block;
	font-size: 1.125rem;
	font-weight: 400;
	letter-spacing: 1px;
	color: #000000;
}

.contact_box p.tel_box::before{
	content: "";
	position: absolute;
	width: 40px;
	height: 50px;
	background-image: url(../image/tel_icn.png);
	background-size: 100% auto;
	background-position: center;
	background-repeat: no-repeat;
	left: 0;
	top: 0;
}

.mail_btn{
	max-width: 580px;
	width: calc(100% - 2rem);
	margin: 0 auto 7.75rem;
}

.mail_btn a{
	position: relative;
	display: block;
	width: 100%;
	min-height: 80px;
	padding-left: 2.5rem;
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: 2px;
	text-align: center;
	text-decoration: none;
	color: #ffffff;
	align-content: center;
	background: #E95513;
	border-radius: 0.5rem;
	box-sizing: border-box;
}

.mail_btn a::before{
	content: "";
	position: absolute;
	width: 40px;
	height: 40px;
	background-image: url(../image/mail_icn.png);
	background-size: 100% auto;
	background-position: center;
	background-repeat: no-repeat;
	top: 0;
	bottom: 0;
	left: 10rem;
	margin: auto;
}


.exit_top{
	margin: auto;
	text-align: center;
}

.exit_top a{
	position: relative;
	display: block;
	max-width: 180px;
	width: 100%;
	height: 50px;
	text-decoration: none;
	color: #E95513;
    align-content: center;
	margin: auto;
	padding-left: 1rem;
	border: 2px solid #E95513;
	border-radius: 0.5rem;
	box-sizing: border-box;
}

.exit_top a::before{
	content: "";
	position: absolute;
	width: 12px;
	height: 12px;
	background-image: url(../image/arrow-icn.png);
	background-size: 100% auto;
	background-position: center;
	background-repeat: no-repeat;
	top: 0;
	bottom: 0;
	left: 2rem;
	margin: auto;
}


.mail_btn a:hover,
.mail_btn a:focus,
.exit_top a:hover,
.exit_top a:focus{
	opacity: .7;
}

.copyright {
	padding: 2.25rem 2rem;
}

.copyright p{
	text-align: center;
	font-size: 0.75rem;
}

@media screen and ( max-width:1280px ){
	#head {
		min-height: 600px;
	}
	
	h1{
		font-size: 3rem;
		line-height: 4rem;
		margin-bottom: 2.5rem;
	}
	
	h1 strong{
		font-size: 4rem;
	}
	
	#head .tx_box {
		max-width: 680px;
		height: 600px;
	    padding: 2.5rem 0 2.5rem 3.75rem;
	}
	
	ul.point-list li {
	    min-height: 50px;
    	margin-bottom: 1.5rem;
	}
	
	ul.point-list li::before {
	    width: 32px;
	}
	
	ul.all-bg li h3 {
    	position: relative;
    	font-size: 1.375rem;
	}
}

@media screen and ( max-width:1080px ){
	.inner.bg-lig{
		padding-bottom: 0;
		margin-bottom: -1.5rem;
	}
	
	.col2.question {
    	flex-direction: column-reverse;
	}
	
	.col2.question .img_box,
	.col2.question .point_box {
		position: relative;
    	width: 100%;
	}
	
	.col2.question .img_box{
		z-index: 2;
	}
	
	.col2.question .point_box{
    	max-width: none;
        margin-bottom: 1.5rem;
		z-index: 1;
	}
	
	.col2.question .point_box::before {
		width: 150%;
		height: 150%;
	    border-radius: 0 0 100% 100%;
	    left: -25%;
	}
	
	ul.all-bg {
        position: relative;
        flex-direction: column;
        z-index: 2;
	}
	
	ul.all-bg li {
		display: flex;
		width: 100%;
		min-height: auto;
        align-items: center;
	}
	
	ul.all-bg li h3 {
		max-width: 320px;
		width: 100%;
		margin-bottom: 0;
		margin-right: 1.25rem;
        padding-top: 6.25rem;
		padding-bottom: 0;
		background-position: top 10px center;
		background-size: 60px;
	}
	
	ul.all-bg li h3::before{
		display: none;
	}
	
	ul.all-bg li p {
		width: calc(100% - (320px + 1.25rem));
	}
	
	h5 {
		max-width: 400px;
		min-height: 60px;
		font-size: 1.25rem;
	}
	
	ul.jisseki-list {
		max-width: 780px;
		flex-wrap: wrap;
	}
	
	ul.jisseki-list li {
	    width: calc(50% - 1rem);
	}
	
	ul.jisseki-list.single li{
		width: 100%;
	}
	
	ul.jisseki-list li:nth-child(n+3){
		margin-top: 2.5rem;
	}
	
	ul.jisseki-list.wrap li:nth-child(-n+2){
		margin-bottom: 0;
	}
	
	.partner-box {
    	flex-direction: column;
	}
	
	.partner-box .budge {
		margin-bottom: -1.75rem;
		max-width: 280px;
		width: 100%;
	}
	
	.partner-box .tx_box {
        max-width: 780px;
        width: 100%;
        margin: auto;
	}
	
	.partner-box .tx_box .midasi h3 {
        text-align: center;
		font-size: 1.75rem;
		line-height: 2.5rem;
		padding: 2.5rem 1.5rem 1rem 1.5rem;
	}
	
	.partner-box .tx_box .detail {
	    padding: 1.5rem 1.5rem 1.75rem 1.5rem;
	}
	
	.partner-box .tx_box .detail .contact {
		margin: auto;
	}
}

@media screen and ( max-width:960px ){
	#head {
        min-height: 540px;
    }
	
    #head .tx_box {
        position: absolute;
        max-width: 640px;
        height: 100%;
        left: -1.25rem;
        top: 0;
        bottom: 0;
        margin: auto;
    }

	h1{
		font-size: 2.5rem;
		line-height: 3.5rem;
		margin-bottom: 2rem;
	}
	
	h1 strong{
		font-size: 3.25rem;
	}
	
	ul.point-list{
		max-width: 340px;
	}
	
	ul.point-list li {
        font-size: 1rem;
        margin-bottom: 1rem;
	}
	
	.inner.kojya {
		padding: 7.5rem 1rem 5rem;
	}
	
	.inner.kojya h3 {
		font-size: 1.5rem;
		line-height: 2rem;
		max-width: 480px;
		min-height: 100px;
	}
	
	ul.col3 {
    	flex-wrap: wrap;
	}
	
	ul.col3 li{
		max-width: none;
		width: calc((100% / 2) - 1rem);
	}
	
	ul.col3 li:first-child{
		width: 100%;
		margin-bottom: 1.25rem;
	}
}
@media screen and ( max-width:768px ){
	h1 {
        position: absolute;
        padding: 1rem 2rem;
        border-top-right-radius: 2rem;
        border-bottom-right-radius: 2rem;
        background: #ffffff;
        font-size: 2rem;
        line-height: 2.5rem;
		margin: auto;
        top: 4rem;
        left: 0;
    }
	
	h1 strong {
        font-size: 2.5rem;
    }
	
	ul.point-list {
        position: absolute;
        max-width: 320px;
        bottom: 2.5rem;
        left: 2rem;
    }
	
	#head .tx_box{
		max-width: none;
        padding: 0;
        width: 100%;
        top: auto;
        left: 0;
        margin: auto;
        z-index: 3;
    }
	
	#head .tx_box::before {
		display: none;
	}
	
	ul.point-list li {
		max-width: 320px;
		padding-left: 40px;
	    margin-bottom: 1.5rem;
	}
	
	ul.point-list li::before {
	    width: 24px;
	}
	
	ul.point-list li:nth-child(1),
	ul.point-list li:nth-child(2),
	ul.point-list li:nth-child(3){
		right: 0;
	}
		
    .col2.question .point_box::before {
        height: 200%;
	}
	
	.col2.question .point_box h2 {
		max-width: 430px;
		min-height: 100px;
		font-size: 1.5rem;
		line-height: 2rem;
	}
	
	.col2.question .point_box ul {
        max-width: 360px;
    }
	
	.col2.question .point_box ul li {
		font-size: 1.125rem;
    	padding: 1rem 2.5rem;
	}
	
	
    ul.all-bg {
        flex-direction: column;
    }
	
	ul.all-bg li {
		display: block;
	}
	
	ul.all-bg li h3 {
        max-width: none;
        text-align: center;
        font-size: 1.25rem;
		line-height: 1.75rem;
        margin-bottom: 1.25rem;
        margin-right: 0;
        padding-bottom: 1.25rem;	
	}
	
	ul.all-bg li h3::before{
		display: block;
	}
	
    ul.all-bg li p {
        width: 100%;
    }
	
	.inner h5 {
		max-width: 340px;
		font-size: 1.25rem;
	}
	
	ul.jisseki-list.single{
		max-width: 780px;
	}
	
	ul.jisseki-list li {
        max-width: 480px;
        width: 100%;
        margin: auto;
		margin-bottom: 1.5rem;
    }
	
	ul.jisseki-list li:nth-child(n+3) {
        margin-top: 0;
    }
	
	ul.jisseki-list li:last-child {
		margin-bottom: 0;
	}
	
	ul.jisseki-list.wrap li:nth-child(-n+2){
		margin-bottom: 1.5rem;
	}
	
	ul.jisseki-list li a{
		display: flex;
	}
	
	ul.jisseki-list li a span.img_area {
		max-width: 160px;
		width: 100%;
		margin-right: 1rem;
		margin-bottom: 0;
	}
	
	ul.jisseki-list li a span.tx_area {
        font-size: 1rem;
	    width: calc(100% - 160px);
	}
	
	.partner-box .tx_box .midasi h3 {
        font-size: 1.5rem;
        line-height: 2rem;
	}
	
	ul.col3 li p{
        font-size: 1.25rem;
	}
	
	#footer .inner {
    	padding: 5rem 2rem 5rem;
	}
}

@media screen and ( max-width:640px ){	
	.inner.kojya h3 {
        font-size: 1.25rem;
        line-height: 1.75rem;
        width: calc(100% - 4rem);
        min-height: 80px;
    	top: -1.25rem;
    }
	
	ul.col3 {
		margin-bottom: 3.75rem;
	}
	
	ul.col3 li {
        width: 100%;
		margin-bottom: 1.25rem;
		min-height: 200px;
		padding: 1.5rem 1rem;
	}
	
	ul.col3 li::before {
		max-width: 80px;
	}
	
	ul.col3 li:last-child {
		margin-bottom: 0;
	}

	ul.col3 li p{
        font-size: 1.125rem;
        line-height: 1.5rem;
	}
	
	.more_btn a {
        width: 100%;
    	min-height: 80px;
		font-size: 1.25rem;
		line-height: 1.75rem;
	}
	
	#footer .inner p {
		font-size: 1rem;
	}
	
	.mail_btn {
		max-width: 360px;
	}
	
	.mail_btn a::before {
		left: 3rem;
	}
}

@media screen and ( max-width:540px ){
    h1 {
        text-align: center;
        max-width: 360px;
		padding: 1rem;
        border-radius: 2rem;
        font-size: 1.75rem;
        line-height: 2.25rem;
        right: 0;
        margin: auto;
		filter: drop-shadow(0 0 2px #00000066);
    }
	
	h1 strong {
        font-size: 2.25rem;
    }
	
	#head .tx_box::before {
		display: block;
		max-width: none;
		background: #ffffffbc;
		clip-path: unset;
	}
	
    ul.point-list {
        left: 0;
        right: 0;
        margin: auto;
	}
	
	.partner-box .tx_box .midasi h3 {
        font-size: 1.375rem;
        line-height: 1.75rem;
    }
	
	ul.jisseki-list li a {
        flex-direction: column;
	}
	
	ul.jisseki-list li a span.img_area{
		max-width: none;
		margin-right: 0;
		margin-bottom: 1rem;
	}
	
	ul.jisseki-list li a span.tx_area{
		width: 100%;
	}
}