@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');


/* ====================================================
    common
==================================================== */

* {
	box-sizing: border-box
}
:after, :before {
	box-sizing: inherit
}
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent
}
body {
	margin: 0
}
main {
	display: block
}
address, blockquote, dl, figure, form, iframe, p, pre, table {
	margin: 0
}
h1, h2, h3, h4, h5, h6 {
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
	margin: 0
}
ol, ul {
	margin: 0;
	padding: 0;
	list-style: none
}
dt {
	font-weight: 700
}
dd {
	margin-left: 0
}
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
	border: 0;
	border-top: 1px solid;
	margin: 0;
	clear: both;
	color: inherit
}
pre {
	font-family: monospace, monospace;
	font-size: inherit
}
address {
	font-style: inherit
}
a {
	background-color: transparent;
	text-decoration: none
}
a img {
	transition: 0.3s all linear;
}
a:hover img {
	opacity: 0.7;
}
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted
}
b, strong {
	font-weight: bolder
}
code, kbd, samp {
	font-family: monospace, monospace;
	font-size: inherit
}
small {
	font-size: 80%
}
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline
}
sub {
	bottom: -.25em
}
sup {
	top: -.5em
}
img {
	border-style: none;
	vertical-align: bottom
}
embed, iframe, object {
	border: 0;
	vertical-align: bottom
}
button, input, optgroup, select, textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	vertical-align: middle;
	color: inherit;
	font: inherit;
	border: 0;
	background: transparent;
	padding: 0;
	margin: 0;
	outline: 0;
	border-radius: 0;
	text-align: inherit
}
[type=checkbox] {
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
	appearance: checkbox
}
[type=radio] {
	-webkit-appearance: radio;
	-moz-appearance: radio;
	appearance: radio
}
button, input {
	overflow: visible
}
button, select {
	text-transform: none
}
[type=button], [type=reset], [type=submit], button {
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}
[type=button][disabled], [type=reset][disabled], [type=submit][disabled], button[disabled] {
	cursor: default
}
[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
	border-style: none;
	padding: 0
}
[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
	outline: 1px dotted ButtonText
}
select::-ms-expand {
	display: none
}
fieldset, option {
	padding: 0
}
fieldset {
	margin: 0;
	border: 0;
	min-width: 0
}
legend {
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal
}
progress {
	vertical-align: baseline
}
textarea {
	overflow: auto
}
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
	height: auto
}
[type=search] {
	outline-offset: -2px
}
[type=search]::-webkit-search-decoration {
	-webkit-appearance: none
}
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit
}
label[for] {
	cursor: pointer
}
details {
	display: block
}
summary {
	display: list-item
}
[contenteditable] {
	outline: none
}
table {
	border-collapse: collapse;
	border-spacing: 0
}
caption {
	text-align: left
}
td, th {
	vertical-align: top;
	padding: 0
}
th {
	text-align: left;
	font-weight: 700
}
[hidden], template {
	display: none
}
html.is-unscrollable {
	overflow: hidden
}
body {
	line-height: 1.5;
	color: #000;
	background: #fff;
	font-size: 16px;
	font-family: Helvetica Neue, HelveticaNeue, YuGothic, Yu Gothic Medium, Yu Gothic, Verdana, Meiryo, sans-serif;
	font-weight: 400
}
body.is-unscrollable {
	overflow: hidden
}
article, aside, footer, header, main, picture, section {
	display: block
}
img {
	max-width: 100%
}
img[src$=jpg] {
	background: #fff
}
a {
	color: inherit
}
dt, th {
	font-weight: 400
}
b, h1, h2, h3, h4, h5, h6, strong {
	font-weight: 700
}
input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px #fff inset
}
.pc {
	display: block;
}
.sp {
	display: none;
}
.zen-maru-gothic-light {
	font-family: "Zen Maru Gothic", serif;
	font-weight: 300;
	font-style: normal;
  }
  
  .zen-maru-gothic-regular {
	font-family: "Zen Maru Gothic", serif;
	font-weight: 400;
	font-style: normal;
  }
  
  .zen-maru-gothic-medium {
	font-family: "Zen Maru Gothic", serif;
	font-weight: 500;
	font-style: normal;
  }
  
  .zen-maru-gothic-bold {
	font-family: "Zen Maru Gothic", serif;
	font-weight: 700;
	font-style: normal;
  }
  
  .zen-maru-gothic-black {
	font-family: "Zen Maru Gothic", serif;
	font-weight: 900;
	font-style: normal;
  }

/* ====================================================
    header
==================================================== */

