@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@800&display=swap');

html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed,figure, figcaption, footer, header, hgroup,menu, nav, output, ruby, section, summary,time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-family: "游ゴシック",YuGothic,"Helvetica","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Arial, sans-serif;
	vertical-align: baseline;
	-webkit-font-smoothing: antialiased;
}
html {
	-webkit-text-size-adjust: 100%;
}
body {
	position: relative;
	color:#191919;
	background-color:#fff;
}
body:not(.sphone) {
	line-height: 1.5em;
	font-size: .98em;
}
body.sphone {
	line-height: 1.5em;
	font-size: 15px;
}
a {
	text-decoration:underline;
	outline:none;
	color:#0068b7;
}
a:hover {
	text-decoration:none;
	color:#0068b7;
}
a:focus,a:visited {
	outline:none;
	color:#0068b7;
}
img {
	border:none;
	vertical-align:bottom;
}
li {
	list-style:none;
}
iframe {
	display:block;
}
::selection {
	background-color:#cdcdcd;
}
::-moz-selection {
	background-color:#cdcdcd;
}
iframe[name="google_conversion_frame"] { position:absolute; top:0; }


/* -------------------------------------------------------------------------- */
/* -- other -- */
#Loading {
	z-index:100;
	position:fixed;
	width:100%;
	height:100%;
	left:0;
	top:0;
	background-color:#fff;
}
#Loading p {
	position: fixed;
	display: block;
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	border-radius: 50%;
	border: #1da1f2 6px solid;
	border-right-color: transparent;
	animation: loader 1.2s linear infinite;
}
body:not(.sphone) #Loading p {
	width: 30px;
	height: 30px;
}
.sphone #Loading>p {
	width: 10vw;
	height: 10vw;
}
@keyframes loader {
	0%    {transform: rotate(0);}
	100%  {transform: rotate(360deg);}
}

.opa {
	opacity: 1;
	transition: all 220ms 0s ease-out;
}
.opa:hover,.opa:focus {
	opacity: .5;
}

.center {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.bigtxt {
	font-size: 1.1em;
}
.minitxt {
	font-size: .9em;
}
/* リスト */
ul.list li,ul.list2 li {
	position: relative;
	padding-left: 1.1em;
}
ul.list li::before,ul.list2 li::before {
	position: absolute;
	left: 0;
	top: 0;
}
ul.list li::before {
	content: '・';
}
ul.list2 li::before {
	content: '※';
}
.fontFamily {
	font-family: 'M PLUS 1p', sans-serif;
}
body:not(.sphone) .pcBlock,
.sphone .spBlock {
	display: block;
}
/* マージン */
body:not(.sphone) .margin05 {
	margin-top: .5rem !important;
}
body:not(.sphone) .margin1 {
	margin-top: 1rem !important;
}
body:not(.sphone) .margin2 {
	margin-top: 2rem !important;
}
body:not(.sphone) .margin3 {
	margin-top: 3rem !important;
}
.sphone .margin05 {
	margin-top: 2% !important;
}
.sphone .margin1 {
	margin-top: 4% !important;
}
.sphone .margin2 {
	margin-top: 7% !important;
}
.sphone .margin3 {
	margin-top: 10% !important;
}


/* -------------------------------------------------------------------------- */
/* -- #backImg -- */
#backImg {
	position: fixed;
	z-index: -1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-image: url("../images/back.jpg");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
}


/* -------------------------------------------------------------------------- */
/* -- header -- */
header {
	position: relative;
	background-image: url("../images/he_img1.png"), url("../images/he_img2.png");
	background-position: left bottom, right bottom;
	background-repeat: no-repeat;
}
header h1 img {
	width: 100%;
	height: auto;
}
/* ----------------------------- */
body:not(.sphone) header {
	width: 1230px;
	height: 620px;
	margin: auto;
	background-size: auto 100%;
}
body:not(.sphone) header h1 {
	width: 616px;
	margin: auto;
	padding-top: 25px;
}
/* ----------------------------- */
.sphone header {
	padding-top: 3%;
	padding-bottom: 78%;
	background-size: 50% auto;
}
.sphone header h1 {
	margin: auto 4%;
}


