
#contents.feature .photoList .photoBoxL {
  width: 960px;
}
#contents.feature .photoList .photoBoxHalf {
  width: 465px;
}
#contents.feature .photoList .photoBox630 {
  width: 630px;
}

#contents.feature .photoList .photoBox478 {
  width: 478px;
  padding-right: 3px;
}
#contents.feature .photoList .photoBox479 {
  width: 479px;
  padding-right: 0;
}

#contents.feature .photoList .photoBox479 .photoBox_4photo {
overflow: hidden;
}
#contents.feature .photoList .photoBox479 .photoBox_4photo li {
display: block;
float: left;
width: 238px;
padding: 0;
}
#contents.feature .photoList .photoBox479 .photoBox_4photo li:nth-child(2n+1) {
margin-right: 3px;
}
#contents.feature .photoList .photoBox479 .photoBox_4photo li:nth-child(1),
#contents.feature .photoList .photoBox479 .photoBox_4photo li:nth-child(2) {
margin-bottom: 3px;
}

#contents.feature video {
  width: 100%;
  height: auto;
  border: none;
}
#contents.feature a.colorbox.h_183 {
    position: relative;
    height:183px;
}
#contents.feature a.colorbox img {
display: block;
}
#contents.feature a.colorbox .plus {
display: block;
    position: absolute;
    right: 10px;
    bottom: 10px;
    margin: 0;
}
#contents.feature a.colorbox:hover .plus img {
    filter: alpha(opacity=0);
    opacity: 0;
    transition-duration: 0.2s;
    transition-timing-function: ease-in;
    -webkit-transition-duration: 0.2s;
    -webkit-transition-timing-function: ease-in;
    -moz-transition-duration: 0.2s;
    -moz-transition-timing-function: ease-in;
}
#contents.feature a.colorbox:hover .plus {
    background: url(/common/images/icon08_over.png) no-repeat left top;
}

.popBox {
  margin: 0 auto;
  max-width:90%;
}
.popBox .inner {
  padding:20px;
}
.popBox .poptxt {
  text-align:left;
}
.popBox .poptxt h2 {
  font-size:20px;
  margin-bottom:0.3em;
  font-weight:normal;
}
.popBox .poptxt p {
  margin-bottom:0.8em;
}
.popBox .popimg {
  overflow:hidden;
}
.popBox .popimg>div {
  float:left;
  width:50%;
  
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.popBox .popimg>div img {
  width:100%;
  height:auto;
}
.popBox .popimg>div:nth-of-type(1) {
  padding-right:1px;
}
.popBox .popimg>div:nth-of-type(2) {
  padding-left:1px;
}

.sp-next-arrow:after, .sp-next-arrow:before, .sp-previous-arrow:after, .sp-previous-arrow:before {
    background-color: #000000;
}
.sp-horizontal .sp-next-arrow, .sp-horizontal.sp-rtl .sp-previous-arrow {
    right: 0px;
    left: auto;
}
.sp-horizontal .sp-previous-arrow {
    left: 0px;
    right: auto;
}
.sp-arrow {
    position: absolute;
    display: block;
    width: 40px;
    height: 50px;
    cursor: pointer;
		background: rgba(0,0,0,0.5);
}
.sp-next-arrow:after, .sp-next-arrow:before, .sp-previous-arrow:after, .sp-previous-arrow:before {
    width: 10px;
    height: 15px;
    background-color: #FFF;
}
.sp-arrow:before {
    left: 15px;
    top: 10px;
}
.sp-arrow:after {
    left: 15px;
    top: 25px;
}

@media (max-width: 479px) {
#slider1.sp-horizontal .sp-arrows {
    top: 30%;
}
#slider2.sp-horizontal .sp-arrows {
    top: 40%;
}

/* common - local-nav
========================================*/

