﻿@charset "UTF-8";

/* layout */
/*=================================
	Initialization of style
===================================*/
body {
	margin: 0;
	padding: 0;
	background:#fff;
    color: #111;
	font-size: 14px;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	line-height: 150%;
	text-align: center;
	font-weight:500;
	width: 100%;
	min-width:100%!important;
    }
a:link,
a:visited {
	text-decoration: none;
    color: #111;
    }
a:hover,
a:active {
	text-decoration: underline;
    color: #111;
    }
div,h1,h2,h3,h4,h5,h6,p,dl,dt,dd,ul,ol,li,form {
	margin: 0;
	padding: 0;
    }
img, a img {
	border:none;
	vertical-align: bottom;
    }
img {
	max-width:100%;
	height:auto;
    }
a img:hover {
	filter: alpha(opacity=75);
	-moz-opacity:0.75;
	opacity:0.75;
    }
.pn {display:none;}

/* blockgroup */
h1 {
    color: #fff ;
    font-weight:normal;
    font-size: 11px;
    letter-spacing:0.075em;
    }
/* List_group */
ul,ol,li { list-style: none;}                                                                                                                         

/* inline-style */
address {
    font-style: normal;
    font-size: 12px;
    color:#111;
    letter-spacing: 0.1em;
    }
address a,
address a:link,
address a:visited {
    text-decoration: none;
    color: #111;
    }
address a:hover,
address a:active {
    text-decoration: underline;
    color: #111;
    }
	
/* table */
table { width:100%;}
tr,th,td {}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    }
.ff01 {
    font-family: 'Alata', sans-serif;
    font-weight:normal;
    text-transform: uppercase;
    }

/*=============================
	Layout-Base
===============================*/
/* header
-------------------------*/
.clearfix:after {
    display: block;
    content: " ";
    clear: both;
    }
header {
    position: relative;
    background:#eef3f7;
    }
#header {
    position:relative;
    width:96%;
    max-width:1720px;
    margin: 0 auto;
    padding:15px 0 18px;
    }
.siteTitle {width:16%;text-align: left;}
.h_right {
    width:83%;
    max-width:1120px;
    margin-top:20px;
    }
.h_info {
    width:39%;
    max-width:420px;
    }
.tel {text-align: right;}
.tel dt {
    letter-spacing: 0.025em;
    line-height: 1.2em;
    }
.tel dd {
    font-size:13px;
    letter-spacing: 0.075em;
    line-height: 1.3em;
    margin-top:5px;
    }
.tel a {text-decoration: none;}
.h_right .tel {width:52%;}
.h_right .tel dt {font-size:20px;}
.btn_contact {
    background:#ffe400;
    letter-spacing: 0.1em;
    transition: .4s;
    }
.btn_contact a {
    color:#222;
    text-decoration: none;
    display: block;
    }
.btn_contact:hover,
.btn_contact:active {background:#29abe2;}
.h_info .btn_contact {
    width:47%;
    max-width:200px;
    height:50px;
    line-height:50px;
    border-radius:25px;
    font-size:18px;
    }
.xpn{ display:none!important;}

	
/* global-navigation
-------------------------*/
.pc-nav {
    width: 60%;
    max-width:680px;
    }
.pc-nav nav {}
.pc-nav li {
    font-size:16px;
    line-height: 50px;
    letter-spacing:0.075em;
    font-weight:bold;
    }
.pc-nav li a {
    text-decoration:none;
    transition: .4s;
    }
.pc-nav li a:hover ,
.pc-nav li a:active {color:#0068b7;}

@media screen and (max-width: 1360px) {
.h_right .tel dt {font-size:16px;}
.pc-nav li {font-size:14px;}
}


/* main-visual
-------------------------*/
.topmainbox-wrap{
    clear:both;
    max-width:1720px;
    width:96%;
    margin:0 auto 20px;
    height: 860px;
    position:relative;
    z-index: 10;
    background:url("https://basefile.akamaized.net/dustymiller-base-shop/68ca41c90f8d4/main-visual.jpg") no-repeat center center;
    background-size:cover;
    border-radius:30px;
    }
.topmainbox-wrap .mainTxt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    width:96%;
    max-width:1080px;
    margin:0 auto;
    z-index: 10;
    }
.topmainbox-wrap .mainTxt h2 {
    width:40%;
    margin:0 auto;
    }
	
	

	


/* contact
-------------------------*/
#contact {background:#0068b7;}
#contact section {padding:95px 0 100px;}
#contact h3 ,
#contact h3 span {color:#fff;}
#contact ul.flex {
    max-width:960px;
    margin:40px auto 0;
    }
