body {
    font-family: serif;
    background: url(img/bg.jpg);
    margin: 0;
    padding: 0;
    line-height: 1.6em;
    color: #595656;
    scroll-behavior: smooth;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl,
table {
    margin: 0;
    padding: 0;
    font-size: 1em;
    font-weight: normal;
    font-style: normal;
}

a:link,
a:visited {
    text-decoration: none;
    color: #1e69d9;
}

a:hover {
    text-decoration: underline;
}

header {
    background: #ff1b01 url(img/header_bg.png) repeat-x;
    margin-bottom: 25px;
    font-size: 0.9em;
}

header section {
    width: 1100px;
    margin: auto;
    padding: 0 20px;
    background: url(img/header.png) no-repeat 0px -140px;
    position: relative;
    height: 155px;
}

header section h1 {
    padding-top: 20px;
    padding-left: 20px;
    width: 162px;
    float: left;
    margin-right: 10px;
}

header section h1 img {
    width: 100%;
    height: auto;
}

header section p {
    padding-top: 50px;
    width: 600px;
}

.en header section p {
    padding-top: 30px;
    line-height: 1.3em;
}

.ch header section p,
.tw header section p {
    padding-top: 30px;
}

header section .hn1 {
    list-style-type: none;
    position: absolute;
    top: 80px;
    width: 300px;
    right: 0px;
    text-align: center;
}

header section .hn2 {
    list-style-type: none;
    position: absolute;
    top: 110px;
    width: 300px;
    right: 0px;
    text-align: center;
}

header section .hn1 li {
    display: inline-block;
    border-left: 1px #595656 solid;
    padding: 0 10px;
}

header section .hn1 li:first-child {
    border: none;
}

header section .hn2 li {
    display: inline-block;
    padding: 0 5px;
}

header section a:link,
header section a:visited {
    color: #595656;
    text-decoration: none;
}

header section img {
    height: 15px;
}

header nav {
    width: 1100px;
    margin: auto;
    clear: both;
}

header nav ul {
    list-style-type: none;
    width: 100%;
    display: flex;
    display: -webkit-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
        flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
}

header nav ul li {
    display: inline-block;
    padding: 0px;
    margin: 5px 0;
  -webkit-flex-grow:1;
  flex-grow:1;
  margin-left:10px;
    text-align:center;
}
.p3 li:first-child {
    margin-left: 0;
}
}

.en header nav ul li {
    font-size: 0.9em;
}

header nav ul li:first-child {
    border: none;
}

header nav a {
    display: block;
    padding: 20px 0;
}

header nav a:link,
header nav a:visited {
    color: white;
    text-decoration: none;
}

header nav a:hover {
    background: #595656;
    color: white;
}

article {
    width: 1100px;
    margin: auto;
    background: #fdfdfd;
    padding-bottom: 25px;
}

.index {
    background-color: transparent;
}

article section {
    width: 1060px;
    margin: 20px;
    clear: both;
}

.index-main,
.index-link {
    width: 1100px;
}

h2 {
    margin: 0 auto;
    background: url(img/h2.png);
    padding: 50px 40px;
    color: #5b130a;
    font-size: 1.5em;
    font-weight: bold;
    text-shadow: 2px 2px 2px #fdfdfd;
    margin-bottom: 0;
}

h3 {
    margin-top: 20px;
    background: url(img/h3.png);
    padding: 10px;
    border-bottom: #ff1b01 1px solid;
    font-weight: bold;
    line-height: 1;
    clear: both;
    margin-bottom: 20px;
}

h4 {
    font-size: 1.2em;
    padding-bottom: 5px;
    border-bottom: #e55545 2px solid;
    margin: 20px;
}

article p {
    margin: 20px 40px;
}

.toTop {
    width: 1100px;
    margin: 25px auto;
    text-align: right;
}

footer {
    background: url(img/footer_bg.png);
    padding-top: 15px;
    font-size: 0.9em;
}

.footer-company {
    width: 1100px;
    margin: auto;
    background: url(img/banner_bg.png) no-repeat;
    background-size: 100% 100%;
    height: 130px;
    margin-bottom: 15px;
}

