@charset "utf-8";
#upperbar {
	display: none;
}

img {max-width: 100%;}

@media only screen and (max-width: 767px) {
	body {
		min-width: auto;
		width: 100%;
	}
	#header,
	#content,
	#footer {
		min-width: auto;
		width: 100%;
		box-sizing: border-box;
	}
	#header {
		background: none;
	}
	#header .inner {
		width: 100%;
		padding: 0;
	}
	#header:before {
		content: "";
		display: block;
		width: 100%;
		height: 4px;
		background-color: #e60012;
		box-shadow: 0 2px 2px #cccccc;
		-webkit-box-shadow: 0 2px 2px #cccccc;
	}
	#header h1 {
		display: block;
		float: none;
		width: 133px;
		height: 44px;
		margin: 0 auto;
		background: url(images/logo.png) center no-repeat;
		background-size: cover;
	}
	#header h1 img {
		display: none;
	}
	#header #globalnavi,
	#topicpath {
		display: none;
	}
	#upperbar {
		display: block;
		padding: 10px;
		background-color: #000000;
		font-size: 0.8rem;
	}
	.arrowlink,
	.toplink {
		margin: 0;
		padding: 0 0 4px 14px;
		min-height: 15px;
		background: url(images/arrowicon.png) no-repeat 0 1px;
		background-size: 12px 12px;
		font-size: 0.7rem;
	}
	.arrowlink a {
		color: #ffffff;
		text-decoration: none;
		line-height: 1.4;
	}
}

.wrap {
	margin: 0 auto;
	width: 820px;
}

.contact h2 {
	margin: 30px 0;
	text-align: center;
}

.contact h3 {
	color: #c1272d;
	font-size: 18px;
	font-weight: normal;
}

.contact ul {
	list-style: none;
	padding-left: 0;
}

.contact .caption li {
	font-size: 12px;
	color: #666666;
	line-height: 1.8;
	text-indent: -1em;
	padding-left: 1em;
}

.emphasis {
	margin: 1em 0 2em;
	padding: 15px;
	background: #eeeef0;
}
.emphasis h4 {
	margin: 0;
}
.emphasis ul {
	margin-top: 0;
	margin-bottom: 0;
	padding-left: 40px;
}
.emphasis ul li {
	list-style: disc;
}

.title {
	font-size: 24px;
	text-align: center;
}
.title span {
	padding: 0 0.5em;
	border-bottom: 1px solid #333333;
}
.title br {
	display: none;
}

img {
	vertical-align: bottom;
}

.heading {
	position: relative;
	clear: both;
}

.heading p {
	margin: 0;
	position: absolute;
	top: 84px;
	right: 8px;
}

.tall p {
	top: 164px;
}

.contact table {
	margin: 1em 0;
	width: 100%;
	border-collapse: collapse;
}
.contact th,
.contact td {
	border: 1px solid #dadade;
	padding: 10px;
}
.contact .even th,
.contact .even td {
	background: #f8f8f8;
}
.contact thead th {
	color: white;
}
.contact tbody th {
	font-weight: normal;
}
.contact td p {
	font-size: 13px;
	padding: 5px 0;
}
.contact td p .red {
	color: #c1272d;
}
.contact td hr {
	border: 0;
	border-top: 1px dashed #999999;
	margin: 10px -10px;
}
.contact td dl {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin: 0;
}
.contact td dt {
	line-height: 1.4;
}
.contact .store {
	background-color: #767683;
	width: 20%;
}
.contact .address {
	background-color: #505058;
	width: 50%;
}
.contact .data {
	background-color: #000000;
	width: 30%;
}
.contact .line {
	margin-bottom: 15px !important;
	border-bottom: 3px solid #ffffff;
	padding-bottom: 15px;
}
.contact .back {
	position: absolute;
	top: 30px;
	right: 45px;
}
.contact form th {
	width: 180px;
	background-color: #f8f8f8;
}
.contact form .even th {
	background-color: #e1e1e6;
}
.contact .separated {
	margin-bottom: 1em;
	border-bottom: 1px dotted #c0c0c0;
	padding-bottom: 1em;
}
.contact .confirm {
	margin: 40px 0;
	text-align: center;
}
.contact .privacy {
	margin-bottom: 5px;
	font-size: 120%;
	color: #000000;
}
.contact .button {
	margin-top: 15px;
}
.contact .button img {
	margin: 0 15px;
	vertical-align: top;
}
.contact .caution {
	margin: 0 0 10px;
	border: 2px solid #cc0000;
	padding: 6px;
	text-align: center;
	color: #cc0000;
}
.contact .caution h4 {
	margin: 0;
	padding: 0;
	background: none;
}
.contact .error th,
.contact .error td {
	background-color: #fcd1d1 !important;
}

