@charset "utf-8";

/* ========================================
PC
======================================== */

@media screen and (min-width: 1201px) {

header {
width: 1200px;
align-items: center;
}

header .nav {
display: flex;
align-items: center;
}

header ul {
display: flex;
}

header ul li:not(:last-child) {
padding: 0 20px;
text-align: center;
}

header ul li:not(:last-child) a {
font-size: 10px;
}

header ul li:not(:last-child) a:hover,
header ul li:not(:last-child) a.nav_on {
color: #0e7982;
}

header ul li:not(:last-child) a .material-symbols-outlined {
display: block !important;
margin-bottom: -10px;
font-size: 2.5rem;
}

.hamburger {
display: none;
}

header li:last-child a {
display: block;
width: 200px;
height: 40px;
padding: 10px 30px;
line-height: 25px;
color: #fff;
background: #0e7982;
border-radius: 20px;
}

header li:last-child a:hover {
background: #b1a47c;
}

header li:last-child a .material-symbols-outlined {
display: inline-block !important;
margin-right: 10px;
vertical-align: bottom;
}

/* ---------- 01 ---------- */

.top-01 {
height: 500px;
}

.top-01 div {
width: 1200px;
}

.btn {
padding: 10px 30px;
}

.top-01 a {
margin-left: 40px;
}

/* ---------- 02 ---------- */

.top-02 {
width: 1400px;
height: 550px;
background-position: right top;
}

.top-02 div {
width: 1200px;
padding-top: 130px;
}

.top-02 div::before {
top: 100px;
width: 600px;
height: 400px;
}

.top-02 div h2,
.top-02 div p {
width: 600px;
margin-bottom: 20px;
padding-left: 150px;
}

.top-02 a {
margin-left: 150px;
}

.post-content .wpcf7-response-output {
width: 60%;
}

/* ---------- 03 ---------- */

.top-03 ul li {
width: 25%;
}

/* ---------- 04 ---------- */

.top-04 {
width: 1200px;
}

.block {
display: flex;
justify-content: space-between;
margin-bottom: 50px;
}

.block:nth-child(even) {
flex-direction: row-reverse;
}

.block div {
width: 450px;
padding-top: 30px;
}

/* ---------- 05 ---------- */

.top-05 .flow-block {
position: relative;
width: 1200px;
padding: 100px 0 150px;
}

.top-05 h4 {
margin-bottom: 100px;
}

.top-05 ol {
justify-content: space-around;
}

.top-05 ol li::before {
content: "";
position: absolute;
top: 40px;
left: 110px;
width: 100px;
height: 1px;
border-top: 1px solid #999;
}

.top-05 ol li::after {
content: "";
position: absolute;
top: 33px;
left: 193px;
width: 15px;
height: 15px;
border-top: 1px solid #999;
transform: rotate(45deg);
}

/* ---------- sub-01 ---------- */

img.topick {
  height: 400px;
  margin: 0 0 50px;
}
.sub-01 h1,
.sub-01 p,
.sub-02 h1,
.sub-02 dl,
.sub-03 h1,
.sub-03 dl,
.sub-04 h1,
.sub-05 h1 {
	width: 1000px;
	margin: 0 auto;
}
.sub-01 h1,
.sub-02 h1,
.sub-03 h1,
.sub-04 h1,
.sub-05 h1 {
  padding: 15px 0px 0px;
}
.sub-04 ul,
.sub-05 ul {
	width: 1030px;
	margin: 0 auto;
}
.sub-02 dl,
.sub-03 dl {
  display: flex;
  flex-wrap: wrap;
}
.sub-02 dl dt,
.sub-03 dl dt {
  width: 30%;
  text-align: center;
}
.sub-02 dl dd,
.sub-03 dl dd {
  width: 70%;
}
iframe[src*="www.google.com/maps/embed"] {
  width: 1000px;
  height: auto;
  margin: 0 auto;
}
.sub-04 ul li {
  width: 33.3%;
  padding: 0 15px 50px;
}
.sub-04 ul li img {
	margin: 0;
}
.sub-04 .day,
.sub-04 .case-tag {
  width: 1000px;
}
.sub-04 .case-in {
	width: 1000px;
	margin: 0 auto;
	padding: 50px 0 0;
}
.sub-05 div,
.sub-05 p {
  width: 1000px;
}
.sub-05 ul li {
  width: 50%;
  margin: 0 0px 30px;
  padding: 0 15px;
}

/* ---------- Footer ---------- */

footer {
display: flex;
width: 1200px;
}

footer div {
width: 450px;
}
}

/* ========================================
Mobile
======================================== */

@media screen and (max-width: 1200px) {

header {
width: 100%;
padding: 0 20px;
}

.hamburger {
position: fixed;
top: 20px;
right: 20px;
width: 50px;
height: 50px;
padding: 10px;
cursor: pointer;
z-index: 10;
background-color: #f7f5ef;
border-radius: 10px;
}

#nav-wrap {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 10;
background-color: rgba(0, 0, 0, 0.7);
}