.footer-company ul {
    list-style-type: none;
    width: 97%;
    margin: auto;
    padding-top: 10px;
    display: flex;
    display: -webkit-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
}

.footer-company ul li {
    display: inline-block;
    padding: 0px;
    margin: 5px;
    background: #ffc2b1;
    border: #ffc2b1 3px solid;
    border-radius: 3px;
    width: 200px;
    position: relative;
}

.footer-company ul li a {
    display: block;
    width: 100%;
    text-align: center;
    text-decoration: none;
    color: #595656;
    padding-top: 5px;
}

.en .footer-company ul li,
.ch .footer-company ul li,
.tw .footer-company ul li {
    font-size: 0.7em;
    line-height: 1.5em;
    padding-bottom: 5px;
}

.footer-company ul li:first-child {
    background-color: transparent;
    border-color: transparent;
    font-size: 0.9em;
}


.footer-company ul li:first-child b {
    display: block;
    background: #ff1b01;
    border: #ff1b01 3px solid;
    border-radius: 20px;
    color: #fff;
    text-align: center;
    font-weight: bold;
    padding: 0px 20px;
    margin-bottom: 5px;
}

.footer-company ul li span {
    display: block;
    position: absolute;
    width: 100%;
    text-align: center;
    bottom: -5px;
}

.en .footer-company ul li span {
    bottom: 0;
}


.copyright {
    background: rgba(0, 0, 0, 0.6);
    padding: 15px 0;
}

.copyright ul {
    width: 1100px;
    margin: 15px auto;
    list-style-type: none;
}

.copyright ul li {
    display: inline-block;
    border-left: 1px #fdfdfd solid;
    padding: 0px 5px;
    margin: 5px 0;
}

.copyright ul li:first-child {
    border: none;
}

.copyright ul li a {
    color: #fdfdfd;
    text-decoration: none;
    font-size: 0.9em;
}

.en .copyright ul li a {
    font-size: 0.8em;
}

.copyright p {
    width: 1100px;
    margin: 0 auto;
    text-align: center;
    color: #fdfdfd;
}


/*トップページ*/

.index-main {
    margin-bottom: 20px;
}

#stage {
    position: relative;
    max-width: 100%;
    margin: 0 auto;
    overflow: hidden;
}

#thumbs {
    width: 200%;
    left: 0;
}

#thumbs img {
    width: 10%;
}

.photo {
    position: absolute;
    left: 0;
    top: 0;
}

.photo img {
    width: 100%;
    opacity: 0;
    -webkit-transition: opacity 1s ease;
    -moz-transition: opacity 1s ease;
    -o-transition: opacity 1s ease;
    transition: opacity 1s ease;
}

.photo:target > img {
    opacity: 1;
}

.index-link ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    display: -webkit-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}

.index-link ul li {
/*    display: inline-block;*/
  -webkit-flex-grow:1;
  flex-grow:1;
    width: 340px;
    height: 330px;
    background: url(img/index_link_bg1.png);
    margin: 0;
    padding: 0;
    margin-left: 34px;
    margin-bottom: 35px;
    position: relative;
}

.index-link ul li:first-child,
.index-link ul li:nth-child(4) {
    margin-left: 0;
}

.index-link ul li a {
    display: block;
    width: 340px;
    height: 280px;
    background: url(img/index_link_bg.png) no-repeat 5px 5px;
    text-align: center;
    font-weight: bold;
    color: #595656;
    text-decoration: none;
    padding-top: 50px;
    font-size: 1.2em;
}

.index-link ul li span {
    display: block;
    position: absolute;
    left: 10px;
    bottom: 5px;
}

/* とは */

.w1 {
    border: 20px #fcebc0 solid;
    margin: 20px 40px;
}

.tright {
    text-align: right;
}

/* プラン */

.fleft {
    float: left;
    margin: 20px;
}

.p1,
.p2 {
    border-bottom: none;
}