.contact select {
	width: 177px;
}

input.reset {
	border-style: none;
	background: url("images/reset.gif") center no-repeat;
	width: 181px;
	height: 45px;
	text-indent: -999999px;
	margin: 0 15px;
	transition: 0.4s;
	cursor: pointer;
}
input.conf {
	border-style: none;
	background: url("images/confirm.gif") center no-repeat;
	width: 181px;
	height: 45px;
	text-indent: -999999px;
	margin: 0 15px;
	transition: 0.4s;
	cursor: pointer;
}
input.send {
	border-style: none;
	background: url("images/send.gif") center no-repeat;
	width: 181px;
	height: 45px;
	text-indent: -999999px;
	margin: 0 15px;
	transition: 0.4s;
	cursor: pointer;
}
input.return {
	border-style: none;
	background: url("images/return.gif") center no-repeat;
	width: 181px;
	height: 45px;
	text-indent: -999999px;
	margin: 0 15px;
	transition: 0.4s;
	cursor: pointer;
}
input.reset:hover,
input.conf:hover,
input.send:hover,
input.return:hover {
	opacity: 0.7;
}

.contact div.button {
	margin: 40px 0;
	display: flex;
	justify-content: center;
}

.add_item {
	font-size: 14px;
	color: #666666;
	background-color: #e6e6e6;
	border: 1px solid #333333;
	cursor: pointer;
	padding: 0.2em 1em;
	transition: 0.4s;
}
.add_item:hover {
	opacity: 0.7;
}

.item_block {
	display: none;
}

#main.thanks {
	margin: 20px auto;
}

.thanks p {
	margin-bottom: 5px;
}

.tel {
	background: none !important;
}

.aftermessage {
	margin-top: 20px;
	padding: 15px;
	background-color: #eeeeee;
}

.tac {
	text-align: center;
}
.mb15 {
	margin-bottom: 15px;
}

#sp-footer {
	display: none;
}
.item_contents dl dd {
	margin-left: 22px;
	margin-top: 5px;
}
.item_contents dl dt {
	text-align: center;
}

@media only screen and (min-width: 768px) {
    .pc_none {
        display: none;
    }
}
@media only screen and (max-width: 767px) {
	.sp_none {
		display: none;
	}
	.summer #content {
		background-image: none;
		background-color: #f3f1ed;
		padding: 10px;
	}
	#content .inner {
		width: 100%;
	}
	#column1_840 {
		width: 100%;
		margin: 0 auto;
		background-image: none;
		background-color: #fff;
		border: 2px solid #babec2;
		border-radius: 10px;
		padding: 10px;
		box-sizing: border-box;
	}
	#column1_840.main {
		min-height: calc(100vh - 127px);
	}
	#column1_840 img {
		width: 100%;
	}
	.wrap {
		width: 100%;
	}
	.wrap h2 {
		margin: 10px 0 20px;
	}
	.wrap h2 img {
		max-width: 100%;
		width: 90%;
		height: auto;
	}
	.contact h3 {
		font-size: 16px;
	}
	.emphasis ul {
		padding-left: 20px;
	}
	.title {
		font-size: 18px;
	}
	.title span {
		padding: 0;
	}
	.title br {
		display: inline;
	}
	.contact table {
		display: block;
		box-sizing: border-box;
	}
	.contact form th {
		width: 100%;
		display: block;
		box-sizing: border-box;
		text-align: left;
		background-color: #f8f8f8 !important;
		font-size: 13px;
	}
	.contact form td {
		width: 100%;
		display: block;
		box-sizing: border-box;
		text-align: left;
		background-color: #fff !important;
		border-top: none;
		font-size: 13px;
	}
	.contact form tr:not(:last-of-type) td {
		border-bottom: none;
	}
	.contact form td input + span {
		display: block;
	}
	.contact form td input.w98 {
		width: 97%;
		max-width: 449px;
	}
	.contact td dl {
		display: block;
	}
	.contact td dl dt br {
		display: none;
	}
	.contact td dl dd {
		margin-left: 0;
	}
	.contact .privacy {
		font-size: 15px;
	}
	.contact .privacy + p {
		font-size: 13px;
	}
	.contact .confirm {
		margin: 30px 0 20px;
	}
	input.reset {
		margin-bottom: 10px;
	}
	.contact strong {
		display: inline-block;
	}

	.contact div.button {
		display: block;
		text-align: center;
		margin: 30px 0 20px;
	}
	.contact div.button form {
		margin-bottom: 10px;
	}

	#footer,
	.pagetop {
		display: none;
	}
	#sp-footer {
		display: block;
		padding: 10px;
		background: #000000;
		color: #ffffff;
		font-size: 0.7rem;
	}
	#sp-footer a {
		color: #ffffff;
		text-decoration: none;
	}

	.item_contents dl dd textarea {
		width: 97%;
		max-width: 449px;
	}
	.item_contents dl dt {
		text-align: left;
		margin-top: 5px;
	}
}