/* -------------------------------------------------------------------------- */
/* -- article -- */
article {
	position: relative;
	overflow: hidden;
	background-color: #fff;
	border-radius: 20px;
}
article .camtitle {
	text-align: center;
	color: #0068b7;
}
article .camtitle,
article .camtitle span {
	font-family: 'M PLUS 1p', sans-serif;
}
article h3.camcatch {
	text-align: center;
}
article section.cont2 {
	background-color: #fffd70;
} 
article .camtitle2,
article .camtitle2 span {
	text-align: center;
	font-family: 'M PLUS 1p', sans-serif;
	color: #ff8300;
}
.cont2 .parttitle {
	text-align: center;
	letter-spacing: .06em;
	font-family: 'M PLUS 1p', sans-serif;
	color: #fff;
	background-color: #55b416;
}
.cont2 .kikan {
	font-weight: bold;
}
.cont2 .kikan span {
	color: #0053a7;
}
.btn a {
	position: relative;
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	text-decoration: none;
	font-weight: bold;
	color: #fff;
	background-color: #0068b7;
	border: #fff 3px solid;
	border-radius: 10px;
}
.btn a:hover,.btn a:focus,.btn a:visited {
	color: #fff;
}
.btn a::after {
	content: '';
	position: absolute;
	border: 3px solid;
	border-color: #fff #fff transparent transparent;
	transform: rotate(45deg);
}
body:not(.sphone) .btn a {
	width: 24rem;
	height: 3.4em;
	line-height: 3.4em;
}
body:not(.sphone) .btn a::after {
	right: 5%;
	top: 28%;
	width: .8em;
	height: .8em;
}
.sphone .btn a {
	width: 90%;
	height: 3.4em;
	line-height: 3.4em;
}
.sphone .btn a::after {
	right: 5%;
	top: 30%;
	width: .8em;
	height: .8em;
}
article .cont3 h3 {
	text-align: center;
	letter-spacing: .06em;
	font-family: 'M PLUS 1p', sans-serif;
	color: #50707f;
	border: #50707f 3px solid;
}
.cont2 .goodsItem img {
	display: block;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
.cont2 .goodsItem img:first-of-type {
	background-image: url("../images/goods_item1.png");
}
.cont2 .goodsItem img:nth-of-type(2) {
	background-image: url("../images/goods_item2.png");
}
.cont2 .goodsItem img:nth-of-type(3) {
	background-image: url("../images/goods_item3.png");
}


/* ----------------------------- */
body:not(.sphone) article {
	width: 900px;
	margin: -70px auto 0;
	padding: 2rem 0;
}
body:not(.sphone) article section.cont,
body:not(.sphone) article section.cont3 {
	margin: 2rem 4rem 0;
	line-height: 1.6em;
}
body:not(.sphone) article>.camtitle {
	font-size: 1.6rem;
}
body:not(.sphone) article>.camcatch {
	margin-top: .8rem;
	line-height: 1.3em;
	font-size: 1.4rem;
}
body:not(.sphone) article section.cont2 {
	margin-top: 2rem;
	padding: 2rem 0;
}
body:not(.sphone) article .cont2 .camtitle {
	font-size: 1.4rem;
}
body:not(.sphone) article .camtitle2 {
	margin-top: .8rem;
	font-size: 1.8rem;
}
body:not(.sphone) .cont2 .parttitle,
body:not(.sphone) article .cont3 h3 {
	width: 50%;
	height: 2.4em;
	margin: 2rem auto 0;
	line-height: 2.4em;
	font-size: 1.3em;
	border-radius: 1.3em;
}
body:not(.sphone) .cont2 .kikan {
	margin-top: 1rem;
	text-align: center;
	font-size: 1.3em;
}
body:not(.sphone) .cont2 .kikan span {
	font-size: 1.5em;
}
body:not(.sphone) .cont2 .pcwidth {
	margin: 1rem 4rem 0;
	line-height: 1.6em;
}
body:not(.sphone) .cont2 .goodsItem {
	margin: 1rem 1rem 0;
	text-align: center;
	letter-spacing: -.4em;
}
body:not(.sphone) .cont2 .goodsItem img {
	width: 33%;
	height: 0;
	padding-top: 33%;
	display:inline-block;
	letter-spacing: normal;
	vertical-align:top;
	*display: inline;
	*zoom: 1;
}
/* ----------------------------- */
.sphone article {
	margin: -8% 3% 0;
	padding: 6% 0 8%;
}
.sphone article section.cont,
.sphone article section.cont3 {
	margin: 6% 5% 0;
	line-height: 1.5em;
}
.sphone article>.camtitle {
	line-height: 1.2em;
	font-size: 1.4rem;
}
.sphone article>.camcatch {
	margin: 3% 2% 0;
	font-size: 1.1rem;
}
.sphone article section.cont2 {
	margin-top: 6%;
	padding: 6% 3%;
}
.sphone article .cont2 .camtitle {
	font-size: 1rem;
}
.sphone article .cont2 .camtitle2 {
	line-height: 1.2em;
	font-size: 1.5rem;
}
.sphone .cont2 .parttitle,
.sphone article .cont3 h3 {
	width: 80%;
	height: 2em;
	margin: 6% auto 3%;
	line-height: 2em;
	font-size: 1.3em;
	border-radius: 1.1em;
}
.sphone .cont2 .kikan {
	text-align: center;
	font-size: 1.1em;
}
.sphone .cont2 .kikan span {
	font-size: 1.5em;
}
.sphone .cont2 .goodsItem {
	margin-left: 10%;
	margin-right: 10%;
}
.sphone .cont2 .goodsItem img {
	width: 100%;
	height: 0;
	margin-bottom: 5%;
	padding-top: 100%;
}





/* -------------------------------------------------------------------------- */
/* -- footer -- */
footer small {
	display: block;
	font-size: .8em;
}
body:not(.sphone) footer {
	margin: 3rem auto 1rem;
}
.sphone footer {
	margin: 8% auto 6%;
}


/* max-width 1270px */
/* -------------------------------------------------------------------------- */
@media screen and (max-width: 1270px) {
body.pc,
body:not(.sphone) #backImg {
	width: 1270px;
}
}