.m-header {
	position: relative;
	height: 125px;
	z-index: 21;
	padding: 0 30px 0 50px;
	
}
.m-header .inner {
	display: flex;
	justify-content: space-between
}
.m-header .logo {
	position: absolute;
	left: 30px;
	top: 25px;
}
.m-header .logo a {
	display: block;
	width: 170px;
	height: auto;
}
.m-header .sns {
	position: absolute;
	right: 175px;
	top: 47px;
	display: flex;
	align-items: center
}
.m-header .sns a {
    display: block;
    width: 65px;
    height: auto;
	margin: 0 10px;
}

/* ====================================================
    m-nav
==================================================== */

.m-nav {
	z-index: 1000
}
.m-nav, .m-nav .menu {
	position: fixed;
	right: 30px;
	top: 10px
}
.m-nav .menu {
	width: 100px;
	height: 100px
}
.m-nav .menu .bar, .m-nav .menu:after, .m-nav .menu:before {
	position: absolute;
	left: 15px;
	top: 50%;
	margin-top: -8px;
	display: block;
	width: 70px;
	height: 3px;
	background: #DCBEAA;
	transition: .2s;
}
.m-nav .menu:before {
	content: "";
	margin-top: -25px
}
.m-nav .menu:after {
	content: "";
	margin-top: 10px
}
.m-nav .menu .txt {
	position: absolute;
	left: 15px;
	top: 50%;
	margin-top: 25px;
	width: 70px;
	color: #DCBEAA;
	font-size: 23px;
	line-height: 1;
	font-weight: 500;
	display: flex;
	justify-content: center;
	text-align: center;
}
.m-nav .menu .close {
	opacity: 0;
	visibility: hidden
}
.m-nav .menu .close, .m-nav .menu .open {
	position: absolute;
	left: 0;
	right: 0;
	top: 42px;
	display: block;
	text-align: center;
	font-size: 10px;
	font-weight: 700;
	transition: .2s
}
.m-nav.is-active .menu .bar, .m-nav.is-active .menu:after, .m-nav.is-active .menu:before {
	margin-top: -1px;
	background: #323232;
	box-shadow: none
}
.m-nav.is-active .menu .bar {
	opacity: 0;
	visibility: hidden
}
.m-nav.is-active .menu:before {
	margin-top: -1px;
	transform: rotate(-135deg)
}
.m-nav.is-active .menu:after {
	margin-top: -1px;
	transform: rotate(135deg)
}
.m-nav.is-active .menu .txt {
	opacity: 0
}
.m-nav.is-active .menu .close {
	opacity: 1;
	visibility: visible
}
.m-nav .container, .m-nav.is-active .menu .open {
	opacity: 0;
	visibility: hidden
}
.m-nav .container {
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	transition: opacity .2s, visibility .2s;
	background-color: #FFF0E6
}
.m-nav.is-active .container {
	opacity: 1;
	visibility: visible
}
.m-nav .logo {
	position: absolute;
	left: 30px;
    top: 25px;
	width: 100%
}
.m-nav .logo a {
    width: 170px;
    height: auto;
	display: flex;
	align-items: center
}
.m-nav .logo a img {
    width: 170px;
    height: auto;
}
.m-nav .inner {
	width: 100%;
	max-width: 1100px;
	padding-top: 155px;
	margin: 0 auto;
	bottom: 0;
	z-index: 1;
}
.m-nav .inner ul.global {
	margin-bottom: 100px;
	text-align: center;
}
.m-nav .inner ul.global li {
	font-family: "Zen Maru Gothic", serif;
	font-weight: 400;
	color: #323232;
	font-size: 30px;
	margin-bottom: 50px;
}
.m-nav ul.share {
	margin-bottom: 55px;
	padding: 0 20px;
	display: flex;
	justify-content: center;
	grid-gap: 40px;
	gap: 40px
}
.m-nav .copyright {
	padding: 20px;
	font-size: 10px
}

/* ====================================================
    contents
==================================================== */

.l-container {
	background: #FFF0E6;
	width: 100%
}
.l-content article>* {
	overflow: hidden
}

/* ====================================================
    kv
==================================================== */
.kv {
	padding-top: 35px;
}
.kv .logo-product {
	width: 280px;
	margin: 0 auto 32px;
}
.kv .kv-content {
	position: relative;
	width: 1225px;
	height: 690px;
	margin: 0 auto 80px;
}
.kv .kv-content .kv-content01 {
	position: absolute;
	top: 20px;
	left: 110px;
	z-index: 3;
}
.kv .kv-content .kv-content02 {
	position: absolute;
	background: url(../img/content/kv_bg02@2x.png) 50% 50% no-repeat;
	background-size: contain;
	width: 1225px;
	height: 690px;
	top: 0px;
	left: 0;
	z-index: 5;
}
.kv .kv-content .kv-content02 .kv-content02-01 {
	position: absolute;
	top: -25px;
	left: 88px;
}
.kv .kv-content .kv-content02 .kv-content02-02 {
	position: absolute;
	bottom: 20px;
    right: 150px;
}
.kv .kv-content .kv-content03 {
	position: absolute;
	top: 0;
    left: 133px;
	z-index: 1;
}