/* wrap */
#column1_840 {
	padding: 0;
}
#column1_840 .wrap {
	padding: 70px 60px 35px;
	width: unset;
}
.btn {
    text-align: center;
    margin-bottom: 45px;
}
.btn a {
    background: #004da0;
    color: #fff;
    text-decoration: none;
    padding: 20px 28px;
    border-radius: 50px;
    box-sizing: border-box;
    transition: 0.3s;
    width: 770px;
    display: block;
    margin: 0 auto;
}
.btn a img {
    max-height: 23px;
}
.btn a:hover {
    opacity: 0.5;
}

@media only screen and (max-width: 767px) {
	#column1_840 {
		border: none;
	}
    #column1_840 .wrap {
        padding: calc(65 / 675 * 100vw) calc(37 / 675 * 100vw) 0;
    }
    
    .btn {
        margin-top: calc(25 / 675 * 100vw) !important;
    }
    .btn a {
        padding: calc(20 / 675 * 100vw);
        border-radius: 50px;
        width: 100%;
        line-height: 1;
    }
    .btn a img {
        max-height: calc(14 / 375 * 100vw);
        width: auto !important;
    }
    .btn a:hover {
        opacity: 1;
    }
}


/* main */
.main_img {
    max-width: 453px;
    margin: 0 auto 50px;
}

.txt_read {
    max-width: 675px;
    margin: 0 auto 50px;
}

.txt_01 {
    max-width: 511px;
    margin: 0 auto 50px;
}
.txt_02 {
    max-width: 425px;
    margin: 0 auto 50px;
}
.txt_03 {
    max-width: 336px;
    margin: 0 auto 25px;
}
.txt_04 {
    max-width: 676px;
    margin: 40px auto 50px;
}

.txt_tel {
    text-align: center;
    margin: 0 auto 25px;
}
.txt_tel img {
    max-height: 37px;
}

.txt_midashi {
    text-align: center;
    font-family: "Hiragino Mincho ProN", "serif";
    font-size: 22px;
    line-height: 1.6;
    font-weight: bold;
    color: #000;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
    margin-bottom: 30px;
}

#column1_840 h2 {
    margin: 80px auto 15px;
    text-align: left;
    padding: 0 25px 20px;
    border-bottom: 1px solid #000;
}
#column1_840 h2 img {
    max-height: 38px;
}
#column1_840 h2.img_h {
    padding-bottom: 5px;
}
#column1_840 h2.img_h img {
    max-height: 50px;
}

#column1_840 h3 {
    font-family: "Hiragino Mincho ProN", "serif";
    font-size: 29px;
    font-weight: bold;
    text-align: center;
    font-feature-settings: "palt";
    color: #000;
    padding: 28px 0;
    position: relative;
    margin-bottom: 35px;
}
#column1_840 h3::before {
    content: "";
    position: absolute;
    width: 496px;
    height: 1px;
    background: #000;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