#contact li {}
#contact .tel {
    width:34%;
    max-width:320px;
    color:#fff;
    margin-top:5px;
    }
#contact .tel dt {font-size:22px;}
#contact .tel dt .tel_link {font-size:32px;}
#contact .tel a {color:#fff;}
#contact .btn_contact ,
#contact .btn_line {
    width:31%;
    max-width:300px;
    height:70px;
    line-height:70px;
    border-radius:35px;
    transition: .4s;
    }
#contact .btn_line {
    font-size:18px;
    background:#fff;
    }
#contact .btn_line span {
    background:url("https://basefile.akamaized.net/dustymiller-base-shop/68ca40d58ca0e/icon_line.png") no-repeat left center;
    padding-left:45px;
    display: inline-block;
    }
#contact .btn_contact {
    font-size:20px;
    letter-spacing: 0.05em;
    }
#contact .btn_line:hover ,
#contact .btn_line:active {background:#00b900;}
#contact .btn_line a {
    display: block;
    text-decoration: none;
    height:100%;
    color:#111;
    }
/* pagetop
-------------------------*/
#pagetop {}
#totop {
    position:fixed;
    z-index:100;
    right:2%;
    bottom:20%;
    }
#totop img {display:block;}

/* sidebar
-------------------------*/
#sidebar {
    position:fixed;
    z-index:10;
    right:0;
    top:15%;
    width:60px;
    }
#sidebar li {
    width:100%;
    line-height:60px;
    border-radius:10px 0 0 10px;
    background:#ffea02;
    display: inline-block;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-weight:bold;
    font-size:16px;
    margin-top:10px;
    transition: .4s;
    }
#sidebar li:nth-child(1) span {
    background:url("https://basefile.akamaized.net/dustymiller-base-shop/68ca40d58ca0e/icon_line.png") no-repeat center top;
    padding-top:30px;
    }
#sidebar li:nth-child(2) span {
    background:url("https://basefile.akamaized.net/dustymiller-base-shop/68ca40a874dbc/icon_base.png") no-repeat center top;
    padding-top:40px;
    }
#sidebar li a {
    display: block;
    text-decoration: none;
    color:#111;
    padding:15px 0;
    }
#sidebar li:hover ,
#sidebar li:active {background:#29abe2;}



/* footer
-------------------------*/
footer {}
#footer {
    max-width:1080px;
    width:96%;
    margin:0 auto;
    padding:90px 0 15px;
    }
.ft_left {
    width:40%;
    max-width:247px;
    text-align: left;
    }
.ft_left dd {
    margin-top:15px;
    line-height: 1.6em;
    font-size:15px;
    letter-spacing: 0.075em;
    }
.ft_nav {
    width:58%;
    max-width:460px;
    text-align: left;
    }
.ft_nav li {
    font-size:15px;
    letter-spacing: 0.075em;
    line-height:45px;			
    }
.copyright {margin-top:60px;}
.copyright address {line-height:1.3em;}


/*=============================
	Common-class
===============================*/
/* float */
.fLeft { float: left;}
.fRight { float: right;}

/* float-clear */
.clear { clear:both;}
br.clear {
    height: 0;
    line-height: 0;
    font-size: 0;
    }

/* image-layout */
.imgleft{ float:left;}
.imgleft img{display:block;}
.imgright{ float:right;}
.imgright img{display:block;}

/* table-default-style */
table.def {}
	table.def tr,th,td {}
	table.def th {}
	table.def td {}