.p1 div,
.p2 div {
    display: inline-block;
    color: #fdfdfd;
    width: 180px;
    padding: 10px;
    margin: 0;
    margin-right: 20px;
    margin-top: -10px;
    margin-left: -10px;
    margin-bottom: -10px;
    font-size: 1.5em;
    line-height: 1;
    font-weight: normal;
    text-align: center;
}

.p1 div span,
.p2 div span {
    text-shadow: 1px 1px 2px #000;
    display: inline-block;
    margin-right: 20px;
}

.p1 div {
    background: #fc6a5a;
}

.p2 div {
    background: #ffa25b;
}

big {
    display: inline-block;
    width: 435px;
    background: #524e49;
    padding: 10px;
    color: #f6c13e;
    font-size: 1.3em;
    font-weight: normal;
    margin-top: 20px;
    border-bottom: none;
}

.tcenter {
    text-align: center;
}
.p3{
    list-style-type: none;
    width: 100%;
    display: flex;
    display: -webkit-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
}
.p3 li{
  -webkit-flex-grow:1;
  flex-grow:1;
      margin-left:10px;
}
.p3 li:first-child {
    margin-left: 0;
}
/*
.p3 {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.p3 li {
    display: inline-block;
    width: 342px;
    margin-left: 10px;
}

.p3 li:first-child {
    margin-left: 0;
}
*/
.p3 li a {
    display: block;
    width: 100%;
    padding: 10px 0;
    text-align: center;
    color: #fdfdfd;
    background: #ff1b01;
    border: #ff1b01 3px solid;
    border-radius: 3px;
}

/* よくある質問 */

.fright {
    float: right;
    margin: 20px;
}

.q1 {
    list-style-type: none;
    margin: 20px;
}

.q1 li {
    margin-bottom: 15px;
}

/* 声 */

.v1 {
    border: 20px #eae0d0 solid;
    padding: 20px;
    font-size: 1.3em;
    line-height: 2.5em;
    font-family: sans-serif;
    width: 980px;
}

hr {
    visibility: hidden;
    margin: 0;
    padding: 0;
    height: 1px;
    clear: both;
    line-height: 0;
}

.v2 {
    border-collapse: collapse;
    margin: 20px 40px;
}

.v2 td {
    padding: 20px;
    width: 50%;
    vertical-align: top;
}

.v2 td img {
    width: 100%;
    height: auto;
}

/* 事業者 */

.c1 {
    border: 20px #eae0d0 solid;
    padding: 20px;
    font-family: sans-serif;
    width: 980px;
    background: #fff;
}

.c1 h3 {
    background-image: none;
    border-bottom: none;
    display: table;
    vertical-align: middle;
}

.c1 h3 .fleft {
    float: none;
    display: table-cell;
    max-width: 300px;
    margin-right: 20px;
}

.c1 h3 span {
    display: table-cell;
    vertical-align: middle;
    line-height: 1.5em;
}

.c1 h4 {
    font-size: 1em;
    font-weight: bold;
    color: #595656;
    margin: 0px 40px;
    padding: 0;
    border-bottom: none;
}

/* 衣装紹介 */

.cos1 {
    margin: 20px;
    padding: 20px;
    background: #fbecd7;
    clear: both;
}

.cos2 {
    height: 323px;
    width: auto;
}

/* 撮影スケジュール */

/*
.sc1{
    display:inline-block;
    margin-right:0px;
    width:510px;
  vertical-align: top;
    background:url(img/sc_bg4.jpg);
}
*/

.sc1 {
    display: flex;
    display: -webkit-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
}

.sc1 div {
    width: 510px;
    background: url(img/sc_bg4.jpg);
}


.sc2,
.sc3 {
    height: 310px;
    position: relative;
    padding: 0;
    border-bottom: none;
    margin-top: 0;
}

.sc2 {
    background: url(img/sc1.jpg);
    background-size: cover;
}

.sc3 {
    background: url(img/sc2.jpg);
    background-size: cover;
}

.sc2 span,
.sc3 span {
    position: absolute;
    font-size: 2em;
    color: #fff;
    font-weight: normal;
    text-shadow: 2px 2px 2px #000;
    line-height: 1.3em;
}

.sc2 span {
    top: 110px;
    left: 80px;
}