/* ====================================================
    animation
==================================================== */
@-webkit-keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.js-animation01, .js-animation02, .js-animation03, .js-animation04 {
	opacity: 0;
}
.js-animation01.is-active, .js-animation02.is-active, .js-animation03.is-active, .js-animation04.is-active {
	-webkit-animation: 3s ease-out fadeIn;
	animation: 2.5s ease-out fadeIn;
	opacity: 1;
}


/* ====================================================
    section01
==================================================== */

.section01 {
	background: url(../img/content/bg_lead@2x.png) 50% 0 no-repeat;
	background-size: 960px auto;
	padding: 240px 0 430px;
}
.section01 .section-inner {
	width: 960px;
	margin: 0 auto;
}
.section01 h2 {
	width: 310px;
	margin: 0 auto 40px;
	text-align: center;
}
.section01 p {
	font-family: "Zen Maru Gothic", serif;
	font-weight: 400;
    font-size: 22px;
    color: #323232;
    text-align: center;
    line-height: 1.6;
    position: relative;
    margin-bottom: 40px;
	letter-spacing: -0.02rem;
}
.section01 p:last-of-type {
	margin-bottom: 0;
}
.section01 p b {
	font-weight: 400;
	color: #FF7896;
}


/* ====================================================
    section02
==================================================== */