/* Bread_crumb_List */
.bcList {text-align:right; margin:20px 8px 5px 0;}
	.bcList li {display:inline;}
	.bcList li a{padding-right:15px;}
	.bcList li em {font-weight:bold; font-style:normal;}

/*=============================
	TopPage setting
===============================*/
#wrap-content.topcontents {}
section {
    max-width:1280px;
    width:96%;
    margin:0 auto;
    position: relative;
    }
.w1080 {
    max-width:1080px;
    margin:0 auto;
    position: relative;
    }
.wc_h3_01 {
    font-size:18px;
    line-height: 1.3em;
    letter-spacing: 0.075em;
    }
.wc_h3_01 span {
    font-size:80px;
    line-height: 1.3em;
    letter-spacing: 0.1em;
    color:#0068b7;
    display: block;
    }
.btn01 {
    width:96%;
    max-width:280px;
    height:70px;
    line-height:70px;
    letter-spacing: 0.1em;
    text-align:center;
    font-size:18px;
    border-radius:35px;
    background:url("https://basefile.akamaized.net/dustymiller-base-shop/68ca3f6010fd6/arrow.png") no-repeat 92% center,#006ed4;
    margin:0 auto;
    transition: .4s;
    }
.btn01 a {
    color:#fff;
    display:block;
    text-decoration:none;
    }
