@charset "UTF-8";


/* HEADER
-----------------------------------------*/
#header{
	background: #fff;
}

#header li:nth-child(2){
	height: 38px;
	margin-left: 20px;
}
#header li:nth-child(2) a{
	display: block;
	line-height: 38px;
	background: #00468a;
	color: #fff;
	text-align: center;
}
@media screen and (min-width:978px) {
#header {
	width: 978px;
	height: 82px;
	left: 50%;
	margin-left: -489px;
	padding: 20px 0;
}

#header h1{
	float: left;
}

#header ul{
	position: absolute;
	top: 22px;
	right: 0;
	display: flex;
}
#header li:nth-child(2){
	width: 240px;
}
}
@media screen and (min-width:768px) and ( max-width:977px) {
#header{
	width: 100%;
	height: 82px;
	left: 0;
	padding: 20px 15px;
	display: table;
	justify-content: space-between;
}
#header h1{
	display: table-cell;
	vertical-align: middle;
}
#header ul{
	display: flex;
	margin-left: 40px;
}
#header li:first-child{
	width: 232px;
}
#header li:nth-child(2){
	width: 180px;
}
}
@media screen and (min-width:768px) {
#header{
	position: fixed;
	top: 0;
	z-index: 9999;
}
#header li:last-child{
    width: 54px;
    margin: -15px 0 0 20px;;
}
}
@media screen and (max-width:767px) {
#header{
	width: 100%;
	padding: 15px;
}
#header h1{
	width: 60%;
	max-width: 366px;
	margin: 0 auto;
	float: none;
}
#header ul{
	display: table;
	width: 100%;
	padding-top: 15px;
	background: #fff;
}
#header ul.m_fixed{
	position: fixed;
	top: 0;
	left: 0;
	padding: 15px;
	z-index: 9999;
}
#header li{
	display: table-cell;
	vertical-align: middle;
	width: 45%;
}
#header li:first-child{
	padding-right: 2%;
	text-align: right;
}
#header li:nth-child(2){
	padding: 0 2%;
	text-align: left;
}
#header li:nth-child(2) a{
	max-width: 244px;
}
}

#header_sub{
    text-align: center;
    font-size: 1.2rem;
    margin: 0 0 15px 0;
}

/******* GENERAL ************/
	html {
		overflow-y: scroll;
		-webkit-text-size-adjust: 100%;
		-ms-text-size-adjust: 100%;
   		font-size: 62.5%;
	}

	#main h1 {
	    font-size: 32px;
	}

	h3 {
		font-size: 22px;
	    background: #00B4ED;
	    color: white;
	    margin-left: 1%;
	    width: 180px;
	    text-align: left;
	    padding-left: 1%;
	}

	h4 {
		font-size: 35px;
	}

	a {
		text-decoration: none;
	}

	.button a {
		color: black;
	}

	#main {
		margin: 0 auto;
		text-align: center;
		padding-bottom: 60px;
	}

	.details strong {
	    font-weight: bold;
	}

	@media screen and (min-width:978px) {
		#contents{
			width: 978px;
			margin: 0 auto;
		}

		#main {
			width: 884px;
		}
	}

	@media screen and (max-width:768px) {
		.example {
	    	display: unset;
		}
	}


	@media screen and (max-width:977px) {
		#contents{
			padding: 0 15px;
			background-size: contain;
		}
	}

	@media screen and (min-width:978px) {
		.example {
		    display: -webkit-inline-box;
	        float: left;
		}
	}

	body {
		width: 100%;
		text-align: center;
		font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐ ゴシック", "Osaka", "sans-serif", "Arial";
		font-size: 1.4rem;
		margin: 0 auto;
		-webkit-text-size-adjust: 100%;
		position: relative;
	}

	/* ipad ~ PC 未満 */