#nav-wrap ul {
display: none;
padding: 0;
list-style: none;
}

#nav-wrap li a {
display: block;
padding: 8px;
font-size: 1rem;
color: #fff;
text-decoration: none;
}

#nav-wrap li span {
display: inline-block;
margin-right: 10px;
font-size: 30px;
vertical-align: bottom;
}

.hamburger span {
position: absolute;
width: 60%;
height: 3px;
background-color: #b1a37c;
transition: all .3s;
z-index: 10;
}

.hamburger span:nth-of-type(1) {
top: 14px;
}

.hamburger span:nth-of-type(2) {
top: 24px;
}

.hamburger span:nth-of-type(3) {
top: 34px;
}

.hamburger.open span:nth-of-type(1) {
top: 20px;
background: #b1a37c;
transform: translateY(6px) rotate(-40deg);
}

.hamburger.open span:nth-of-type(2) {
opacity: 0;
}

.hamburger.open span:nth-of-type(3) {
top: 32px;
background: #b1a37c;
transform: translateY(-6px) rotate(40deg);
}

/* ---------- 01 ---------- */

.top-01 {
min-height: 200px;
padding: 30px 0;
}

.top-01 img {
width: 259px;
height: auto;
margin-bottom: 10px;
}

.btn {
padding: 10px 20px;
text-align: left;
}

.top-01 a {
margin-left: 20px;
}

/* ---------- 02 ---------- */

.top-02 {
width: 100%;
padding-top: 250px;
background-size: 100% auto;
}

.top-02 div {
width: 90%;
padding: 30px 10px;
text-align: center;
}

.top-02 div::before {
top: 0;
width: 100%;
height: 100%;
}

.top-02 div h2,
.top-02 div p {
margin-bottom: 20px;
padding: 0;
}

.top-02 a {
margin: 0 auto;
}

.post-content .wpcf7-response-output {
width: 80%;
}

/* ---------- 03 ---------- */

.top-03 ul {
flex-wrap: wrap;
}

.top-03 ul li {
width: 50%;
}

/* ---------- 04 ---------- */

.top-04 {
width: 100%;
}

.block {
margin-bottom: 100px;
}

.block div {
position: relative;
z-index: 1;
width: 90%;
margin: 0 auto -50px;
padding: 20px 0;
text-align: center;
background: #f7f5ef;
}

.block div a {
margin: 0 auto;
}

/* ---------- 05 ---------- */

.top-05 {
padding-top: 50px;
}

.top-05 h4 {
margin-bottom: 50px;
}

.top-05 ol {
flex-wrap: wrap;
}

.top-05 ol li {
position: relative;
width: 100%;
margin-bottom: 100px;
}

.top-05 ol li span {
margin: 0 auto 10px;
}

.top-05 ol li::before {
content: "";
position: absolute;
top: 140px;
left: -50%;
right: -50%;
width: 1px;
height: 50px;
margin: 0 auto;
border-left: 1px solid #999;
}

.top-05 ol li::after {
content: "";
position: absolute;
top: 172px;
left: -50%;
right: -50%;
width: 15px;
height: 15px;
margin: 0 auto;
border-right: 1px solid #999;
transform: rotate(45deg);
}

/* ---------- sub-01 ---------- */

.sub-01 img,
img.topick {
  height: 200px;
}
.sub-01 h1,
.sub-02 h1,
.sub-03 h1,
.sub-04 h1,
.sub-05 h1 {
  padding: 15px 20px 0px;
}
.sub-02 dl,
.sub-03 dl {
  width: 90%;
  margin: 0 auto;
}
.sub-02 dl dt,
.sub-02 dl dd,
.sub-03 dl dt,
.sub-03 dl dd {
  display: block;
  width: 100%;
  text-align: center;
}
.sub-02 dl dd,
.sub-03 dl dd {
  border-bottom: 1px solid #ccc;
}
iframe[src*="www.google.com/maps/embed"] {
  width: 100%;
  height: auto;
}
.sub-04 ul,
.sub-05 ul {
  width: 90%;
  margin: 0 auto;
}
.sub-04 ul li,
.sub-05 ul li {
  width: 100%;
  margin: 0 0 50px;
}
.sub-04 .day {
  padding: 0 20px;
}
.sub-04 .case-tag {
  margin: 0 0 20px;
  padding: 0 20px;
}
.sub-04 .case-in {
  padding: 0 20px;
}
.sub-04 .case-in img {
  margin: 0 auto;
}
.sub-05 div {
  width: 90%;
}
.sub-05 p {
  width: 90%;
}

/* ---------- Footer ---------- */

footer div {
margin-bottom: 30px;
}

footer img {
width: 75px;
height: auto;
}

footer ul {
width: 50%;
margin: 0 auto;
}
}