.sc3 span {
    top: 110px;
    left: 190px;
}

.en .sc3 span {
    top: 50px;
}

.ch .sc3 span,
.tw .sc3 span {
    top: 75px;
}

.sc2 div,
.sc3 div {
    position: absolute;
    left: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    display: block;
    width: 100%;
    text-align: center;
    padding: 30px 0;
    font-size: 1.5em;
    color: #f7c43f;
    font-weight: normal;
}

.sc4 {
    border-collapse: collapse;
    margin-top: 20px;
    margin-left: 40px;
}

.sc4 td:first-child {
    text-align: center;
    vertical-align: middle;
    width: 96px;
    height: 70px;
    padding-bottom: 30px;
    background: url(img/sc_bg1.png) no-repeat;
    font-size: 0.9em;
    color: #fff;
}

.en .sc4 td:first-child {
    font-size: 0.8em;
    line-height: 1.2em;
}

.sc4 td:last-child {
    text-align: center;
    vertical-align: middle;
    width: 295px;
    height: 58px;
    padding-bottom: 30px;
    background: url(img/sc_bg2.png) no-repeat;
    font-size: 0.9em;
    line-height: 1.4em;
}

.sc4 tr:last-child td:first-child {
    background: url(img/sc_bg3.png) no-repeat 0 10px;
}

/* 撮影場所 */

.sh1 {
    list-style-type: none;
    margin: 20px;
    padding: 0;
}

.sh1 li {
    display: inline-block;
    width: 250px;
    margin-left: 10px;
}

.sh1 li:first-child {
    margin-left: 0;
}

.sh1 li a {
    display: block;
    width: 100%;
    padding: 10px 0;
    text-align: center;
    color: #fdfdfd;
    background: #ff1b01;
    border: #ff1b01 5px solid;
    border-radius: 5px;
}

.sh2 div {
    display: inline-block;
    color: #fdfdfd;
    width: 180px;
    padding: 10px;
    margin: 0;
    margin-right: 20px;
    margin-top: -10px;
    margin-left: -10px;
    margin-bottom: -10px;
    font-size: 1.5em;
    line-height: 1;
    font-weight: normal;
    background: #f15a49;
    text-align: center;
}

.en #s4 .sh2 div,
.ch #s4 .sh2 div,
.tw #s4 .sh2 div {
    width: auto;
}

.sh3 {
    margin: 20px 40px;
}

.sh3 td {
    font-size: 0.9em;
    text-align: center;
    vertical-align: top;
    width: 33%;
}

.sh3 td img {
    width: 100%;
    height: auto;
}

@media screen and (max-width:768px) {header,header section,header nav,article,article section,.index-main,.index-link,.toTop,.footer-company,.copyright ul,.copyright p,header section p{
    width:100%;
    margin:0;
    padding:0;
    }
    header section{
        background-position:0px -160px;
    }
    header section h1{
        width:100px;
        float:none;
        margin:0 auto;
    }
    header section .hn1 ,header section .hn2{
        margin-top:20px;
    }
    header nav a{
        padding:5px 0;
    }
    header p,footer ul li:first-child{
        display:none;
    }
    .index-link ul{
        display:block;
    }
    .index-link ul li{
        display:block;
        margin:auto;
    }
    .index-link ul li:first-child,.index-link ul li:nth-child(4) {
    margin:auto;
}
    .footer-company{
        height:auto;
        padding-top:10px;
        padding-bottom:50px;
    }
    .footer-company ul{
        flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        justify-content: center;
        -webkit-justify-content: center;
    }
    .footer-company ul li span{
        position:static;
        display:block;
        margin:auto;
    }
    .v1,.c1,.w1{
        width:90%;
        padding:10px;
        margin:10px auto;
        border-width:5px;
        font-size:1em;
        line-height:1.5em;
    }
    h3{
        width:90%;
        line-height:1.3em;
    }
    .c1 h3 img{
        width:80%;
    }
    img.fright{
        width:90%;
        float:none;
    }
    .p1 div,.p2 div{
        display:block;
        float:left;
    }
}