.btn01:hover,
.btn01:active {background:url("https://basefile.akamaized.net/dustymiller-base-shop/68ca3f6010fd6/arrow.png") no-repeat 92% center,#29abe2;}



/*=============================
	Sub(Lower)Page setting
===============================*/
/*color*/
.font-en {font-family: "Alata", sans-serif;}
.bg {background: #EEF3F7;}
.bg02 {background: #E9EFE2;}
.bg-grade {background: linear-gradient(127deg, #0099ff, #1a49ba);}
.bg-dot {
    background-color: #fff;
    background-image: radial-gradient(circle, #ace7ff 1.4px, transparent 1.4px);
    background-position: 0 0;
    background-size: 15px 15px;
    }
.flex-nml {
  display: flex;
  flex-wrap: wrap;
}
.flex-btw {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flex-cnt {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.row-reverse {flex-direction: row-reverse;}



/* -------mv------- */
.sub.topmainbox-wrap {height: 400px;}
@media screen and (max-width: 768px) {
  .sub.topmainbox-wrap {height: 250px;}
}
.sub.topmainbox-wrap img {
    height: inherit;
    width: 100%;
    -o-object-fit: cover;
     object-fit: cover;
    }
.sub.topmainbox-wrap .page-title {
    width: -moz-fit-content;
    width: fit-content;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 11;
    }
.sub.topmainbox-wrap .page-title span {
    max-width: 100%;
    display: inline-block;
    vertical-align: top;
    position: relative;
    line-height: 1;
    white-space: nowrap;
    text-overflow: ellipsis;
    }
.sub.topmainbox-wrap .page-title .font-jp {
    font-size: 20px;
    color: #0068b7;
    font-weight: bold;
    letter-spacing: 0.1em;
    padding: 0.4em 0.8em;
    background: #fff;
    }
@media screen and (max-width: 1040px) {
    .sub.topmainbox-wrap .page-title .font-jp {font-size: 18px;}
    }
@media screen and (max-width: 768px) {
    .sub.topmainbox-wrap .page-title .font-jp {font-size: 16px;}
    }
.sub.topmainbox-wrap .page-title .font-en {
    color: #fff;
    font-size: 80px;
    letter-spacing: 0.1em;
    margin-bottom: 10px;
    }
@media screen and (max-width: 1024px) {
.sub.topmainbox-wrap .page-title .font-en {font-size: 56px;}
}
@media screen and (max-width: 768px) {
.sub.topmainbox-wrap .page-title .font-en {font-size: 8vw;}
}

/* -------title-------- */
.sub_contents {
    font-size: 16px;
    line-height: 1.5;
    text-align: left;
    letter-spacing: 0.075em;
    }
@media screen and (max-width: 1024px) {
  .sub_contents {font-size: 15px;}
}
@media screen and (max-width: 768px) {
  .sub_contents {font-size: 14px;}
}
.sub_contents section {
    width: 100%;
    max-width: initial;
    }
.sub_contents figure {margin: 0;}
.sub_contents li.content:not(:last-child) {margin-bottom: 60px;}
@media screen and (max-width: 768px) {
.sub_contents li.content:not(:last-child) {margin-bottom: 30px;}
}
.sub_contents .copy {
    font-size: 32px;
    letter-spacing: 0.05em;
    line-height: 1.6;
    }
@media screen and (max-width: 1040px) {
.sub_contents .copy {font-size: 28px;}
}
@media screen and (max-width: 768px) {
.sub_contents .copy {font-size: 24px;}
}
.sub_contents .copy .color {
    color: #0068b7;
    font-weight: bold;
    }
.sub_contents .copy .border {border-bottom: 6px double #0068b7;}
.sub_contents .title-01 {
    margin-bottom: 30px;
    padding: 0 0 15px 0;
    font-size: 24px;
    font-weight: bold;
    text-align: left;
    border-bottom: 2px solid #ddd;
    line-height: 180%;
    position: relative;
    letter-spacing: 0.02em;
    }
@media screen and (max-width: 1024px) {
.sub_contents .title-01 {font-size: 20px;}
}
.sub_contents .title-01::after {
    position: absolute;
    content: " ";
    border-bottom: solid 3px #0068b7;
    bottom: -2px;
    width: 15%;
    display: block;
    left: 0;
    }
.sub_contents .title-02 {
    margin: 20px 0 30px;
    position: relative;
    font-weight: normal;
    text-shadow: 0 0 2px white;
    text-align: left;
    font-size: 24px;
    line-height: 1.8rem;
    z-index: 0;
    border-bottom: 1px solid #eee;
    padding: 0 0 15px 15px;
    }
@media screen and (max-width: 768px) {
.sub_contents .title-02 {font-size: 20px;}
}
@media screen and (max-width: 768px) {
.sub_contents .title-02 {
    font-size: 16px;
    margin: 0 0 15px 10px;
    padding-bottom: 10px;
    }
}
.sub_contents .title-02::before {
  content: "";
  position: absolute;
  background: #0068b7;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  top: 40%;
  left: -15px;
  transform: translateY(-50%);
  z-index: -1;
}
@media screen and (max-width: 768px) {
.sub_contents .title-02::before {
    width: 45px;
    height: 45px;
    top: 50%;
    left: -10px;
    }
}
.sub_contents .title-03 {
  padding: 10px;
  font-size: 24px;
  padding-left: 1em;
  position: relative;
  font-weight: 600;
  border-bottom: 1px solid #0068b7;
}
@media screen and (max-width: 1024px) {
  .sub_contents .title-03 {font-size: 20px;}
}
@media screen and (max-width: 768px) {
  .sub_contents .title-03 {font-size: 17px;}
}
.sub_contents .title-03::before {
    content: "";
    width: 10px;
    height: 10px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background: #0068b7;
    }
.sub_contents .title-04 {
    text-align: center;
    position: relative;
    }
.sub_contents .title-04:before {
    content: "";
    display: block;
    width: 80%;
    height: 2px;
    background: #0068b7;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    }
.sub_contents .title-04 span {
    display: inline-block;
    font-size: 20px;
    color: #fff;
    font-weight: bold;
    padding: 0.5em 1.5em;
    background: #0068b7;
    border-radius: 50vh;
    position: relative;
    z-index: 2;
    }

@media screen and (max-width: 768px) {
.sub_contents .catch {font-size: 17px;}
.sub_contents .title-01 {
    margin: 0 0 15px;
    padding: 10px 0 10px 0;
    font-size: 18px;
    }
.sub_contents .title-04 {
    font-size: 16px;
    margin-bottom: 10px;
    padding: 6px 0 4px 15px;
    border-left: 3px solid #0068b7;
    font-weight: 600;
    }
.sub_contents .title-05 {
    font-size: 16px;
    margin-bottom: 10px;
    padding-left: 15px;
    }
.sub_contents .title-05::before {
    top: 5px;
    left: 0;
    width: 10px;
    height: 10px;
    }
.sub_contents .title-06 {font-size: 16px;}
}

/* -----responsive----- */
.sub_contents .sp {display: none;}
.sub_contents .pc {display: block;}
.sub_contents iframe {width: 100%;}
@media screen and (max-width: 768px) {
.sub_contents .sp {display: block;}
.sub_contents .pc {display: none;}
}

.mb20 {margin-bottom: 20px;}
.mb30 {margin-bottom: 30px;}
.mb40 {margin-bottom: 40px;}
.mb50 {margin-bottom: 50px;}
.mb70 {margin-bottom: 70px;}
.mb80 {margin-bottom: 80px;}
.mb100 {margin-bottom: 100px;}
.mt10 {margin-top: 10px;}
.mt20 {margin-top: 20px;}
.mt30 {margin-top: 30px;}
.mt50 {margin-top: 50px;}
.mt80 {margin-top: 80px;}
.mt100 {margin-top: 100px;}

@media screen and (max-width: 768px) {
.mb20 {margin-bottom: 10px;}
.mb30 {margin-bottom: 20px;}
.mb40 {margin-bottom: 20px;}
.mb50 {margin-bottom: 30px;}
.mb70 {margin-bottom: 40px;}
.mb80 {margin-bottom: 40px;}
.mb100 {margin-bottom: 50px;}
.mt10 {margin-top: 5px;}
.mt20 {margin-top: 10px;}
.mt30 {margin-top: 15px;}
.mt50 {margin-top: 25px;}
.mt80 {margin-top: 40px;}
}



/*  共通setting
------------------- */
.sub_contents {}
.sub_contents .inner__large {
    max-width: 1200px;
    padding: 100px 0;
    width: 96%;
    margin: 0 auto;
    }
@media screen and (max-width: 1024px) {
.sub_contents .inner__large {padding: 80px 0;width: 94%;}
}
@media screen and (max-width: 768px) {
.sub_contents .inner__large {padding: 50px 0;width: 92%;}
}
.sub_contents .inner {
    max-width: 1080px;
    padding: 100px 0;
    width: 96%;
    margin: 0 auto;
    }
@media screen and (max-width: 1024px) {
.sub_contents .inner {padding: 80px 0;width: 94%;}
}
@media screen and (max-width: 768px) {
.sub_contents .inner {padding: 50px 0;width: 92%;}
}
.sub_contents .ta-c {text-align: center;}
@media screen and (max-width: 768px) {
.sub_contents .ta-c {text-align: left;}
}
.sub_contents .lh {line-height: 2.2;}
.sub_contents .small {
    display: block;
    font-size: 14px;
    margin-top: 10px;
    }
.sub_contents .link {
    color: #0068b7;
    text-decoration: underline;
    }
.sub_contents .marker {background: linear-gradient(transparent 50%, #ffdf80 50%);}
.sub_contents .list-disc li {
    padding-left: 1em;
    position: relative;
    }
.sub_contents .list-disc li:before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    background: #0068b7;
    border-radius: 50vh;
    position: absolute;
    top: 0.6em;
    left: 0;
    }
@media screen and (max-width: 768px) {
.sub_contents p.ta-c {text-align: left;}
.sub_contents .cen-txt {text-align: left;}
.sub_contents .small {font-size: 12px;}
.sub_contents .lh {line-height: 2;}
}

.sub_contents :target {scroll-margin-top: 120px; /* 固定ヘッダーの高さ分調整 */}
.sub_contents .textbox {align-items: start;}
.sub_contents .textbox .textarea {
    width: 47%;
    font-weight: bold;
    text-align: justify;
    }
@media screen and (max-width: 768px) {
.sub_contents .textbox .textarea {
    width: 100%;
    max-width: initial;
    }
}

.sub_contents .textbox .imgarea {width: 47.5%;}
@media screen and (max-width: 768px) {
.sub_contents .textbox .imgarea {
    width: 100%;
    margin-bottom: 20px;
    }
}
.sub_contents .textbox .imgarea img {
    width: 100%;
    border-radius: 10px;
    }
.sub_contents .textbox02 .textarea {
    width: 50%;
    text-align: justify;
    }

@media screen and (max-width: 600px) {
.sub_contents .textbox02 .textarea {width: 100%;}
}
.sub_contents .textbox02 .imgarea {width: 45%;}

@media screen and (max-width: 600px) {
.sub_contents .textbox02 .imgarea {
    width: 100%;
    text-align: center;
    margin-bottom: 1em;
    }
}
.sub_contents .textbox02 .imgarea img {
    width: 100%;
    border-radius: 10px;
    }
.sub_contents .right {
    margin-top: 10px;
    text-align: right;
    font-size: 15px;
    }
.sub_contents .right span {
    margin-left: 1rem;
    font-size: 17px;
    }
@media screen and (max-width: 768px) {
.sub_contents .right {font-size: 13px;}
.sub_contents .right span {font-size: 15px;}
}
.sub_contents .box__items .box__item {align-items: center;}
.sub_contents .box__items .box__item:nth-of-type(even) {flex-direction: row-reverse;}
.sub_contents .box__items .box__title {
    line-height: 1.2;
    margin-bottom: 1em;
    }
.sub_contents .box__items .box__title .font-jp {
    display: inline-block;
    font-size: 36px;
    color: #fff;
    font-weight: bold;
    padding: 0.3em 0.5em;
    background: #0068b7;
    margin-bottom: 10px;
    }
@media screen and (max-width: 1024px) {
.sub_contents .box__items .box__title .font-jp {font-size: 30px;}
}
@media screen and (max-width: 768px) {
.sub_contents .box__items .box__title .font-jp {font-size: 24px;margin-bottom: 5px;}
}
.sub_contents .box__items .box__title .ff01 {
    display: block;
    font-size: 20px;
    color: #0068b7;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 10px;
    }
@media screen and (max-width: 768px) {
.sub_contents .box__items .box__title .ff01 {font-size: 16px;margin-bottom: 5px;}
}
.sub_contents .bread_crumb_list {
    font-size: 13px;
    color: #888;
    position: relative;
    z-index: 10;
    background: #EEF3F7;
    }
.sub_contents .bread_crumb {
    width: 96%;
    text-align: right;
    padding: 10px 0px;
    max-width: 1200px;
    margin: 0px auto 0px;
    position: relative;
    top: 0px;
    }
@media screen and (max-width: 1024px) {
.sub_contents .bread_crumb {width: 92%;}
}
.sub_contents .bread_crumb li {display: inline;}
.sub_contents .bread_crumb li:after {
    content: ">";
    padding-left: 10px;
    padding-right: 5px;
    }
.sub_contents .bread_crumb li:last-child:after {content: "";}
.sub_contents .bread_crumb li a {color: #111;}
.sub_contents .bread_crumb li a:hover {text-decoration: none;}
.sub_contents .bread_crumb li.current {font-weight: normal;}
.sub_contents ul.pagenation {
    text-align: center;
    letter-spacing: 0;
    width: auto;
    min-width: 0;
    border: none;
    background: none;
    margin-top: 50px;
    }
.sub_contents ul.pagenation li {
    display: inline-block;
    margin: 3px;
    line-height: 1.6;
    height: auto;
    }
.sub_contents .pagenation li a,
.sub_contents .pagenation li span {
    display: block;
    padding: 5px 15px;
    color: #0068b7;
    background: #ddd;
    font-size: 18px;
    margin-bottom: 0;
    text-decoration: none;
    border-radius: 50vh;
    }
@media screen and (max-width: 768px) {
.sub_contents .pagenation li a,
.sub_contents .pagenation li span {
    font-size: 15px;
    padding: 4px 12px;
    }
}
.sub_contents .pagenation li a:hover {
    background: #0068b7;
    color: #fff;
    transition: 0.6s;
    }
.sub_contents .pagenation li span {
    background: #0068b7;
    color: #fff;
    
    }