#column1_840 h3::after {
    content: "";
    position: absolute;
    width: 496px;
    height: 1px;
    background: #000;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.detail_box {
    padding: 0 30px;
    color: #000;
}
.detail_box p.txt_mincho {
    font-family: "Hiragino Mincho ProN", "serif";
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: 0.14em;
    font-feature-settings: "palt";
    color: #000;
    margin-bottom: 25px;
}
.detail_box figure.ph {
    margin: 0 auto 10px;
}
.detail_box figure.ph figcaption {
    margin: 15px auto 0;
}
.detail_box figure.ph figcaption img {
    max-height: 31px;
}
.detail_box p.sttl {
    font-family: "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.6;
    letter-spacing: 0;
    font-feature-settings: "palt";
}
.detail_box p {
    font-size: 18px;
    letter-spacing: 0.025em;
    font-feature-settings: "palt";
}
.detail_box p + figure.ph {
    margin-top: 65px;
}
.detail_box p.txt_mincho + figure.ph {
    margin-top: 0;
}

.felx_box {
    display: flex;
    justify-content: space-between;
}
.felx_box .flex_item {
    max-width: 306px;
}
.felx_box02 {
    margin: 50px auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.felx_box02 .flex_item:first-child {
    max-width: 385px;
}
.felx_box02 .flex_item:last-child {
    max-width: 255px;
}

.felx_box03 {
    margin: 50px auto;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    align-items: center;
}
.felx_box03 .flex_item:first-child {
    max-width: 356px;
}
.felx_box03 .flex_item:last-child {
    max-width: 280px;
}

.felx_box02 .flex_item p.sttl,
.felx_box03 .flex_item p.sttl {
    margin-bottom: 20px;
}

figure.other {
    margin: 0 auto 35px;
    max-width: 653px;
}
figure.logo {
    margin: 0 auto 45px;
    max-width: 593px;
}
figure.flow {
    margin: 0 auto 40px;
    max-width: 730px;
}

.txt_box {
    color: #000;
    font-family: "Hiragino Mincho ProN", "serif";
    font-size: 23px;
    font-weight: bold;
    line-height: 1.6;
    letter-spacing: 0.08em;
    font-feature-settings: "palt";
    max-width: 460px;
    margin: 0 auto 100px;
}

p.txt_blue {
    text-align: center;
    font-size: 21px;
    color: #004da0;
    letter-spacing: 0.04em;
    font-feature-settings: "palt";
    line-height: 1.6;
    margin-bottom: 120px;
}
p.txt_small {
    font-size: 20px;
    font-feature-settings: "palt";
    line-height: 1.6;
    color: #000;
    max-width: 460px;
    margin: 0 auto;
}


@media only screen and (max-width: 767px) {
    .main_img {
        max-width: 80%;
        margin-bottom: calc(50 / 675 * 100vw);
    }

    .txt_read {
        max-width: 90%;
        margin-bottom: calc(50 / 675 * 100vw);
    }

    .txt_01 {
        max-width: 90%;
        margin-bottom: calc(50 / 675 * 100vw);
    }
    .txt_02 {
        max-width: 90%;
        margin-bottom: calc(50 / 675 * 100vw);
    }
    .txt_03 {
        max-width: 70%;
        margin: 0 auto calc(25 / 375 * 100vw);
    }
    .txt_04 {
        max-width: 90%;
        margin: calc(40 / 375 * 100vw) auto calc(50 / 375 * 100vw);
    }

    .txt_tel {
        margin: 0 auto calc(25 / 375 * 100vw);
    }
    .txt_tel img {
        max-height: calc(25 / 375 * 100vw);
    }

    .txt_midashi {
        font-size: calc(15 / 375 * 100vw);
        margin-bottom: calc(25 / 375 * 100vw);
    }

    #column1_840 h2 {
        margin: calc(60 / 375 * 100vw) auto calc(15 / 375 * 100vw);
        padding: 0 calc(15 / 375 * 100vw) calc(15 / 375 * 100vw);
    }
    #column1_840 h2 img {
        max-height: calc(25 / 375 * 100vw);
        width: inherit;
    }
    #column1_840 h2.img_h {
        padding-bottom: calc(5 / 375 * 100vw);
    }
    #column1_840 h2.img_h img {
        max-height: calc(40 / 375 * 100vw);
    }

    #column1_840 h3 {
        font-size: calc(23 / 375 * 100vw);
        padding: calc(15 / 375 * 100vw) 0;
        margin-bottom: calc(25 / 375 * 100vw);
        line-height: 1.6;
    }
    #column1_840 h3::before {
        width: 100%;
    }
    #column1_840 h3::after {
        width: 100%;
    }

    .detail_box {
        padding: 0 calc(15 / 375 * 100vw);
    }
    .detail_box p.txt_mincho {
        font-size: calc(16 / 375 * 100vw);
        line-height: 1.4;
        letter-spacing: 0.1em;
        margin-bottom: calc(15 / 375 * 100vw);
    }
    #column1_840 .detail_box figure.ph figcaption img {
        max-height: calc(20 / 375 * 100vw);
        width: inherit;
    }

    .detail_box p.sttl {
        font-size: calc(16 / 375 * 100vw);
        line-height: 1.4;
        margin-top: calc(10 / 375 * 100vw);
        margin-bottom: calc(5 / 375 * 100vw);
    }
    .detail_box p {
        font-size: calc(14 / 375 * 100vw);
        letter-spacing: 0.02em;
    }
    .detail_box p + figure.ph {
        margin-top: calc(40 / 375 * 100vw);
    }
    .detail_box p.txt_mincho + figure.ph {
        margin-top: 0;
    }

    .felx_box {
        display: block;
    }
    .felx_box .flex_item {
        max-width: 100%;
        margin-bottom: calc(40 / 375 * 100vw);
    }
    .felx_box02 {
        margin: calc(30 / 375 * 100vw) auto;
        display: block;
    }
    .felx_box02 .flex_item:first-child {
        max-width: 100%;
    }
    .felx_box02 .flex_item:last-child {
        max-width: 100%;
    }

    .felx_box03 {
        margin: calc(20 / 375 * 100vw) auto;
        display: block;
    }
    .felx_box03 .flex_item:first-child {
        max-width: 100%;
    }
    .felx_box03 .flex_item:last-child {
        max-width: 100%;
    }

    .felx_box02 .flex_item p.sttl,
    .felx_box03 .flex_item p.sttl {
        margin-bottom: calc(5 / 375 * 100vw);
    }

    figure.other {
        margin: 0 auto calc(25 / 375 * 100vw);
        max-width: 100%;
    }
    figure.logo {
        margin: 0 auto calc(35 / 375 * 100vw);
        max-width: 100%;
    }
    figure.flow {
        margin: 0 auto calc(40 / 375 * 100vw);
        max-width: 100%;
    }

    .txt_box {
        font-size: calc(16 / 375 * 100vw);
        line-height: 1.4;
        letter-spacing: 0.05em;
        max-width: 100%;
        margin: 0 auto calc(50 / 375 * 100vw);
    }

    p.txt_blue {
        font-size: calc(16 / 375 * 100vw);
        letter-spacing: 0.02em;
        line-height: 1.4;
        margin-bottom: calc(50 / 375 * 100vw);
    }
    p.txt_small {
        font-size: calc(13 / 375 * 100vw);
        line-height: 1.4;
        max-width: 90%;
    }
    
    .contents_inner {
        padding: calc(65 / 675 * 100vw) calc(37 / 675 * 100vw);
    }

}



/* pagetop */
.c-pagetop {
	position: fixed;
	max-width: 540px;
	width: calc(540 / 675 * 100%);
	margin: 0 auto;
	bottom: calc(90 / 675 * 100%);
	left: 0;
	right: 0;
	opacity: 0.6;
}

.c-pagetop a {
	position: absolute;
	right: 0;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 2px solid #000;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.c-pagetop a::after {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	margin: 0 auto;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	margin-bottom: -5px;
}
