/*----------------------------------
全体
----------------------------------*/

body {
	background: none;
    font-family: Arial, Roboto, "“Droid Sans”", “メイリオ”, Meiryo, "“ヒラギノ角ゴ ProN W3″", "“Hiragino Kaku Gothic ProN”", sans-serif;
    word-break: break-all;
    text-size-adjust: none;
}

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

.wrapper-in {
	margin: 0 auto;
	width: 95%;
}

a:hover img {
	opacity: 1;
}

.full-95 {
	height: auto;
	margin: 0 auto;
	width: 95%;
}

.pc {
	display: none;
}

.mobi {
	display: block;
}

.mtb20 {
	margin-top: 2.5% !important;
	margin-bottom: 2.5% !important;
}

.mt20 {
	margin-top: 2.5% !important;
}

.mb20 {
	margin-bottom: 2.5% !important;
}

.mtb40 {
	margin-top: 5% !important;
	margin-bottom: 5% !important;
}

.mt40 {
	margin-top: 5% !important;
}

.mb40 {
	margin-bottom: 5% !important;
}

.mtb60 {
	margin-top: 10% !important;
	margin-bottom: 10% !important;
}

.mt60 {
	margin-top: 10% !important;
}

.mb60 {
	margin-bottom: 10% !important;
}

.ptb20 {
	padding-top: 2.5% !important;
	padding-bottom: 2.5% !important;
}

.pt20 {
	padding-top: 2.5% !important;
}

.pb20 {
	padding-bottom: 2.5% !important;
}

.ptb40 {
	padding-top: 5% !important;
	padding-bottom: 5% !important;
}

.pt40 {
	padding-top: 5% !important;
}

.pb40 {
	padding-bottom: 5% !important;
}

.ptb60 {
	padding-top: 10% !important;
	padding-bottom: 10% !important;
}

.pt60 {
	padding-top: 10% !important;
}

.pb60 {
	padding-bottom: 10% !important;
}

/*----------------------------------
文字スタイル
----------------------------------*/

.black-b {
	background: #000;
	box-sizing: border-box;
	color: #fff;
	padding: 2.5%;
}

.y-line {
	border-bottom: 3px solid #ffc700;
	color: #ffc700;
}

.f-24 {
	font-size: 18px;
	line-height: 28px;
}

.f-27 {
	font-size: 18px;
	line-height: 28px;
}

.f-31 {
    font-size: 18px;
    line-height: 28px;
}

.f-31.t-center {
	text-align: left;
}

.f-41 {
    font-size: 5.5vw;
    line-height: 7.5vw;
}

/*----------------------------------
header
----------------------------------*/

header.mobi {
	width: 100%;
}

header.mobi ul {
	overflow: hidden;
	width: 100%;
}

header.mobi ul li {
	float: left;
}

header.mobi ul li:first-child {
    background: #191919;
    box-sizing: border-box;
    width: 60%;
}

header.mobi ul li:last-child {
	width: 40%;
}

header.mobi ul li:last-child a {
    background: #028C5A;
    box-sizing: border-box;
    color: #fff;
    display: block;
    padding: 2.5% 0;
	text-decoration: none;
    width: 100%;
}

header.mobi ul li img {
	height: auto;
	width: 100%;
}

.tel-text-1 {
	font-weight: bold;
	font-size: 4vw;
	line-height: 4vw;
	margin-bottom: 2.5%;
	text-align: center;
}

.tel-text-2 {
    box-sizing: border-box;
    font-weight: bold;
    font-size: 4.7vw;
    line-height: 4.7vw;
    margin: 0 auto 0.5%;
    padding-left: 17%;
    position: relative;
    text-align: center;
    width: 95%;
}

header.mobi ul li .tel-text-2 img {
    height: auto;
    left: 0;
    position: absolute;
    top: 1px;
    width: 15%;
}

.tel-text-3 {
	font-weight: bold;
    font-size: 3vw;
    line-height: 4vw;
	text-align: center;
}

@media(min-width: 320px) {

	header.mobi ul li:first-child {
	    padding: 4.5% 2.5%;
	}

}