.section02 {
	padding: 0 0 250px 0;
}
.section02 h2 {
	width: 280px;
	margin: 0 auto 95px;
}
.section02 .pc-item {
	width: 960px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.section02 .pc-item li {
	width: 460px;
}

/* ====================================================
    section03
==================================================== */

.section03 {
}
.section03 h2 {
	width: 280px;
	margin: 0 auto 65px;
}
.section03 h3 {
	text-align: center;
	width: 700px;
	margin: 0 auto 40px;
}
.section03 h3 img {
	width: 100%;
}
.section03 .section-inner {
	width: 960px;
	margin: 0 auto;
	background-image: linear-gradient(90deg, #fce9e8 50%, #e5ecf4 50%);
	padding: 98px 0 110px 0;
	text-align: center;
}
.section03 .section-inner h4 {
	margin: 0 auto 78px;
    width: 680px;
}
.section03 .section-inner dt {
	margin-bottom: 15px;
	height: 130px;
}
.section03 .section-inner dt img {
	width: auto;
	height: 130px;
}
.section03 .section-inner dd {
	margin-bottom: 45px;
}
.section03 .section-inner dd img {
	width: 900px;
}

/* ====================================================
    section04
==================================================== */

.section04 {
	background: url(../img/content/bg_point02@2x.png) 50% 0 repeat;
	background-size: 36px auto;
	padding: 65px 0 125px 0;
}
.section04 .section-inner {
	width: 960px;
	margin: 0 auto;
	text-align: center;
}
.section04 .section-inner h2 {
	width: 75%;
	margin: 0 auto 50px;
}
.section04 .section-inner .img01 {
	margin-bottom: 10px;
	text-align: center;
}
.section04 .section-inner .img01 img {
	width: 75%;
}
.section04 .section-inner .img02 {
	position: relative;
	left: -220px;
	margin-bottom: 100px;
	text-align: left;
}
.section04 .section-inner .img02 img {
	width: 96%;
}
.section04 .section-inner .img03 {
	position: relative;
	left: 38px;
	text-align: right;
}
.section04 .section-inner .img03 img {
	width: 72%;
}

/* ====================================================
    section05
==================================================== */

.section05 {
	background: #0058AA;
	padding: 115px 0 140px 0;
}
.section05 h2 {
	text-align: center;
	margin-top: 140px;
	margin-bottom: 75px;
}
.section05 h2:first-of-type {
	margin-top: 0;
}
.section05 h2 img {
	width: 750px;
}
.section05 > p {
	text-align: center;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 400;
    font-size: 36px;
    color: #fff;
    line-height: 1.6;
    position: relative;
    margin-bottom: 50px;
	letter-spacing: -0.02rem;
}
.section05 > .list01 {
	width: 960px;
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
}
.section05 > .list01 li {
	width: 32%;
}
.section05 > .list01 li img {
	width: 100%;
}
.section05 > .list02 {
	width: 960px;
	margin: 0 auto;
}
.section05 > .list02 li .box {
	width: 100%;
	background: #fff;
	text-align: center;
	margin-bottom: 40px;
}
.section05 > .list02 li .box > p {
	padding: 20px 0;
}
.section05 > .list02 li .box img {
	height: 40px;
}
.section05 > .list02 li .box .flex {
	display: flex;
	justify-content: space-between;
	padding: 0 2% 30px;
	box-sizing: border-box;
}
.section05 > .list02 li .box .flex a {
	display: block;
	width: 100%;
	/* width: 49.2%; */
	background: rgba(0, 88, 170, 0.1);
	color: #0058aa;
	padding: 15px 0;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 500;
	transition: 0.3s all;
}
.section05 > .list02 li .box .flex a:hover {
	opacity: 0.7;
}
.section05 > .list02 li > img {
	width: 100%;
}
.section05 > .list03 {
	width: 960px;
	margin: 0 auto;
}
.section05 > .list03 dt {
	width: 100%;
	background: #fff;
	text-align: center;
	padding: 20px 0 19px;
	position: relative;
	cursor: pointer;
}
.section05 > .list03 dt::after {
	transition: 0.3s all;
	content: "";
	position: absolute;
	top: 50%;
	right: 30px;
	margin-top: -0.3em;
	display: inline-block;
	vertical-align: middle;
	color: #0058aa;
	line-height: 1;
	width: 1em;
	height: 1em;
	border: 0.1em solid currentColor;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	transform: translateY(-25%) rotate(135deg);
}
.section05 > .list03 dt.off::after {
	transform: translateY(25%) rotate(-45deg);
}
.section05 > .list03 dt img {
	height: 37px;
}
.section05 > .list03 dd {
	/* border: 1px solid #fff; */
	display: none;
}
.section05 > .list03 dd ul {
	display: flex;
	justify-content: space-between;
	padding: 30px 1% 30px;
	box-sizing: border-box;
	flex-wrap: wrap;
}
.section05 > .list03 dd ul li {
	width: 48.5%;
	color: #fff;
	margin-bottom: 30px;
}
.section05 > .list03 dd ul li:nth-of-type(n+3) {
	margin-bottom: 0;
}
.section05 > .list03 dd ul li a {
	border: 1px solid #fff;
	display: block;
	padding: 15px 0;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 500;
	transition: 0.3s all;
	text-align: center;
}
.section05 > .list03 dd ul li a:hover {
	opacity: 0.7;
}

/* ====================================================
    page-nav
==================================================== */

.page-nav {
	position: fixed;
	z-index: 15;
	width: 100%;
	left: 0;
	bottom: 0;
}
.page-nav .btn-pagetop {
	position: absolute;
	width: 68px;
	height: 68px;
	right: 45px;
	bottom: 30px;
}
.page-nav .btn-pagetop a {
	display: block;
}
.page-nav .btn-pagetop a img {
	width: 68px;
	height: 68px;
}
.page-nav .btn-shop {
	display: none;
	position: absolute;
	width: 400px;
	height: 68px;
	left: 50%;
	transform: translateX(-50%);
	bottom: 30px;
}
.page-nav .btn-shop a {
	display: block;
}
.page-nav .btn-shop a img {
	width: 100%;
	height: auto;
}


/* ====================================================
    footer
==================================================== */

.footer {
	font-family: "游ゴシック体", YuGothic, Yu Gothic, "ヒラギノ角ゴ Pro", Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
	color: #262626;
	position: relative;
	z-index: 11
}
.footer--upper {
	background-color: #FFF0E6;
	padding: 120px 0 110px;
	text-align: center;
	color: #0058AA;
}
.footer--upper .ttl .name, .footer--upper .ttl h2 {
	line-height: 1;
	font-weight: 700
}
.footer--upper .ttl h2 {
	margin-bottom: 35px;
	font-size: 60px;
}
.footer--upper .time .number {
	font-weight: bold;
	font-size: 55px;
	line-height: 1;
}
.footer--upper .time .number02 {
	font-weight: bold;
	font-size: 30px;
	line-height: 1.5;
	margin-bottom: 55px;
}
.footer--upper .ttl .name {
	font-size: 1.40625vw;
	margin-top: .859375vw
}
.footer--upper p {
	font-size: 1.25vw;
	margin-top: 1.796875vw
}
.footer--upper .tel {
	margin-top: 2.34375vw
}
.footer--upper .tel .number {
	font-weight: 700;
	line-height: 1;
	font-size: 75px
}
.footer--upper .tel .number02 {
	font-weight: 700;
	line-height: 1.5;
	font-size: 52px
}
.footer--upper .tel p {
	line-height: 1.5;
	margin-top: 1.171875vw
}
.footer--upper small {
	margin-top: 20px;
	font-weight: bold;
	display: block;
	font-size: 24px
}
.footer--under {
	background-color: #fff;
	padding: 2.34375vw 0 2.65625vw;
	text-align: center
}
.footer--under .dhclogo {
	margin: 0 auto;
	width: 6.796875vw
}
.footer--under .dhclogo img {
	width: 100%
}
.footer--under h2 {
	margin-top: 2.65625vw;
	line-height: 1;
	color: #002c80;
	font-weight: 700;
	font-size: 1.40625vw
}
.footer--under address, .footer--under small {
	color: #262626;
	display: block
}
.footer--under address {
	margin-top: 1.640625vw;
	line-height: 1;
	font-size: 1.25vw
}
.footer--under small {
	margin-top: .9375vw;
	font-size: 1.09375vw
}
.footer--under ol {
	margin: 35px auto 0;
	width: 430px;
	display: flex;
	justify-content: space-between
}
.footer--under ol li {
	width: 4.296875vw
}
#pagetop {
	width: 3.75vw;
	height: 3.75vw;
	position: fixed;
	right: 30px;
	bottom: 20px;
	z-index: 100
}
.footer .footer--upper h3 {
	margin-top: 1em;
	margin-bottom: 1.875vw;
	font-weight: 400;
	font-size: 1.5vw
}
.footer .footer--upper .date1, .footer .footer--upper .date2 {
	margin: 0 auto;
	padding: 0 1.875vw 1.25vw;
	border: 1px solid #fff;
	border-radius: .625vw;
	max-width: 37.5vw
}
.footer .footer--upper .date1 h4, .footer .footer--upper .date2 h4 {
	margin: -.9375vw auto .9375vw;
	padding: 0 1.25vw;
	font-size: 1.25vw;
	line-height: 1.875vw;
	font-weight: 400;
	background: #002c80;
	display: table
}
.footer .footer--upper .date1 p, .footer .footer--upper .date2 p {
	margin-top: 0;
	letter-spacing: 0
}
.footer .footer--upper .date1 p small, .footer .footer--upper .date2 p small {
	margin-top: 0
}
.footer .footer--upper .date1 {
	display: table;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 6.25vw;
	position: relative
}
.footer .footer--upper .date1:after {
	content: "";
	position: absolute;
	left: calc(50% - 1.25vw);
	bottom: -4.6875vw;
	width: 0;
	height: 0;
	border: 1.25vw solid transparent;
	border-top-color: #fff
}
.footer .footer--upper .date1 h4 {
	font-size: 1.25vw;
	font-weight: 400
}
.footer .footer--upper .date1 dl {
	margin: 0 auto;
	width: 11em;
	display: grid;
	grid-template-columns: auto auto;
	text-align: left;
	font-size: 1.5vw
}
.footer .footer--upper .date1 dl dd {
	text-align: right
}
.footer .footer--upper .date1 p small {
	font-size: 1vw
}
.footer .footer--upper .date2 {
	padding-bottom: 1.875vw;
	border-width: 3px
}
.footer .footer--upper .date2 h4 {
	margin-bottom: 1.5625vw;
	font-weight: 700
}
.footer .footer--upper .date2 p {
	font-size: 2.25vw;
	font-weight: 700
}
.footer .footer--upper .date2 p small {
	font-size: 1vw;
	font-weight: 400
}

/* ====================================================
    pagetop
==================================================== */

.btn_pagetop {
	position: fixed;
	z-index: 30;
	right: .714285714285714vw;
	bottom: 1.42857142vw
}


@media (max-width:750px) {
	body {
		font-size: 3.733333333333334vw
	}

	.m-header {
		height: 17.33333333vw;
		background: none;
		padding: 0 2.66666667vw;
	}
	.m-header .logo {
		position: absolute;
		left: 2.66666667vw;
		top: 2vw;
	}
	.m-header .logo a {
		display: block;
		width: 26.666667vw;
		height: auto;
	}
	.m-header .sns a {
		display: block;
		width: 10vw;
		height: 10vw;
		margin: 0 0.66666667vw
	}	
	.m-header .logo {
		left: 2.6666vw
	}
	.m-header .logo {
		top: 2vw
	}
	.m-header .sns {
		right: 19.3333vw
	}
	.m-header .sns {
		top: 5.8333vw;
	}
	.m-header .sns {
		grid-gap: 4.6666vw;
		gap: 1.5666vw
	}
	.btn_pagetop {
		right: 2.666666vw;
		bottom: 26.6666vw
	}
	/* ====================================================
		m-nav
	==================================================== */

	.m-nav, .m-nav .menu {
		position: fixed;
		right: 10px;
		top: 15px
	}
	.m-nav .menu {
		width: 70px;
		height: 60px
	}
	.m-nav .menu .bar, .m-nav .menu:after, .m-nav .menu:before {
		position: absolute;
		left: 9px;
		top: 50%;
		margin-top: -15px;
		display: block;
		width: 40px;
		height: 3px;
		background: #DCBEAA;
		transition: .2s;
		border-radius: 4px;
	}
	.m-nav .menu:before {
		content: "";
		margin-top: -25px
	}
	.m-nav .menu:after {
		content: "";
		margin-top: -4px
	}
	.m-nav .menu .txt {
		position: absolute;
		left: -5px;
		top: 50%;
		margin-top: 5px;
		width: 70px;
		color: #DCBEAA;
		font-size: 23px;
		line-height: 1;
		font-weight: 500;
		display: flex;
		justify-content: center;
		text-align: center;
	}

	.m-nav .menu .txt {
		font-size: 2.933333333333333vw
	}
	.m-nav .logo {
		position: absolute;
		top: 2vw;
		left: 2.6666vw;
		display: block;
		width: 26.666667vw;
		height: auto;
	}
	.m-nav .logo a {
		display: block;
		width: 26.666667vw;
		height: auto;
	}
	.m-nav .logo a img {
		width: 26.666667vw;
		height: auto;
	}
	.m-nav .inner {
		position: absolute
	}
	.m-nav .inner {
		right: 0;
		top: 0;
		padding-top: 0;
		margin: 0 auto;
		bottom: 0;
	}
	.m-nav .inner ul.global {
		padding-top: 30.19323671vw;
		margin-bottom: 24.15458937vw;
		text-align: center;
	}
	.m-nav .inner ul.global li {
		position: relative;
		font-size: 5.79710145vw;
		margin-bottom: 10.86956522vw;
	}
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
}
@media screen and (max-width:751px) {
	img {
		image-rendering: auto
	}
	a:hover img {
		opacity: 1;
	}
	#pagetop {
		width: 11.333vw;
		height: 11.333vw;
		right: 1.86vw;
		bottom: 3.73vw
	}

	/* ====================================================
		kv
	==================================================== */
	.kv {
		padding-top: 6.66666667vw;
		width: 100%;
		overflow: hidden;
	}
	.kv .logo-product {
		width: 44vw;
		margin: 0 auto 11.06666667vw;
	}
	.kv .kv-content {
		position: relative;
		width: 93.33333333vw;
		height: 130.4vw;
		margin: 0 auto 7.33333333vw;
	}
	.kv .kv-content .kv-content01 {
		width: 124vw;
		top: 31vw;
		left: -13.666667vw;
	}
	.kv .kv-content .kv-content01 img {
		max-width: none;
		width: 124vw;
	}
	.kv .kv-content .kv-content02 {
		background: url(../img/content/kv_bg02_sp.png) 50% 50% no-repeat;
		background-size: contain;
		width: 100%;
		height: 130.4vw;
	}
	.kv .kv-content .kv-content02 .kv-content02-01 {
		position: absolute;
		width: 89.33333333vw;
		top: -0.66666667vw;
		left: 1.33333333vw;
	}
	.kv .kv-content .kv-content02 .kv-content02-01 img {
		width: 89.33333333vw;
	}
	.kv .kv-content .kv-content02 .kv-content02-02 {
		width: 85.06666667vw;
		bottom: -1vw;
		right: 0;
		z-index: 8;
	}
	.kv .kv-content .kv-content02 .kv-content02-02 img {
		width: 85.06666667vw;
	}
	.kv .kv-content .kv-content03 {
		width: 88.66666667vw;
		top: -6vw;
		left: 3vw;
	}
	.kv .kv-content .kv-content03 img {
		width: 88.66666667vw;
	}

	/* ====================================================
		section01
	==================================================== */

	.section01 {
		background: url(../img/content/bg_lead_sp.png) 50% 0 no-repeat;
		background-size: 140vw auto;
		padding: 33.73333333vw 0 51.33333333vw;
	}
	.section01 .section-inner {
		width: auto;
		margin: 0 auto;
	}
	.section01 h2 {
		text-align: center;
		margin-bottom: 6.66666667vw;
	}
	.section01 p {
		font-size: 3.73333333vw;
		margin-bottom: 4.366667vw;
		letter-spacing: -0.02rem;
	}
	.section01 p:last-of-type {
		margin-bottom: 0;
	}

	/* ====================================================
		section02
	==================================================== */

	.section02 {
		padding: 0 0 19.33333333vw 0;
	}
	.section02 h2 {
		width: 37.73333333vw;
		margin: 0 auto 7.6vw;
	}
	.section02 .sp-tab {
		width: 89.33333333vw;
		margin: 0 auto;
	}
	.section02 .sp-item {
		display: flex;
		justify-content: space-between;
		padding-right: 1vw;
	}
	.section02 .sp-item li {
		text-align: center;
		width: 50%;
		font-size: 0;
		vertical-align: bottom;
	}
	.section02 .sp-item li a {
		display: inline-block;
		width: 42.66666667vw;
		height: 9.33333333vw;
	}
	.section02 .sp-item li a span {
		display: inline-block;
		position: relative;
		width: 42.66666667vw;
		height: 9.33333333vw;
	}
	.section02 .sp-item li a span img {
		position: absolute;
		bottom: 0;
		left: 0;
	}
	.section02 .sp-item li.on .tab01 {
		display: block;
	}
	.section02 .sp-item li.on .tab02 {
		display: none;
	}
	.section02 .sp-item li.off .tab01 {
		display: none;
	}
	.section02 .sp-item li.off .tab02 {
		display: block;
	}
	.section02 .tab-content .on {
		display: block;
	}
	.section02 .tab-content .off {
		display: none;
	}

	/* ====================================================
		section03
	==================================================== */

	.section03 {
	}
	.section03 h2 {
		width: 37.73333333vw;
		margin: 0 auto 7.6vw;
	}
	.section03 h3 {
		width: 89.33333333vw;
		margin: 0 auto 4.66666667vw;
	}
	.section03 h3 img {
		width: 89.33333333vw;
	}
	.section03 .section-inner {
		width: 100%;
		padding: 4.4vw 0 0 0;
		overflow: hidden;
	}
	.section03 .section-inner h4 {
		margin-bottom: 4.8vw;
        width: auto;
	}
	.section03 .section-inner dt {
		margin-bottom: 0;
	}
	.section03 .section-inner dt img {
		width: auto;
		height: 19.46666667vw;
	}
	.section03 .section-inner dd {
		margin-bottom: 6.8vw;
	}
	.section03 .section-inner dd:last-of-type {
		margin-bottom: 0;
	}
	.section03 .section-inner dd img {
		width: 106.66666667vw;
		max-width: none;
		margin-left: -3.33333333vw;
	}
	.section03 .section-inner dd.size-s img {
		width: 101.33333333vw;
		margin-left: -0.512222222vw;
	}

	/* ====================================================
		section04
	==================================================== */

	.section04 {
		background-size: 23px auto;
		padding: 6.66666667vw 0 16.4vw 0;
	}
	.section04 .section-inner {
		width: 100%;
		overflow: hidden;
	}
	.section04 .section-inner h2 {
		width: 89.73333333vw;
		margin:0 auto 3.2vw;
	}
	.section04 .section-inner h2 img {
		width: 89.73333333vw;
	}
	.section04 .section-inner .img01 {
		width: 97.73333333vw;
		position: relative;
		right: -2.26666667vw;
		margin-bottom: 0;
	}
	.section04 .section-inner .img01 img {
		width: 97.73333333vw;
	}
	.section04 .section-inner .img02 {
		width: 141.6vw;
		left: -38.8vw;
		top: -8.33333333vw;
		margin-bottom: 0;
	}
	.section04 .section-inner .img02 img {
		width: 141.6vw;
	}
	.section04 .section-inner .img03 {
		width: 100vw;
		right: -7.2vw;
		left: unset;
	}
	.section04 .section-inner .img03 img {
		width: 100vw;
	}

	/* ====================================================
		section05
	==================================================== */

	.section05 {
		padding: 13.33333333vw 0 13.33333333vw 0;
	}
	.section05 h2 {
		margin-top: 10vw;
		margin-bottom: 6vw;
	}
	.section05 > p {
		font-size: 4.53333333vw;
		margin-bottom: 5.33333333vw;
	}
	.section05 > .list01 {
		width: 92%;
		margin: 0 auto;
		display: block;
		margin: 0 auto;
	}
	.section05 > .list01 li {
		margin-bottom: 2.66666667vw;
	}
	.section05 > .list01 li img {
		max-width: none;
		width: 92vw;
	}
	.section05 > .list02 {
		width: 92%;
	}
	.section05 > .list02 li .box {
		margin-bottom: 15px;
	}
	.section05 > .list02 li .box > p {
		padding: 12.5px 0;
	}
	.section05 > .list02 li .box img {
		height: 45px;
	}
	.section05 > .list02 li .box .flex {
		display: flex;
		padding: 0 5% 15px;
	}
	.section05 > .list02 li .box .flex a {
		width: 100%;
		/* width: 48%; */
		padding: 15px 0;
		font-size: 2.5vw;
	}
	.section05 > .list02 li a img {
		width: 100%;
	}
	.section05 > .list03 {
		width: 92%;
	}
	.section05 > .list03 dt {
		width: 100%;
	}
	.section05 > .list03 dt::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 30px;
		margin-top: -0.3em;
		display: inline-block;
		vertical-align: middle;
		color: #0058aa;
		line-height: 1;
		width: 1em;
		height: 1em;
		border: 0.1em solid currentColor;
		border-left: 0;
		border-bottom: 0;
		box-sizing: border-box;
		transform: translateY(-25%) rotate(135deg);
	}
	.section05 > .list03 dt.off::after {
		transform: translateY(25%) rotate(315deg);
	}
	.section05 > .list03 dt img {
		height: 40px;
	}
	.section05 > .list03 dd {
		display: none;
	}
	.section05 > .list03 dd ul {
		display: flex;
		justify-content: space-between;
		padding: 15px 2% 15px;
		box-sizing: border-box;
		flex-wrap: wrap;
	}
	.section05 > .list03 dd ul li {
		width: 100%;
		margin-bottom: 15px;
	}
	.section05 > .list03 dd ul li:nth-of-type(n+3) {
		margin-bottom: 15px;
	}
	.section05 > .list03 dd ul li:last-of-type {
		margin-bottom: 0;
	}
	.section05 > .list03 dd ul li a {
		border: 1px solid #fff;
		display: block;
		padding: 10px 0;
		font-size: 3.2vw;
	}

	/* ====================================================
		page-nav
	==================================================== */

	.page-nav .btn-pagetop {
		position: absolute;
		width: 11.33333333vw;
		height: 11.33333333vw;
		right: 25px;
		bottom: 25px;
	}
	.page-nav .btn-pagetop a img {
		width: 11.33333333vw;
		height: 11.33333333vw;
	}
	.page-nav .btn-shop {
		width: 66.66666667vw;
		height: 11.33333333vw;
		left: 25px;
		transform: translateX(0);
		bottom: 25px;
	}
	.page-nav .btn-shop a img {
		width: 66.66666667vw;
		height: 11.33333333vw;
	}

	/* ====================================================
		footer
	==================================================== */

	.footer--upper {
		padding: 9.333vw 0 8.4vw
	}
	.footer--upper .ttl h2 {
		font-size: 6vw
	}
	.footer--upper .ttl .name {
		font-size: 3.7333vw;
		margin-top: 2.4vw
	}
	.footer--upper p {
		font-size: 3.6vw;
		margin-top: 6.4vw;
		letter-spacing: -.06em
	}
	.footer--upper .time .number {
		font-size: 6.4vw;
	}
	.footer--upper .time .number02 {
		font-size: 3.33333333vw;
		margin-bottom: 6.66666667vw;
	}
		.footer--upper .tel {
		margin-top: 6.666vw
	}
	.footer--upper .tel .number {
		font-size: 7.7294686vw
	}
	.footer--upper .tel .number02 {
		font-size: 6vw
	}
		.footer--upper .tel p {
		margin-top: 2.1333vw
	}
	.footer--upper small {
		margin-top: 6.4vw;
		font-size: 3.2vw
	}
	.footer--under {
		padding: 7.8666vw 0 4vw
	}
	.footer--under .dhclogo {
		width: 17.333vw
	}
	.footer--under h2 {
		margin-top: 8vw;
		font-size: 4vw
	}
	.footer--under address {
		margin-top: 1.6vw;
		line-height: 1.4;
		font-size: 3.2vw
	}
	.footer--under .sns {
		margin: 6vw auto 0;
		width: 67.9333vw
	}
	.footer--under .sns li {
		width: 10.5333vw
	}
	.footer--under small {
		margin-top: 3.2vw;
		font-size: 2.8vw
	}
	.footer .footer--upper h3 {
		margin-bottom: 5.4vw;
		font-size: 4.32vw
	}
	.footer .footer--upper .date1, .footer .footer--upper .date2 {
		margin-left: 5.4vw;
		margin-right: 5.4vw;
		padding: 0 5.4vw 3.6vw;
		border-radius: 1.8vw;
		max-width: 108vw
	}
	.footer .footer--upper .date1 h4, .footer .footer--upper .date2 h4 {
		margin: -2.7vw auto 2.7vw;
		padding: 0 3.6vw;
		font-size: 3.6vw;
		line-height: 5.4vw
	}
	.footer .footer--upper .date1 {
		margin-bottom: 18vw;
		margin-left: auto;
		margin-right: auto
	}
	.footer .footer--upper .date1:after {
		left: calc(50% - 3.6vw);
		bottom: -13.5vw;
		border: 3.6vw solid transparent;
		border-top-color: #fff
	}
	.footer .footer--upper .date1 h4 {
		font-size: 3.6vw
	}
	.footer .footer--upper .date1 dl {
		font-size: 4.32vw
	}
	.footer .footer--upper .date1 p small {
		font-size: 2.88vw
	}
	.footer .footer--upper .date2 {
		padding-bottom: 6.3vw
	}
	.footer .footer--upper .date2 h4 {
		margin-bottom: 5.4vw
	}
	.footer .footer--upper .date2 p {
		font-size: 6.48vw
	}
	.footer .footer--upper .date2 p small {
		font-size: 2.88vw
	}

	.m-nav .menu {
		width: 60px;
		height: 60px
	}

}