#contents .local-nav {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 3px;
    width: 100%;
}
#contents .local-nav > li {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    width: calc(50% - (3px / 2));
}
@media screen and (min-width: 641px) {
    #contents .local-nav.row_3 > li {
        height: 128px;
    }
    #contents .local-nav.row_2 > li {
        height: 193.5px;
    }
}
#contents .local-nav > li a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 1px;
    color: #000;
    text-align: center;
    text-decoration: none;
    background-image: url('/common-utf8/images/icon02.png');
    background-position: center bottom 12px;
    background-repeat: no-repeat;
    background-color: #fff;
    transition: background-color 0.3s ease;
}
#contents .local-nav > li a .sub-text {
    display: block;
    margin: 3px 0 0;
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: 0;
}
@media screen and (min-width: 641px) {
    #contents .local-nav > li a:hover {
        color: #333;
        background-color: #eee;
    }
}
@media screen and (max-width: 640px) {
    #contents .local-nav > li a {
        padding: 20px 0 34px;
    }
}



/* common - section
========================================*/

#contents .section-normal {
    margin: 80px auto 0;
    width: 100%;
}
#contents .section-inner {
    margin: 0 auto;
    width: 960px;
}
@media screen and (max-width: 640px) {
    #contents .section-normal {
        margin: 60px 0 0;
        padding: 0 5%;
    }
    #contents .section-inner {
        width: 100%;
    }
}

#contents .group-section {
    margin: 80px auto 0;
    width: 100%;
}
#contents .group-section .section-normal {
    margin-top: 0;
}
#contents .group-section .section-normal ~ .section-normal {
    margin-top: 80px;
}
@media screen and (max-width: 640px) {
    #contents .group-section {
        margin: 80px 0 0;
        padding: 0;
    }
    #contents .group-section .section-normal {
        margin-top: 0;
    }
    #contents .group-section .section-normal ~ .section-normal {
        margin-top: 60px;
    }
}

#contents .group-section .group-section-visual {
    margin: 0 auto 80px;
    width: 100%;
    max-width: 960px;
}
@media screen and (max-width: 640px) {
    #contents .group-section .group-section-visual {
        margin: 0 0 45px;
    }
}

#contents .section-box-content {
    margin: 60px auto 0 !important;
}
@media screen and (max-width: 640px) {
    #contents .section-box-content {
        margin: 30px 0 0 !important;
    }
}

#contents .section-link {
    margin: 60px auto 0 !important;
}
@media screen and (max-width: 640px) {
    #contents .section-link {
        margin: 30px 0 0 !important;
    }
}

#contents .section-link-in-content {
    margin: 60px auto 80px !important;
}
@media screen and (max-width: 640px) {
    #contents .section-link-in-content {
        margin: 30px 0 60px !important;
    }
}


/* common - children page header
========================================*/

#contents .childrenPage-header {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-start;
    align-items: stretch;
    gap: 3px;
    width: 100%;
}
@media screen and (max-width: 640px) {
    #contents .childrenPage-header {
        flex-direction: column;
    }
    #contents .childrenPage-header.direction-mobile-reverse {
        flex-direction: column-reverse;
    }
}

#contents .childrenPage-header .header-visual {
    position: relative;
}
#contents .childrenPage-header .header-visual img {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    z-index: 0;
}
#contents .childrenPage-header .header-visual .header-visual-caption {
    position: absolute;
    right: 20px;
    bottom: 20px;
    font-size: 24px;
    line-height: 1.8;
    text-align: left;
    color: #fff;
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 640px) {
    #contents .childrenPage-header .header-visual .header-visual-caption {
        right: 10px;
        bottom: 10px;
        font-size: 16px;
    }
}

#contents .childrenPage-header .header-main.title-only {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
}
#contents .childrenPage-header .header-main.title-only .title-box {
    margin: 0;
}

@media screen and (min-width: 641px) {
    #contents .childrenPage-header .header-main {
        width: 318px;
    }
    #contents .childrenPage-header .header-visual {
        width: 639px;
    }
}
@media screen and (max-width: 640px) {
    #contents .childrenPage-header .header-main {
        width: 100%;
    }
    #contents .childrenPage-header .header-visual {
        width: 100%;
    }