@media(min-width: 375px) {

	header.mobi ul li:first-child {
	    padding: 4.65% 2.5%;
	}

}

@media(min-width: 568px) {

	header.mobi ul li:first-child {
	    padding: 4.6% 2.5%;
	}

}

@media(min-width: 667px) {

	header.mobi ul li:first-child {
	    padding: 4.65% 2.5%;
	}

}

/*----------------------------------
ページ部分
----------------------------------*/

.page-in-w {
	background: #fff;
	box-shadow: none;
	box-sizing: border-box;
	margin: 0 auto;
	overflow: hidden;
	width: 100%;
}

.page-in-y {
	background: #FFC700;
	box-shadow: none;
	box-sizing: border-box;
	margin: 0 auto;
	overflow: hidden;
	width: 100%;
}

.page-in-gray {
	background: #f3f3f3;
	box-shadow: none;
	box-sizing: border-box;
	margin: 0 auto;
	overflow: hidden;
	width: 100%;
}

.top-img {
	padding: 2.5% 2.5% 10%;
}

.top-text strong {
	display: block;
	margin: 0 auto;
	text-align: center;
	width: 95%;
}

.top-text .f-39 {
    font-size: 4.8vw;
    line-height: 6.8vw;
}

.top-text .f-56 {
    font-size: 6.3vw;
    line-height: 8.3vw;
}

.nayami {
    margin-top: 0;
}

.contact-line {
    background: #1e1e1e;
    border: 0;
    box-sizing: border-box;
    height: 15px;
    margin: 0;
}

.contact-section {
    background: #fff;
    border-top: 5px solid #028b58;
    border-bottom: 5px solid #028b58;
    box-sizing: border-box;
    padding: 5% 0;
}

.contact-mail {
	height: auto;
	margin: 0 auto 2.5%;
	width: 95%;
}

.contact-tel {
	height: auto;
	margin: 0 auto;
	width: 70%;
}

.text-1 {
    float: none;
    font-weight: bold;
    font-size: 6vw;
    line-height: 6vw;
    margin-top: 2.5%;
    text-align: center;
}

.text-2 {
    box-sizing: border-box;
    color: #028b58;
    display: block;
    float: none;
    font-weight: bold;
    font-size: 11.5vw;
    line-height: 11.5vw;
    margin-top: 5px;
    margin: 2.5% auto 0;
    padding-left: 18%;
    position: relative;
    width: 90%;
}

.text-2 a {
	color: #028b58;
	text-decoration: none;
}

.text-2 img {
    left: 0;
    height: auto;
    position: absolute;
    top: 0;
    width: 18%;
}

.text-3 {
    font-weight: bold;
    font-size: 4vw;
    line-height: 4vw;
    margin-top: 1.5%;
}

.about-bg {
    margin: 15% 0 5%;
    padding: 10% 2.5% 2.5%;
}

.about-img {
    height: auto;
    margin: -10% auto 0;
    top: 0;
    width: 20%;
}

.about-bg h2 {
    font-size: 9vw;
    line-height: 11vw;
    margin: 5% 0;
}

.about-list li {
    font-size: 18px !important;
    line-height: 23px !important;
    min-height: 13vh;
    padding: 2.5% 0 2.5% 22%;
}

.about-list li:first-child {
	min-height: 11.5vh;
}

.num {
	background: 0;
    border: 0;
    border-radius: 0;
    font-size: 8vw;
    line-height: 8vw;
    height: auto;
    margin-top: 2%;
    margin-left: -3%;
    position: absolute;
    width: 27%;
}

.num::before {
	color: #FFC700;
	content: "●";
    font-size: 38vw;
	left: 0;
	position: absolute;
}

.num::after {
    color: #fff;
    content: "●";
    font-size: 33vw;
    left: 0;
    margin: 1% 0 0 6%;
    position: absolute;
}

.num-mobi {
	left: 0;
    margin: 11% 0 0 28.5%;
	position: absolute;
	z-index: 10;
}

