@charset "UTF-8";
/* CSS Document */

/* 767px以下 スマホ向け
--------------------------------------------------------------------------------- */
@media screen and (max-width:767px){

.dc_main {
width: 100%;
margin: 0 auto;
position: relative;
}
.dv_loca_label {
position: absolute;
top: 0;
left: 10px;
background: #333;
color: #fff;
font-size: 14px;
text-align: center;
padding: 5px 10px;
border-radius: 0 0 10px 10px;
}
.outline {
display: block;
width: 100%;
margin: 30px auto 0;
}
.outline .outline_ttl {
font-size: 13px;
color: #fff;
display: inline-block;
padding: 5px 10px;
background-color: #666;
font-weight: 400;
margin-bottom: 20px;
}
.outline table td {
width: calc(100% - 20px);
display: block;
text-align: left;
background: #fff;
padding: 5px 10px;
margin-bottom: 10px;
}
.outline table th {
background-color: #f2f2f2;
width: calc(100% - 20px);
display: block;
text-align: left;
padding: 5px 10px;
}
.outline table {
font-size: 13px;
color: #222;
font-weight: 400;
line-height: 1.6;
}
.outline table td {
background: #fff;
padding: 5px 10px;
}
.item_img_w100 {
width: 100%;
margin: 30px auto 0;
}

/*--ishikari--*/
.mv_ishikari {
display: flex;
}
.mv_ishikari_name {
position: absolute;
  bottom: 0; 
  left: 0;
  width: 100%;
  background-color: rgba(0, 84, 135, 0.85);
  padding: 10px 0;
  box-sizing: border-box;
  color: #fff;
  font-size: 18px;
  text-align: center;
  line-height: 1.2;
}
.mv_ishikari_name span {
font-size: 14px;
font-weight: 700;
line-height: 1.5;
background-color: rgba(255, 255, 255, 0.85);
color: rgba(0, 84, 135, 1);
padding: 3px 20px; 
}
.item_img_w50_eq {
width: 100%;
margin: 30px auto 0;
display: block;
}
.item_img_w50_eq .img_half {
width: 80%;
margin: 0 auto 20px;
}
ul.item_box {
width: 100%;
margin: 30px auto 0;
display: flex;
flex-direction: column;
}
ul.item_box li {
width: calc(100% - 30px);
padding: 15px;
background-color: #f5f6eb;
margin-bottom: 20px;
}
.item_box_ttl {
padding: 5px;
margin-bottom: 14px;
font-size: 15px;
line-height: 1.6;
border-bottom: 1px solid #111;
}
.item_box_txt {
font-size: 13px;
line-height: 1.6;
font-weight: 400;
}
.item_box_txt_cap {
font-size: 12px;
line-height: 1.5;
padding-top: 10px;
font-weight: 400;
}
.boshu {
background: linear-gradient(to bottom, #fca271 0%,#f17432 50%,#ea5507 51%,#fb955e 100%);
color: #fff;
text-align: center;
padding: 10px 0;
font-weight: 700;
box-sizing: border-box;
border-left: 7px solid #ea5507;
border-right: 7px solid #ea5507;
font-size: 16px;
line-height: 1;
width: 100%;
margin: 0 auto;
letter-spacing: 0.3em;
}

/*-- osaka --*/
.mv_osaka {
display: flex;
}
.mv_osaka_name {
position: absolute;
  bottom: 0; 
  left: 0;
  width: 100%;
  padding: 10px 0;
  background-color: rgba(0, 84, 135, 0.85);
  box-sizing: border-box;
  color: #fff;
  font-size: 18px;
  text-align: center;
  line-height: 1;
}
.mv_osaka_col {
width: 0%;
background-color: #00649e;
}
.mv_osaka_sub {
width: 100%;
height: 135px;
}
.mv_osaka_sub img {
height: 100%;
width: 100%;
object-fit: cover;
}
.cms {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #333;
  font-size: 20px;
  font-family: "Quicksand", sans-serif;
}
.cms::before, .cms::after {
  content: '';
  width: 30px;
  height: 1px;
  background-color: #333;
}
.cms::before {
  margin-right: 20px;
}
.cms::after {
  margin-left: 20px;
}

}


/* 768px以上 PC向け
--------------------------------------------------------------------------------- */
@media print, screen and (min-width:768px) {
.dc_main {
width: 100%;
margin: 0 auto;
position: relative;
}
.dv_loca_label {
position: absolute;
top: 0;
left: 50px;
background: #333;
color: #fff;
font-size: clamp(0.938rem, 0.69rem + 0.52vw, 1.125rem);
text-align: center;
padding: 10px 20px;
border-radius: 0 0 10px 10px;
}
.outline {
display: flex;
width: 100%;
margin: 50px auto 0;
align-items: flex-start;
}
.outline .outline_ttl {
font-size: clamp(0.875rem, 0.71rem + 0.34vw, 1rem);
color: #fff;
display: block;
padding: 10px 15px;
background-color: #666;
font-weight: 400;
margin-right: 20px;
}
.outline table {
font-size: clamp(0.875rem, 0.71rem + 0.34vw, 1rem);
color: #222;
font-weight: 400;
line-height: 1.8;
width: calc(100% - 150px);
}
.outline table th {
text-align: left;
background: #fff;
padding: 5px 10px;
width: 20%;
}
.outline table td {
background: #fff;
padding: 5px 10px;
width: 80%;
}
.outline table tr:nth-child(odd) td,.outline table tr:nth-child(odd) th {
  background: #f2f2f2;
}
.item_img_w100 {
width: 100%;
margin: 30px auto 0;
}

/*--ishikari--*/
.mv_ishikari {
display: flex;
}
.mv_ishikari_name {
position: absolute;
  top: 50%; 
  right: 0;
  transform: translateY(-50%); 
  width: 50%;
  background-color: rgba(0, 84, 135, 0.85);
  padding: 20px 0;
  box-sizing: border-box;
  color: #fff;
  font-size: clamp(1.5rem, 0.51rem + 2.06vw, 2.25rem);
  text-align: center;
  line-height: 1.2;
}
.mv_ishikari_name span {
font-size: 26px;
font-weight: 700;
line-height: 1.5;
background-color: rgba(255, 255, 255, 0.85);
color: rgba(0, 84, 135, 1);
padding: 3px 20px; 
}
.item_img_w50_eq {
width: 100%;
margin: 30px auto 0;
display: flex;
justify-content: space-between;
align-items: center;
}
.item_img_w50_eq .img_half {
width: 48%;
}
ul.item_box {
width: 100%;
margin: 30px auto 0;
display: flex;
justify-content: space-between;
}
ul.item_box li {
width: calc(32% - 30px);
padding: 15px;
background-color: #f5f6eb;
}
.item_box_ttl {
position: relative;
padding: 5px;
margin-bottom: 15px;
font-size: clamp(0.875rem, 0.71rem + 0.34vw, 1rem);
text-align: center;
line-height: 1.8;
}
.item_box_ttl::before {
    position: absolute;
    border-bottom: 1px solid #111;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 70px;
    content: '';
}
.item_box_txt {
font-size: clamp(0.875rem, 0.793rem + 0.17vw, 0.938rem);
line-height: 1.8;
font-weight: 400;
}
.item_box_txt_cap {
font-size: 12px;
line-height: 1.5;
padding-top: 10px;
font-weight: 400;
}
.boshu {
position: absolute;
bottom: 17%;
right: 13%;
width: 25%;
transform: translateY(-25%);
box-sizing: border-box;
background: linear-gradient(to bottom, #fca271 0%,#f17432 50%,#ea5507 51%,#fb955e 100%);
color: #fff;
text-align: center;
padding: 18px 30px;
border-left: 10px solid #ea5507;
border-right: 10px solid #ea5507;
border-radius: 12px;
font-weight: 400;
font-size: clamp(1.25rem, 0.26rem + 2.06vw, 2rem);
line-height: 1;
}

/*-- osaka --*/
.mv_osaka {
display: flex;
}
.mv_osaka_name {
position: absolute;
  top: 50%; 
  left: 0;
  transform: translateY(-50%); 
  width: 50%;
  padding: 20px 0;
  box-sizing: border-box;
  color: #fff;
  font-size: clamp(1.5rem, 0.51rem + 2.06vw, 2.25rem);
  text-align: center;
  line-height: 1;
}
.mv_osaka_col {
width: 50%;
background-color: #00649e;
}
.mv_osaka_sub {
width: 50%;
}
.mv_osaka_sub img {
width: 100%;
height: 100%;
object-fit: cover;
}
.cms {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #333;
  font-size: 24px;
  font-family: "Quicksand", sans-serif;
}
.cms::before, .cms::after {
  content: '';
  width: 60px;
  height: 1px;
  background-color: #333;
}
.cms::before {
  margin-right: 30px;
}
.cms::after {
  margin-left: 30px;
}

}