@media screen and (min-width:768px) and ( max-width:977px) {

}
	@media screen and (min-width:768px) {
		body {
			padding-top: 82px !important;
		}

		.trust {
		    display: table;
		}
	}

	@media screen and (max-width:768px) {
		#header h1, header a  {
			font-size: 1.3rem;
		}

		.br-sp { display: none; }
	}

	.word_1 {
		font-size: 2.1rem;
		margin: 20px 0;
	}

	.word_2 {
		color: #E60012;
		font-size: 28px;
		line-height: 1.5;
	}

	.word_3 {
	    font-size: 19px;
	    text-align: left;
	    line-height: 1.3;
	}

	.word_4 {
		font-size: 12.5px;
	}

	img.contact_logo {
	    float: left;
    	margin: 0 4% 6% 2%;
	}

	img.cases {
	    margin-bottom: 46px;
    	margin-top: 25px;
	}

	.security {
		display: unset;
	}

	.security h1 {
		font-family: serif;
	    text-align: left;
	    border-bottom: solid 2px #5e5a5a;;
	    color: #5e5a5a;
	    padding-bottom: 10px;
	    width: auto;
	    font-weight: bold;
	}

	.security .word_1 {
		text-align: left;
	}

	.security p {
		float: right;
		font-size: 18px;
	    margin-top: 2%;
	}

	.merit_boxes {
	    display: flex;
	    margin: 2.5% 0;
	}

	.merit_boxes .word_3 {
	    width: 27%;;
	    margin-left: 3%;
	}

	.townpage_boxes .merit_boxes .word_3 {
		 margin-left: 1%;
	}

	.merit_boxes .word_2 {
	    width: 252px;
    	margin: auto 0 auto 1%;
	}

	img.merit_photo {
	    margin-left: 10px;
	}

	.townpage_boxes {
	    border: solid 3px #f39b43;
	    margin-bottom: 5%;
	    padding: 0 10px 10px 10px;
    	margin-top: 3%;
	}

	h1.townpage {
		background: #f39b43;
	 	color: white;
	    margin-top: 10px;
	}

	.townpage_boxes .button {
	    background: #FDD000;
	    padding: 8px 0;
	    text-align: center;
	    width: 460px;
	    margin: 0 auto;
	    font-size: 20px;
	    margin-bottom: 2%;
	}

	.example h3 {
	   text-align: center;
       padding: 3px;
       margin: 0 0 13px;
	}

	.example h3.left {
	    text-align: left;
	        padding: 1px 1px 1px 10px;
	}

	.example .example_content {
		font-size: 18px;
	    margin-top: 10px;
	    font-weight: bold;
    	color: #585555;
	}

	h1.discount {
		color: #E60012;
		font-weight: bold;
        margin-top: 3%;

	}

	p.discount {
		float: right;
	    font-size: 13px;
	    margin: 0;
	}

	.size_title, .size_border .content {
		font-size: 17px;
		margin: 0;
	}

	.size_title {
		color: #E60012;
    	font-weight: bold;
	}

	.size_border {
	    border: 2.5px solid;
	    border-color: #E60012;
	    border-radius: 100px;
        margin: 45px 0;
        padding: 5px;
	}

	.available {
		display: inline-block;
		float: left;
    	margin-bottom: 2%;
	}

	img.title_name {
	    margin-top: 2%;
	}

	p.word_3 {
		color: #EB6D8E;
		margin-top: 3%;
    	font-weight: bold;
	}

	p.caution {
		font-size: 12px;
		float:right;
		text-align: left;
		margin-top: 18px;
	}

	.details {
	    margin-top: 100px;
	    text-align: left;
	}


@media screen and (max-width: 767px) {

	body, #main {
		width: 100%;
	}

	#main h1, h2 {
		font-size: 2rem;
	}

	h1.discount {
		font-size: 1.8rem !important;
	}

	div {
		font-size: 1.5rem !important;
		width: auto !important;
	}

	p {
		font-size: 12px !important;
	}

	.word_2 {
		font-size: 20px !important;
	}

	.trust {
    	margin-bottom: 23px;
    	display: flow-root;
	}

	.merit_boxes {
    	display: block;
	}

	.merit_boxes .word_3 {
		margin: 2% 3% 5%;
	}

	img.merit_photo {
	    margin-left: 0;
	}

	img.cases {
		margin: 0 0 25px;
	}

	.townpage_boxes img.merit_photo {
	    margin: auto;
	}

	#main img {
		width: 100%;
		font-size: 50%;
	}

	.contact_logo {
	    margin-right: 15px;
   		width: 135px !important;
	}
}

	/* FOOTER
-----------------------------------------*/
#footer{
    background: #00468a;
}
#footer_contents li a{
	color: #fff;
	font-size: 1.4rem;
}
#copyright{
	margin-top: 30px;
    font-size: 1.3rem;
	color: #fff;
	text-align: center;
}
@media screen and (min-width:978px) {
#footer{
	width: 978px;
	margin: 0 auto;
    padding: 30px 39px;
}
}
@media screen and (max-width:977px) {
#footer{
    padding: 30px 15px;
}
}

@media screen and (min-width:768px) {
#footer_contents{
	display: flex;
	justify-content: space-between;
}
#footer_contents ul{
	display: flex;
	line-height: 34px;
}
#footer_contents li{
	margin-left: 30px;
}
}
@media screen and (max-width:767px) {
#footer{
	text-align: center;
}
#footer_contents ul{
	margin-top: 30px;
	line-height: 2;
}
}

@media screen and (min-width:768px) {
.spOnly{
	display: none !important;
}
a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
}
}
@media screen and (min-width:978px) {
.spOnly2{
	display: none !important;
}
}
@media screen and (max-width:767px) {
.pcOnly{
	display: none !important;
}
}
@media screen and (max-width:977px) {
.pcOnly2{
	display: none !important;
}
}


@media  screen and (max-width: 480px) {

	.size_border {
		margin: 13% 0 5%;
	}

	img.contact_logo {
		margin: 0 4% 6% 0;
	}

	.security h1 {
		width: auto;
		padding-bottom: 0;
	}

	.security .word_1 {
	    margin-top: 3px;
	}
}