.service-text-2 {
    border-top: 5px dotted #ccc;
    box-sizing: border-box;
    font-size: 18px;
    line-height: 28px;
    margin-top: 5%;
    padding-top: 5%;
}

.service-big {
    border: 5px solid #000;
    font-size: 10vw;
    line-height: 12vw;
    margin: 20px auto;
    padding: 2.5%;
    width: 100%;
}

.black-title {
    font-size: 6vw;
    line-height: 8vw;
    margin: 5% 0;
    padding: 2.5%;
}

.yazirushi {
	height: auto;
	width: 30%;
}

.main-info {
	margin: 10% 0 5%;

}

.main-img {
	height: auto;
	margin-bottom: 2.5%;
	width: 40%;
}

.wrapper-title {
	margin: 0 auto;
	width: 92%;
}

.main-title {
	text-align: center;
}

.main-info h2 {
	font-size: 23px;
	line-height: 28px;
	margin-bottom: 5%;
}

.page-in-y .main-info h2 {
	border-bottom: 3px solid #fff;
}

.main-info h2::before {
    content: "“";
    left: -15px;
    position: absolute;
    top: -10px;
}

.main-info h2::after {
    content: "”";
    position: absolute;
    right: -15px;
    top: -10px;
}

.main-text {
	font-size: 18px;
	line-height: 28px;
}

.keyword-dl dt {
	font-size: 23px;
	line-height: 28px;
	padding: 10px 2.5%;
}

.keyword-dl dd {
	font-size: 18px;
	line-height: 28px;
	padding: 2.5%;
}

.keyword-dl dd img {
	height: auto;
	width: 100%;
}

.keyword-dl dd img.right {
	height: auto;
	margin: 0 0 2.5% 2.5%;
	width: 30%;
}

.tasya-list-in .t-left {
	line-height: 5vw;
	text-align: left;
}

.tasya-list-1 {
	float: left;
	margin-right: 2.5%;
	width: 48.75%;
}

.tasya-list-1 li {
    font-size: 3vw;
    line-height: 10vw;
    height: 7vh;
    margin-bottom: 6%;
    padding: 2.5%;
}

.tasya-list-1 li:last-child {
	margin-bottom: 0;
}

.tasya-list-1 li.tasya-title-1 {
	background: #4a4a4a;
	box-sizing: border-box;
	color: #fff;
    font-size: 8vw;
    line-height: 10vw;
}

.tasya-list-2 {
	float: right;
	width: 48.75%;
}

.tasya-list-2 li {
    font-size: 3vw;
    line-height: 10vw;
    height: 7vh;
    margin-bottom: 6%;
    padding: 2.5%;
}

.tasya-list-2 li:last-child {
	margin-bottom: 0;
}

.tasya-list-2 li.tasya-title-2 {
	background: #BF1921;
	box-sizing: border-box;
	color: #fff;
    font-size: 8vw;
    line-height: 10vw;
}

.service {
    margin-left: 9%;
    margin-bottom: 5%;
    padding: 2.5% 2.5% 2.5% 10%;
    width: 88%;
}

.service-num {
    font-size: 50px;
    line-height: 60px;
    left: 0;
    height: 60px;
    margin: -10% 0 0 -12%;
    top: 0;
    width: 60px;
}

.service-title {
	margin-bottom: 5%;
}

.service-title h3 {
	float: none;
	font-size: 23px;
	line-height: 33px;
}

.service-title .step {
	background: #FFECA7;
	box-sizing: border-box;
	border-radius: 20px;
	color: #1b1b1b;
	float: right;
	font-weight: bold;
	font-size: 20px;
	line-height: 20px;
	padding: 10px;
	text-align: center;
	width: 160px;
}

.service-text-in {
	font-size: 18px;
	line-height: 28px;
}

.contact-line-2 {
    height: 20px;
}

.contact-green-b {
	font-size: 16px;
	line-height: 21px;
	padding: 5% 2.5%;
}

.contact-green-b h2 {
    font-size: 7.5vw;
    line-height: 9.5vw;
    margin-bottom: 2.5%;
}

.contact-dl {
	font-size: 18px;
	line-height: 28px;
	margin: 0 auto;
	text-align: center;
	width: 100%;
}

.contact-dl dt {
	background: #fff;
	color: #028b58;
	font-weight: bold;
	font-size: 23px;
	line-height: 33px;
	padding: 10px 2.5%;
	text-align: center;
}

.contact-dl dd {
	box-sizing: border-box;
	border: 5px solid #fff;
	border-top: 0;
	padding: 2.5%;
}

.contact-dl dd strong {
	font-size: 40px;
	line-height: 50px;
}

.price-text {
    margin: 0 auto;
    width: 225px;
}

.price-info {
	font-size: 18px !important;
	line-height: 18px !important;
}

.contact-section.bo-no {
	border: 0;
}

.page-title {
	font-size: 10vw;
	line-height: 12vw;
	margin-bottom: 5%;
}

.gray-title {
    font-size: 18px;
    line-height: 28px;
    padding: 5% 2.5%;
}

.gray-title h2 {
	font-weight: bold;
	font-size: 23px;
	line-height: 33px;
	margin-bottom: 2.5%;
}

.service-flow {
	margin: 0 auto;
	overflow: hidden;
	width: 95%;
}

.service-flow li {
	background: #BF1921;
	box-sizing: border-box;
	float: none;
	font-size: 18px;
	line-height: 28px;
	margin-right: 0;
	margin-bottom: 20px;
	padding: 10px;
	position: relative;
	width: 100%;
}

.service-flow li::after {
    border-top: 20px solid #BF1921;
    border-right: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 20px solid transparent;
    content: "";
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 100%;
    width: 0;
}

.flow-text {
	height: auto;
}

/*----------------------------------
footer
----------------------------------*/

footer {
	padding: 5% 0;
}

.copyright {
	font-size: 16px;
	line-height: 16px;
	margin-top: 5%;
}

/*----------------------------------
お問い合わせ
----------------------------------*/

.contact {
	margin: 2.5% 0;
}

.contact dl {
	font-size: 18px;
	line-height: 28px;
}

.contact dl dt {
	float: none;
	margin-bottom: 10px;
	width: 100%;
}

.contact dl dd {
	box-sizing: border-box;
	margin-bottom: 5%;
	margin-left: 0;
}

.contact dl dd input[type="text"] {
	font-size: 18px;
	line-height: 28px;
}

.contact dl dd textarea {
	font-size: 18px;
	line-height: 28px;
	height: 150px;
}

.red-bg {
    font-size: 18px;
    line-height: 18px;
    padding: 5px 10px;
}

.contact input[type="submit"] {
	font-size: 18px;
	line-height: 28px;
	margin-top: 2.5%;
	padding: 5px 30px;
	-webkit-appearance: none;
}

.contact input[type="submit"]:hover {
	opacity: 1;
}

.contact .soushin-list {
	margin: 2.5% auto 0;
	width: 310px;
}

.contact .soushin-list li input[type="submit"] {
	float: left;
	margin: 0;
	margin-right: 10px;
}

.contact .soushin-list li input[type="button"] {
	font-size: 18px;
	line-height: 28px;
	padding: 5px 30px;
	-webkit-appearance: none;
}

.contact .soushin-list li input[type="button"]:hover {
	opacity: 1;
}

/*----------------------------------
376px～667px
----------------------------------*/

@media (min-width: 376px) and (max-width: 667px) {

.about-list li:first-child {
	min-height: 35.5vh;
}

.about-list li {
	min-height: 39vh;
}

.tasya-list-1 li {
    height: 20vh;
}

.tasya-list-2 li {
    height: 20vh;
}

}

/*----------------------------------
～375px
----------------------------------*/

@media (max-width: 375px) {
	
}

/*----------------------------------
～320px
----------------------------------*/

@media (max-width: 320px) {

.about-list li {
    min-height: 12.5vh;
}

.about-list li:first-child {
	min-height: 11.5vh;
}
	
}