@charset "utf-8";

/**************************************************
Page
**************************************************/

/* balloon --------------- */

#balloon {
width:100%;
margin-bottom:100px;
float:left;
}

#balloon .block_1 {
width:100%;
margin-bottom:100px;
display:table;
float:left;
}

#balloon .block_1 .img {
width:50%;
display:table-cell;
vertical-align:middle;
}

#balloon .block_1 .img img {
width:100%;
max-width:800px;
height:auto;
}

#balloon .block_1 .text {
width:50%;
padding-left:40px;
text-align:left;
display:table-cell;
vertical-align:middle;
box-sizing:border-box;
}

#balloon .block_1 .text h2 {
width:100%;
margin-bottom:20px;
font-size:26px;
float:left;
}

#balloon .block_1 .text p {
line-height:2;
margin-bottom:20px;
}

#balloon .block_1 .text p:last-child {
margin-bottom:0;
}

#balloon .others_img {
width:100%;
margin-bottom:100px;
float:left;
}

#balloon .others_img img {
width:100%;
max-width:800px;
height:auto;
}

#balloon .block_2 {
width:100%;
margin-bottom:200px;
float:left;
}

#balloon .block_2 h2 {
width:100%;
line-height:2;
margin-bottom:60px;
padding:30px 0;
border-top:1px solid #d8878b;
border-bottom:1px solid #d8878b;
text-align:center;
font-size:22px;
float:left;
letter-spacing:0.1em;
position:relative;
}

#balloon .block_2 h2:before,
#balloon .block_2 h2:after {
width:130px;
height:30px;
background:#fff;
content:'';
position:absolute;
}

#balloon .block_2 h2:before {
top:-15px;
left:0;
}

#balloon .block_2 h2:after {
bottom:-15px;
right:0;
}

#balloon .block_2 .box_1 {
width:100%;
margin-bottom:60px;
float:left;
position:relative;
z-index:3;
}

#balloon .block_2 .box_2 {
width:100%;
float:left;
position:relative;
z-index:3;
}

#balloon .block_2 h3 {
width:100%;
margin-bottom:30px;
padding-left:12px;
border-left:8px solid #d8878b;
text-align:left;
font-size:20px;
float:left;
box-sizing:border-box;
}

#balloon .block_2 .img {
width:100%;
text-align:left;
float:left;
}

#balloon .block_2 .block {
width:100%;
float:left;
position:relative;
}

#balloon .block_2 .block:before {
width:100%;
height:100vh;
background-repeat:no-repeat;
background-position:right bottom;
background-image:url('/wp-content/themes/olang/images/page/balloon_1.webp');
background-size:40% auto;
content:'';
display:block;
position:absolute;
bottom:0;
right:0;
z-index:1;
}

#balloon .block_2 .block:after {
width:100%;
height:100vh;
background-repeat:no-repeat;
background-position:right bottom;
background-image:url('/wp-content/themes/olang/images/page/balloon_2.webp');
background-size:26% auto;
content:'';
display:block;
position:absolute;
bottom:-80px;
right:31%;
z-index:2;
}

#balloon .block_3 {
width:100%;
margin-bottom:60px;
float:left;
position:relative;
}

#balloon .block_3 p {
width:100%;
float:left;
}

#balloon .block_3 p:nth-of-type(1) {
margin-bottom:20px;
}

#balloon .block_3 p:nth-of-type(2) {
margin-bottom:0;
font-size:22px;
color:#c8000a;
}

#balloon .block_4 {
width:100%;
float:left;
}

#balloon .block_4 .block {
width:100%;
padding:50px;
border:1px solid #d8878b;
float:left;
position:relative;
box-sizing:border-box;
}

#balloon .block_4 .box_1 {
width:100%;
text-align:left;
display:table;
float:left;
position:relative;
z-index:2;
}

#balloon .block_4 .box_1 .img {
width:312px;
display:table-cell;
vertical-align:middle;
}

#balloon .block_4 .box_1 .text {
padding-left:30px;
font-size:24px;
display:table-cell;
vertical-align:middle;
box-sizing:border-box;
}

#balloon .block_4 .box_2 {
width:100%;
margin-top:30px;
text-align:left;
float:left;
position:relative;
z-index:2;
}

#balloon .block_4 .box_2 ul {
width:100%;
padding-left:20px;
float:left;
list-style:disc;
box-sizing:border-box;
}

#balloon .block_4 .box_2 li {
width:100%;
margin-bottom:15px;
float:left;
}

#balloon .block_4 .box_2 li:last-child {
margin-bottom:0;
}

#balloon .block_4 .block .others_img {
width:240px;
position:absolute;
top:100px;
right:-30px;
z-index:1;
}

#balloon .block_4 .block .others_img img {
width:100%;
height:auto;
}

/* -------------------------------------------------------------- */


/* planning --------------- */

#planning {
width:100%;
margin-bottom:100px;
float:left;
}

#planning .block_1 {
width:100%;
margin-bottom:100px;
float:left;
}

#planning .block_1 .img_1 {
width:50%;
text-align:left;
float:left;
}

#planning .block_1 .img_1 img {
width:98%;
max-width:800px;
height:auto;
}

#planning .block_1 .img_2 {
width:50%;
text-align:right;
float:left;
}

#planning .block_1 .img_2 img {
width:98%;
max-width:800px;
height:auto;
}

#planning .block_2 {
width:100%;
float:left;
}

#planning .block_2 h2 {
width:100%;
line-height:2;
margin-bottom:60px;
padding:30px 0;
border-top:1px solid #d8878b;
border-bottom:1px solid #d8878b;
text-align:center;
font-size:22px;
float:left;
letter-spacing:0.1em;
position:relative;
}

#planning .block_2 h2:before,
#planning .block_2 h2:after {
width:130px;
height:30px;
background:#fff;
content:'';
position:absolute;
}

#planning .block_2 h2:before {
top:-15px;
left:0;
}

#planning .block_2 h2:after {
bottom:-15px;
right:0;
}

#planning .block_2 ul li {
width:100%;
line-height:2;
margin-bottom:20px;
padding-bottom:20px;
border-bottom:1px dashed #ccc;
text-align:left;
float:left;
}

#planning .block_2 ul li:last-child {
margin-bottom:0;
}

#planning .block_2 .note_1 {
width:100%;
margin-top:30px;
text-align:left;
float:left;
}

#planning .block_2 .note_2 {
width:100%;
line-height:2.2;
margin-top:100px;
font-size:20px;
color:#d0000a;
float:left;
}

/* -------------------------------------------------------------- */


/* production --------------- */

#production {
width:100%;
float:left;
}

#production .block {
width:100%;
margin-bottom:100px;
float:left;
}

#production .block img {
width:100%;
height:auto;
}

#production .block .img_1 {
width:636px;
float:left;
}

#production .block .img_2 {
width:455px;
float:right;
}

#production .block .text {
width:100%;
line-height:1.8;
margin-top:20px;
text-align:left;
font-size:16px;
float:left;
}

#production .block .img_2 p {
width:100%;
float:left;
}

#production .block a {
width:100%;
float:left;
position:relative;
}

#production .block a:hover .bubble {
background:#c3262e;
}

#production .block a:hover .bubble .bubble_in:before {
border-bottom:50px solid #c3262e;
}

#production .block a .bubble {
width:120px;
height:120px;
padding-top:40px;
background:#d8474e;
color:#fff;
font-size:14px;
position:absolute;
top:-60px;
right:-60px;
border-radius:50%;
box-sizing:border-box;
z-index:1;
transition:0.3s;
}

#production .block a .bubble .bubble_in {
width:100%;
height:100%;
position:relative;
}

#production .block a .bubble .bubble_in:before {
content:'';
position:absolute;
bottom:-40px;
left:-16px;
border-style:solid;
border-right:20px solid transparent;
border-left:20px solid transparent;
border-bottom:50px solid #d8474e;
border-top:0;
transform:rotate(-132deg);
z-index:-1;
transition:0.3s;
}

#production .production_sns {
width:100%;
margin-top:20px;
float:left;
}

#production .production_sns a {
width:auto;
margin-right:15px;
float:left;
}

#production .production_sns a:before {
font-size:28px;
font-family:'Font Awesome 5 Free';
font-weight:400;
}

#production .production_sns a.facebook:before {
content:'\f09a';
}

#production .production_sns a.twitter:before {
content:'\e61b';
}

#production .production_sns a.instagram:before {
content:'\f16d';
}

/* -------------------------------------------------------------- */


/* casting --------------- */

#casting {
width:100%;
margin-bottom:100px;
float:left;
}

#casting .block_1 {
width:100%;
margin-bottom:100px;
float:left;
}

#casting .block_1 .img_1 {
width:50%;
text-align:left;
float:left;
}

#casting .block_1 .img_1 img {
width:98%;
max-width:800px;
height:auto;
}

#casting .block_1 .img_2 {
width:50%;
text-align:right;
float:left;
}

#casting .block_1 .img_2 img {
width:98%;
max-width:800px;
height:auto;
}

#casting .block_2 {
width:100%;
float:left;
}

#casting .block_2 h2 {
width:100%;
line-height:2;
margin-bottom:60px;
padding:30px 0;
border-top:1px solid #d8878b;
border-bottom:1px solid #d8878b;
text-align:center;
font-size:22px;
float:left;
letter-spacing:0.1em;
position:relative;
}

#casting .block_2 h2:before,
#casting .block_2 h2:after {
width:130px;
height:30px;
background:#fff;
content:'';
position:absolute;
}

#casting .block_2 h2:before {
top:-15px;
left:0;
}

#casting .block_2 h2:after {
bottom:-15px;
right:0;
}

#casting .block_2 ul li {
width:100%;
line-height:2;
margin-bottom:20px;
padding-bottom:20px;
border-bottom:1px dashed #ccc;
text-align:left;
float:left;
}

#casting .block_2 ul li:last-child {
margin-bottom:0;
}

#casting .block_2 .note {
width:100%;
margin-top:30px;
text-align:left;
float:left;
}

/* -------------------------------------------------------------- */


/* flow --------------- */

#flow {
width:100%;
float:left;
}

#flow .block_1 {
width:100%;
margin-bottom:100px;
float:left;
display:flex;
flex-direction:row;
flex-wrap:wrap;
justify-content:space-between;
}

#flow .block_1 a {
width:23%;
padding:40px 5px;
background:#cd555b;
color:#fff;
float:left;
box-sizing:border-box;
position:relative;
}

#flow .block_1 a:before {
font-family:'Font Awesome 5 Free';
font-weight:900;
content:'\f078';
position:absolute;
left:50%;
bottom:15px;
transform:translate(-50%, 0%);
transition:0.3s;
}

#flow .block_1 a:hover {
background:#d8878b;
}

#flow .block_1 a:hover:before {
bottom:10px;
}

#flow .block_2 {
width:100%;
margin-bottom:100px;
float:left;
}

#flow .block_2 h2 {
width:100%;
line-height:2;
margin-bottom:60px;
padding:30px 0;
border-top:1px solid #d8878b;
border-bottom:1px solid #d8878b;
text-align:center;
font-size:22px;
float:left;
letter-spacing:0.1em;
position:relative;
}

#flow .block_2 h2:before,
#flow .block_2 h2:after {
width:130px;
height:30px;
background:#fff;
content:'';
position:absolute;
}

#flow .block_2 h2:before {
top:-15px;
left:0;
}

#flow .block_2 h2:after {
bottom:-15px;
right:0;
}

#flow .block_2 ul {
width:980px;
margin:0 auto;
}

#flow .block_2 ul li {
width:100%;
margin-bottom:60px;
float:left;
display:table;
position:relative;
}

#flow .block_2 ul li:last-child {
margin-bottom:0;
}

#flow .block_2 ul li:before {
width:calc(100% - 180px);
height:1px;
background:#ccc;
content:'';
position:absolute;
bottom:0;
left:180px;
}

#flow .block_2 ul li:after {
font-size:50px;
color:#b6b6b6;
font-family:'Font Awesome 5 Free';
font-weight:900;
content:'\f107';
position:absolute;
top:calc(100% + 5px);
left:calc((140px - 42px) / 2);
}

#flow .block_2 ul li:last-child:after {
display:none;
}

#flow .block_2 ul li span.num {
width:140px;
height:140px;
line-height:2;
background:#d8878b;
font-size:60px;
color:#fff;
border-radius:50%;
display:table-cell;
vertical-align:middle;
}

#flow .block_2 ul li span.text {
padding-left:40px;
text-align:left;
display:table-cell;
vertical-align:middle;
box-sizing:border-box;
}

#flow .block_2 ul li span.text span.small {
font-size:15px;
}

#flow .block_2 ul li span.text span.but {
padding-top:20px;
display:inline-block;
}

#flow .block_2 ul li span.text span.but a {
width:300px;
margin-right:20px;
padding:10px 0;
background:#d8474e;
text-align:center;
color:#fff;
display:inline-block;
position:relative;
border-radius:45px;
}

#flow .block_2 ul li span.text span.but a:after {
font-family:'Font Awesome 5 Free';
font-weight:900;
content:'\f054';
position:absolute;
top:50%;
right:20px;
transform:translate(0%, -50%);
transition:0.3s;
}

#flow .block_2 ul li span.text span.but a:hover {
background:#c3262e;
}

#flow .block_2 ul li span.text span.but a:hover:after {
right:15px;
}

#flow .block_2 ul li span.text span.but a:nth-of-type(1):after {
display:none;
}

#flow .block_2 ul li span.text span.but a:nth-of-type(2):before {
padding-right:10px;
font-family:'Font Awesome 5 Free';
font-weight:900;
content:'\f0e0';
}

#flow .block_2 ul li span.text span.but a:nth-of-type(1):before {
font-size:17px;
padding-right:10px;
font-family:'Font Awesome 5 Free';
font-weight:900;
content:'\f3cd';
}

#flow .block_2 .note {
width:100%;
line-height:2;
margin-top:60px;
font-size:19px;
color:#d4000b;
float:left;
}

#flow .block_3 {
width:100%;
margin-bottom:100px;
float:left;
}

#flow .block_3 h2 {
width:100%;
line-height:2;
margin-bottom:60px;
padding:30px 0;
border-top:1px solid #d8878b;
border-bottom:1px solid #d8878b;
text-align:center;
font-size:22px;
float:left;
letter-spacing:0.1em;
position:relative;
}

#flow .block_3 h2:before,
#flow .block_3 h2:after {
width:130px;
height:30px;
background:#fff;
content:'';
position:absolute;
}

#flow .block_3 h2:before {
top:-15px;
left:0;
}

#flow .block_3 h2:after {
bottom:-15px;
right:0;
}

#flow .block_3 p {
width:100%;
float:left;
}

#flow .block_3 .note {
width:100%;
line-height:2;
margin-top:40px;
color:#d4000b;
float:left;
}

/* -------------------------------------------------------------- */


/* performance --------------- */

#performance .facebook {
width:100%;
margin-top:100px;
float:left;
}

#performance {
width:100%;
margin-bottom:100px;
float:left;
}

#performance .block_1 {
width:100%;
margin-bottom:100px;
float:left;
}

#performance .block_1 h2 {
width:100%;
line-height:1.4;
margin-bottom:40px;
padding-left:15px;
border-left:8px solid #d8878b;
text-align:left;
font-size:22px;
float:left;
box-sizing:border-box;
}

#performance .block_1 ul {
width:100%;
text-align:left;
float:left;
}

#performance .block_1 ul li {
width:100%;
margin-bottom:20px;
padding-bottom:20px;
border-bottom:1px dashed #ccc;
float:left;
}

#performance .block_1 ul li:last-child {
margin-bottom:0;
}

#performance .block_1 ul li:before {
padding-right:5px;
color:#d8878b;
font-family:'Font Awesome 5 Free';
font-weight:900;
content:'\f005';
}

#performance .block_2 {
width:100%;
float:left;
}

#performance .block_2 h2 {
width:100%;
line-height:2;
margin-bottom:60px;
padding:30px 0;
border-top:1px solid #d8878b;
border-bottom:1px solid #d8878b;
text-align:center;
font-size:22px;
float:left;
letter-spacing:0.1em;
position:relative;
}

#performance .block_2 h2:before,
#performance .block_2 h2:after {
width:130px;
height:30px;
background:#fff;
content:'';
position:absolute;
}

#performance .block_2 h2:before {
top:-15px;
left:0;
}

#performance .block_2 h2:after {
bottom:-15px;
right:0;
}

#performance .block_2 ul {
width:100%;
text-align:left;
float:left;
}

#performance .block_2 ul li {
width:100%;
margin-bottom:20px;
padding-bottom:20px;
border-bottom:1px dashed #ccc;
float:left;
}

#performance .block_2 ul li:last-child {
margin-bottom:0;
}

#performance .block_2 ul li:before {
padding-right:5px;
color:#d8878b;
font-family:'Font Awesome 5 Free';
font-weight:900;
content:'\f005';
}

#performance .note {
width:100%;
margin-top:20px;
text-align:left;
float:left;
}

/* -------------------------------------------------------------- */


/* company --------------- */

#company {
width:100%;
float:left;
}

#company .block_1 {
width:100%;
margin-bottom:150px;
float:left;
display:flex;
align-items:center;
}

#company .block_1 h2 {
width:35%;
padding:60px 0;
background:#f8f8f8;
text-align:center;
font-size:55px;
letter-spacing:0.1em;
position:relative;
}

#company .block_1 h2 span {
writing-mode:vertical-rl;
white-space:pre;
}

#company .block_1 h2:before {
width:126px;
height:126px;
background-repeat:no-repeat;
background-position:right top;
background-image:url('/wp-content/themes/olang/images/top_content/content_1_1.webp');
background-size:auto;
content:'';
display:block;
position:absolute;
top:-70px;
left:55%;
}

#company .block_1 .text {
width:65%;
padding-right:10%;
padding-left:50px;
text-align:left;
font-size:19px;
box-sizing:border-box;
}

#company .block_1 .text p {
width:100%;
line-height:2;
margin-bottom:30px;
float:left;
}

#company .block_1 .text p:last-child {
margin-bottom:0;
}

#company .block_1 .text .img {
width:100%;
margin-top:10px;
text-align:right;
float:left;
}

#company .block_2 {
width:100%;
margin-bottom:150px;
float:left;
display:flex;
align-items:center;
}

#company .block_2 h2 {
width:35%;
padding:60px 0;
background:#f8f8f8;
text-align:center;
font-size:55px;
letter-spacing:0.1em;
position:relative;
order:2;
}

#company .block_2 h2 span {
writing-mode:vertical-rl;
white-space:pre;
}

#company .block_2 h2:before {
width:126px;
height:126px;
background-repeat:no-repeat;
background-position:right top;
background-image:url('/wp-content/themes/olang/images/top_content/content_1_1.webp');
background-size:auto;
content:'';
display:block;
position:absolute;
top:-70px;
left:55%;
}

#company .block_2 .text {
width:65%;
padding-left:10%;
padding-right:50px;
text-align:left;
font-size:19px;
box-sizing:border-box;
order:1;
}

#company .block_2 .text p {
width:100%;
line-height:2;
margin-bottom:30px;
float:left;
}

#company .block_2 .text p:last-child {
margin-bottom:0;
}

#company .block_2 .text p b {
color:#d8878b;
}

#company .block_2 .but {
width:100%;
margin-top:30px;
text-align:center;
float:left;
}

#company .block_2 .but a {
width:310px;
padding:8px 0;
background:#d8474e;
color:#fff;
display:inline-block;
position:relative;
border-radius:45px;
}

#company .block_2 .but a:after {
font-family:'Font Awesome 5 Free';
font-weight:900;
content:'\f054';
position:absolute;
top:50%;
right:20px;
transform:translate(0%, -50%);
transition:0.3s;
}

#company .block_2 .but a:hover {
background:#c3262e;
}

#company .block_2 .but a:hover:after {
right:15px;
}

#company .block_3 {
width:100%;
margin-bottom:100px;
float:left;
}

#company .block_3 h2 {
width:100%;
line-height:2;
margin-bottom:60px;
padding:30px 0;
border-top:1px solid #d8878b;
border-bottom:1px solid #d8878b;
text-align:center;
font-size:22px;
float:left;
letter-spacing:0.1em;
position:relative;
}

#company .block_3 h2:before,
#company .block_3 h2:after {
width:130px;
height:30px;
background:#fff;
content:'';
position:absolute;
}

#company .block_3 h2:before {
top:-15px;
left:0;
}

#company .block_3 h2:after {
bottom:-15px;
right:0;
}

#company .block_3 ul {
width:100%;
text-align:left;
float:left;
}

#company .block_3 ul li {
width:100%;
line-height:2;
padding:25px 0;
float:left;
display:table;
}

#company .block_3 ul li:nth-child(odd) {
background:#fffcfc;
}

#company .block_3 ul li:nth-child(even) {
background:#fff;
}

#company .block_3 ul li span.list_1:after {
width:1px;
height:100%;
background:#f4f4f4;
content:'';
position:absolute;
top:0;
left:calc(35% - 59px);
}

#company .block_3 ul li span.list_1 {
width:35%;
padding-right:120px;
text-align:right;
display:table-cell;
vertical-align:middle;
box-sizing:border-box;
}

#company .block_3 ul li span.list_2 {
width:65%;
display:table-cell;
vertical-align:middle;
}

#company .block_3 ul li span.list_2 span.at:after {
content:'@';
}

#company .block_3 ul li span.list_2 span.com:after {
content:'.com';
}

#company .block_4 {
width:100%;
margin-bottom:150px;
float:left;
}

#company .block_4 h2 {
width:100%;
line-height:2;
margin-bottom:60px;
padding:30px 0;
border-top:1px solid #d8878b;
border-bottom:1px solid #d8878b;
text-align:center;
font-size:22px;
float:left;
letter-spacing:0.1em;
position:relative;
}

#company .block_4 h2:before,
#company .block_4 h2:after {
width:130px;
height:30px;
background:#fff;
content:'';
position:absolute;
}

#company .block_4 h2:before {
top:-15px;
left:0;
}

#company .block_4 h2:after {
bottom:-15px;
right:0;
}

#company .block_4 ul {
width:100%;
text-align:left;
float:left;
}

#company .block_4 ul li {
width:100%;
line-height:2;
margin-bottom:15px;
padding-bottom:15px;
border-bottom:2px dashed #e9e9e9;
float:left;
}

#company .block_4 ul li:last-child {
margin-bottom:0;
}

#company .block_4 ul li:before {
padding-right:5px;
color:#d8878b;
font-family:'Font Awesome 5 Free';
font-weight:900;
content:'\f005';
}

#company .block_4 .list.partner ul {
width:100%;
text-align:left;
float:left;
display:flex;
flex-direction:row;
flex-wrap:wrap;
justify-content:space-between;
}

#company .block_4 .list.partner ul:after {
width:49%;
content:'';
display:block;
}

#company .block_4 .list.partner ul li {
width:49%;
line-height:2;
margin-bottom:20px;
padding:30px;
background:#fdf9f9;
border:0;
float:left;
box-sizing:border-box;
}

#company .block_4 .list.partner ul li:last-child {
background:none;
}

#company .block_4 .list.partner ul li:last-child:before {
display:none;
}

#company .block_3 .sns {
width:100%;
float:left;
}

#company .block_3 .sns_box {
width:100%;
margin-top:60px;
float:left;
}

#company .block_3 .sns_box a:before {
margin:0 15px;
font-size:60px;
font-family:'Font Awesome 5 Free';
font-weight:400;
}

#company .block_3 .sns_box a.facebook:before {
content:'\f09a';
}

#company .block_3 .sns_box a.twitter:before {
content:'\e61b';
}

#company .block_3 .sns_box a.instagram:before {
content:'\f16d';
}

/* -------------------------------------------------------------- */


/* privacypolicy --------------- */

#privacypolicy {
width:100%;
margin-bottom:100px;
float:left;
}

#privacypolicy .box {
width:100%;
margin-bottom:60px;
text-align:left;
float:left;
}

#privacypolicy h2 {
width:100%;
margin-bottom:10px;
padding-bottom:10px;
font-size:20px;
border-bottom:1px dashed #ccc;
color:#d8878b;
float:left;
}

#privacypolicy .box p {
line-height:2;
margin-bottom:20px;
}

#privacypolicy .box p:last-child {
margin-bottom:0;
}

#privacypolicy ul {
width:100%;
padding-left:30px;
float:left;
box-sizing:border-box;
}

#privacypolicy ul.space {
list-style:lower-alpha;
}

#privacypolicy ul.child {
margin-top:20px;
padding-left:40px;
list-style:katakana;
}

#privacypolicy ul.space.others {
list-style:box;
margin-bottom:20px;
}

#privacypolicy ul li {
margin:5px 0;
}

#privacypolicy .box .box_1 {
width:100%;
margin-bottom:40px;
float:left;
}

#privacypolicy .box .box_2 {
width:100%;
float:left;
}

#privacypolicy .box_last {
width:100%;
text-align:left;
float:left;
}

#privacypolicy .box_last p {
margin-bottom:20px;
}

#privacypolicy .box_last .address {
width:100%;
float:left;
}

#privacypolicy .box_last .address p {
width:100%;
margin-top:10px;
margin-bottom:0;
float:left;
display:table;
}

#privacypolicy .box_last .address .list_1:before {
padding-right:5px;
content:'●';
}

#privacypolicy .box_last .address .list_1 {
width:140px;
display:table-cell;
vertical-align:middle;
}

#privacypolicy .box_last .address .list_2 {
display:table-cell;
vertical-align:middle;
}

#privacypolicy .box_last span.at:after {
content:'@';
}

#privacypolicy .box_last span.com:after {
content:'.com';
}

#privacypolicy .date {
width:100%;
margin-top:20px;
text-align:right;
float:left;
}

/* -------------------------------------------------------------- */


/* terms --------------- */

#terms {
width:100%;
margin-bottom:100px;
float:left;
}

#terms .box {
width:100%;
margin-bottom:60px;
text-align:left;
float:left;
}

#terms .box:last-child {
margin-bottom:0;
}

#terms h2 {
width:100%;
margin-bottom:10px;
padding-bottom:10px;
font-size:20px;
border-bottom:1px dashed #ccc;
color:#d8878b;
float:left;
}

#terms .box p {
line-height:2;
}

#terms ul {
width:100%;
margin-top:20px;
padding-left:20px;
float:left;
box-sizing:border-box;
}

#terms ul.cookie {
margin-top:20px;
margin-bottom:20px;
}

#terms ul {
list-style:disc;
}

#terms ul li {
margin:5px 0;
}

#terms .date {
width:100%;
text-align:right;
float:left;
}

/* -------------------------------------------------------------- */


/* contact --------------- */

#main .contact_thanks {
width:100%;
margin-bottom:100px;
text-align:left;
float:left;
}

#main .contact_thanks p {
line-height:1.8;
}

#main #contact {
width:100%;
padding-bottom:100px;
text-align:left;
float:left;
}

#main #contact .first_block {
width:100%;
margin-bottom:100px;
float:left;
}

#main #contact .first_block .but {
width:100%;
margin-top:0;
float:left;
}

#main #contact .first_block p {
margin-right:20px;
float:left;
}

#main #contact .first_block .but a,
#main #contact .first_block .but span.fax {
width:300px;
padding:10px 0;
background:#d8474e;
text-align:center;
color:#fff;
float:left;
position:relative;
border-radius:45px;
}

#main #contact .first_block .but span.fax .zero:before {
content:'0';
}

#main #contact .first_block .but a:hover {
background:#c3262e;
}

#main #contact .first_block .first_mail {
width:100%;
float:left;
}

#main #contact .first_block .first_mail span.at:after {
content:'@';
}

#main #contact .first_block .first_mail span.com:after {
content:'.com';
}

#main #contact h2 {
width:100%;
margin-bottom:20px;
padding-left:12px;
border-left:8px solid #d8878b;
font-size:20px;
float:left;
box-sizing:border-box;
}

#main #contact .block {
width:100%;
margin-bottom:100px;
float:left;
}

#main #contact .box {
width:100%;
margin-bottom:3px;
display:table;
float:left;
}

#main #contact .box:last-child {
margin-bottom:0;
}

#main #contact .box .left,
#main #contact .box .right {
padding:50px 30px;
background:#f8f8f8;
display:table-cell;
vertical-align:middle;
box-sizing:border-box;
}

#main #contact .box .left {
width:34%;
border-right:3px solid #fff;
text-align:right;
}

#main #contact .box .right {
width:66%;
}

#main #contact .box .left .req {
margin-left:10px;
font-size:13px;
color:red;
float:right;
}

#main #contact .box .left .req:before {
content:'(';
}

#main #contact .box .left .req:after {
content:')';
}

#main #contact .box .right input[type="text"],
#main #contact .box .right input[type="email"],
#main #contact .box .right input[type="date"],
#main #contact .box .right input[type="number"],
#main #contact .box .right input[type="tel"],
#main #contact .box .right input[type="url"],
#main #contact .box .right select,
#main #contact .box .right textarea {
width:100%;
height:48px;
padding:8px 34px 8px 6px;
background:#fff;
border:1px solid #d5cecf;
transition:0.3s;
float:left;
box-sizing:border-box;
}

#main #contact .box .right textarea {
height:200px;
}

#main #contact .box.contact_tel .right input[type="text"] {
float:none;
display:inline-block;
}

#main #contact .box.contact_tel .right input[type="text"]:nth-of-type(1) {
width:100px;
}

#main #contact .box.contact_tel .right input[type="text"] {
width:160px;
}

#main #contact .box.contact_price .right input[type="text"] {
width:200px;
float:none;
display:inline-block;
}

#main #contact .box.contact_price .right span {
margin:0 5px;
display:inline-block;
}

#main #contact .box.contact_price .right label {
display:inline-block;
position:relative;
}

#main #contact .box.contact_price .right label .error {
position:absolute;
left:0;
bottom:-25px;
}

.contact_consultation span.hidden {
width:100%;
margin-top:10px;
float:left;
}

#main #contact .box .right .error {
width:100%;
margin-top:5px;
display:inline-block;
}

#main #contact .box .right .file {
width:100%;
margin-bottom:10px;
float:left;
}

#main #contact .box .right .file:last-child {
margin-bottom:0;
}

#main #contact .box .right input[type="text"]:hover,
#main #contact .box .right input[type="email"]:hover,
#main #contact .box .right input[type="date"]:hover,
#main #contact .box .right input[type="number"]:hover,
#main #contact .box .right input[type="tel"]:hover,
#main #contact .box .right input[type="url"]:hover,
#main #contact .box .right select:hover,
#main #contact .box .right textarea:hover {
background:#fcfcfc;
border:1px solid #c4c4c4;
}

#main #contact .box .right textarea:hover {
background:#f5f5f5;
}

#main #contact .box .right input:focus,
#main #contact .box .right select:focus,
#main #contact .box .right textarea:focus {
background:#fcfcfc;
border:1px solid #c4c4c4;
outline:none;
}

#main #contact .confirm_check {
width:100%;
margin-top:60px;
text-align:center;
float:left;
}

#main #contact .confirm_check .mwform-checkbox-field-text {
color:red;
font-weight:bold;
}

#main #contact .confirm_check .link {
padding-bottom:20px;
}

#main #contact .confirm_check .link .link_1:before,
#main #contact .confirm_check .link .link_2:before {
padding-right:3px;
content:'【';
}

#main #contact .confirm_check .link .link_1:after,
#main #contact .confirm_check .link .link_2:after {
padding-left:3px;
content:'】';
}

#main #contact .confirm_check .link  a {
color:blue;
text-decoration:underline;
}

#main #contact .confirm_check .link  a:hover {
color:#42aaeb;
}

#main #contact .confirm_check .mwform-checkbox-field label {
cursor:pointer;
}

#main #contact .but {
width:100%;
margin-top:60px;
text-align:center;
float:left;
}

#main #contact .but button {
width:310px;
padding:13px 0;
margin:0 20px;
background:#d8474e;
border:0;
font-size:17px;
font-weight:bold;
color:#fff;
display:inline-block;
letter-spacing:0.1em;
position:relative;
transition:0.3s;
cursor:pointer;
border-radius:45px;
}

#main #contact .but button:hover {
background:#c3262e;
}

#main #contact .but button.confirm:disabled {
background:#b5b5b5;
}

#main #contact .but input.back {
width:310px;
padding:13px 0;
margin:0 20px;
background:#666666;
border:0;
font-size:17px;
font-weight:bold;
color:#fff;
display:inline-block;
letter-spacing:0.1em;
position:relative;
transition:0.3s;
cursor:pointer;
border-radius:45px;
}

#main #contact .but input.back:hover {
background:#4c4c4c;
}

#main #contact .thanks {
line-height:1.8;
}

#main #contact .thanks p {
margin-bottom:20px;
}

#main #contact .thanks p:last-child {
margin-bottom:0;
}



/* -------------------------------------------------------------- */


/* sitemap --------------- */

.sitemap {
width:100%;
margin-bottom:100px;
float:left;
}

.sitemap .but {
width:100%;
float:left;
}

.sitemap .but ul {
width:100%;
margin-bottom:30px;
font-size:16px;
float:left;
display:flex;
flex-direction:row;
flex-wrap:wrap;
justify-content:space-between;
}

.sitemap .but ul:after {
width:32%;
content:'';
display:block;
}

.sitemap .but ul:before {
width:32%;
height:0;
content:'';
display:block;
order:1;
}

.sitemap .but ul li {
width:32%;
margin-bottom:30px;
float:left;
}

.sitemap .but ul:nth-of-type(3),
.sitemap .but ul:nth-of-type(3) li {
margin-bottom:0;
}

.sitemap .but ul:nth-of-type(2) li:nth-of-type(1) a,
.sitemap .but ul:nth-of-type(3) li:nth-of-type(1) a {
background:#d8474e;
}

.sitemap .but ul:nth-of-type(2) li:nth-of-type(1) a:hover,
.sitemap .but ul:nth-of-type(3) li:nth-of-type(1) a:hover {
background:#c0232a;
}

.sitemap .but ul li a {
width:100%;
padding:25px 5px;
background:#d8878b;
color:#fff;
float:left;
letter-spacing:0.1em;
position:relative;
box-sizing:border-box;
}

.sitemap .but ul li a:hover {
background:#c3262e;
}

.sitemap .but ul li a:after {
font-size:18px;
font-family:'Font Awesome 5 Free';
font-weight:900;
content:'\f054';
position:absolute;
right:15px;
top:calc(50% + 1px);
transform:translate(0%, -50%);
transition:0.3s;
}

.sitemap .but ul li a:hover:after {
right:8px;
}

/* -------------------------------------------------------------- */


/**************************************************
***************************************************
width:[1140px] or less.
***************************************************
**************************************************/

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


/* balloon --------------- */

#balloon .block_1 .img {
width:40%;
}

#balloon .block_1 .text {
width:60%;
padding-left:30px;
}


/* production --------------- */

#production .block .img_1 {
width:58%;
}

#production .block .img_2 {
width:38%;
}

#production .block .text {
font-size:15px;
}

#production .block a .bubble {
right:-10px;
}


/* flow --------------- */

#flow .block_2 ul {
width:100%;
}

#flow .block_2 ul li span.text span.but {
font-size:15px;
}

#flow .block_2 ul li span.text span.but a {
width:260px;
}


/* company --------------- */

#company .block_1 .text {
padding-right:5%;
padding-left:30px;
font-size:17px;
}

#company .block_2 .text {
padding-left:5%;
padding-right:30px;
font-size:17px;
}


/* privacypolicy --------------- */

#privacypolicy .box {
margin-bottom:40px;
}


/* terms --------------- */

#terms .box {
margin-bottom:40px;
}


/* contact --------------- */

#main #contact .box.contact_price .right label {
width:50%;
float:left;
}

#main #contact .box.contact_price .right input[type="text"] {
width:60%;
}


/* sitemap --------------- */

.sitemap .but ul:after {
width:48%;
}

.sitemap .but ul:before {
width:48%;
}

.sitemap .but ul li {
width:48%;
margin-bottom:20px;
}


}


/**************************************************
***************************************************
width:[768px] or less.
***************************************************
**************************************************/

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

/* balloon --------------- */

#balloon {
margin-bottom:60px;
}

#balloon .block_1 {
margin-bottom:60px;
display:block;
}

#balloon .block_1 .img {
width:100%;
margin-bottom:30px;
float:left;
}

#balloon .block_1 .text {
width:100%;
padding-left:0;
font-size:16px;
float:left;
}

#balloon .block_1 .text h2 {
font-size:22px;
}

#balloon .others_img {
margin-bottom:60px;
}

#balloon .block_2 .box_1:nth-of-type(1) .img img,
#balloon .block_2 .box_1:nth-of-type(2) .img img {
width:100%;
max-width:800px;
height:auto;
}

#balloon .block_2 .box_1:nth-of-type(3) .img img {
width:100%;
max-width:345px;
height:auto;
}

#balloon .block_2 .box_1:nth-of-type(4) .img img {
width:100%;
max-width:230px;
height:auto;
}

#balloon .block_2 .box_1:nth-of-type(5) .img img {
width:100%;
max-width:225px;
height:auto;
}

#balloon .block_2 {
margin-bottom:100px;
}

#balloon .block_3 {
margin-bottom:120px;
}

#balloon .block_4 .block {
padding:20px;
}

#balloon .block_4 .box_1 {
text-align:center;
display:block;
}

#balloon .block_4 .box_1 .img {
width:100%;
margin-bottom:20px;
text-align:left;
float:left;
}

#balloon .block_4 .box_1 .img img {
width:50vw;
max-width:312px;
height:auto;
}

#balloon .block_4 .box_1 .text {
width:100%;
padding-left:0;
font-size:4vw;
float:left;
}

#balloon .block_4 .box_2 ul {
font-size:16px;
}

#balloon .block_4 .block .others_img {
width:140px;
top:-100px;
}


/* planning --------------- */

#planning {
margin-bottom:60px;
}

#planning .block_1 {
margin-bottom:60px;
}

#planning .block_1 .img_1 {
width:100%;
margin-bottom:20px;
}

#planning .block_1 .img_1 img {
width:100%;
}

#planning .block_1 .img_2 {
width:100%;
}

#planning .block_1 .img_2 img {
width:100%;
}

#planning .block_2 .note_2 {
line-height:1.8;
margin-top:60px;
font-size:16px;
}


/* production --------------- */

#production .block {
margin-bottom:60px;
}


/* casting --------------- */

#casting {
margin-bottom:60px;
}

#casting .block_1 {
margin-bottom:60px;
}

#casting .block_1 .img_1 {
width:100%;
margin-bottom:20px;
}

#casting .block_1 .img_1 img {
width:100%;
}

#casting .block_1 .img_2 {
width:100%;
}

#casting .block_1 .img_2 img {
width:100%;
}


/* sitemap --------------- */

.sitemap {
margin-bottom:60px;
}

.sitemap .but ul {
margin-bottom:0;
}

.sitemap .but ul:after,
.sitemap .but ul:before {
display:none;
}

.sitemap .but ul li {
width:100%;
margin-bottom:10px;
text-align:left;
}

.sitemap .but ul li a {
padding:25px 15px;
}

.sitemap .but ul:nth-of-type(2) li:first-child a {
padding:25px 15px;
}

.sitemap .but ul:nth-of-type(2) li a {
padding:25px 15px 25px 35px;
}


/* contact --------------- */

#main #contact {
padding-bottom:60px;
}

#main #contact .first_block {
margin-bottom:60px;
}

#main #contact .first_block .but a,
#main #contact .first_block .but span.fax {
width:260px;
}

#main #contact .block {
margin-bottom:60px;
}

#main #contact .box {
margin-bottom:10px;
display:block;
}

#main #contact .box .left,
#main #contact .box .right {
padding:10px;
float:left;
}

#main #contact .box .left {
width:100%;
padding:10px;
border-bottom:3px dashed #fff;
border-right:0;
text-align:left;
}

#main #contact .box .right {
width:100%;
}

#main #contact .box.contact_tel .right .mwform-tel-field input[type="text"]:nth-of-type(1) {
width:20%;
}

#main #contact .box.contact_tel .right .mwform-tel-field input[type="text"] {
width:30%;
}

#main #contact .box.contact_price .right input[type="text"] {
width:60%;
}

#main #contact .box.contact_address .right .mwform-zip-field input[type="text"] {
width:36%;
}

#main #contact .box.contact_address .right input[type="text"].address {
width:86%;
}

#main #contact .but {
margin-top:30px;
}


/* privacypolicy --------------- */

#privacypolicy {
margin-bottom:60px;
}


/* terms --------------- */

#terms {
margin-bottom:60px;
}


/* performance --------------- */

#performance {
margin-bottom:60px;
}

#performance .block_1 {
margin-bottom:60px;
}

#performance .block_1 h2 {
font-size:20px;
}

#performance .facebook {
margin-top:60px;
}


/* flow --------------- */

#flow .block_1 {
margin-bottom:60px;
display:block;
}

#flow .block_1 a {
width:100%;
margin-bottom:15px;
}

#flow .block_1 a:last-child {
margin-bottom:0;
}

#flow .block_2 ul li {
margin-bottom:70px;
display:block;
}

#flow .block_2 ul li:before {
display:none;
}

#flow .block_2 ul li:after {
top:100%;
left:50%;
transform:translate(-50%, 0%);
}

#flow .block_2 ul li span.num {
width:100%;
height:auto;
padding:15px 0;
font-size:24px;
float:left;
border-radius:0;
}

#flow .block_2 ul li span.text {
width:100%;
padding:20px 0;
float:left;
}

#flow .block_3 {
margin-bottom:60px;
}


/* company --------------- */

#company .block_1 {
margin-bottom:80px;
display:block;
}

#company .block_1 h2 {
width:70%;
font-size:8vw;
}

#company .block_1 h2:before {
width:100px;
height:100px;
background-size:cover;
top:-40px;
}

#company .block_1 .text {
width:100%;
margin-top:40px;
padding-right:10px;
padding-left:10px;
font-size:16px;
float:left;
}

#company .block_2 {
margin-bottom:80px;
display:block;
}

#company .block_2 h2 {
width:70%;
font-size:8vw;
float:right;
}

#company .block_2 h2:before {
width:100px;
height:100px;
background-size:cover;
top:-40px;
}

#company .block_2 .text {
width:100%;
margin-top:40px;
padding-right:10px;
padding-left:10px;
font-size:16px;
float:left;
}

#company .block_3 {
margin-bottom:60px;
}

#company .block_3 ul li span.list_1:after {
left:calc(35% - 39px);
}

#company .block_3 ul li span.list_1 {
padding-right:80px;
}

#company .block_4 {
margin-bottom:60px;
}


}


/**************************************************
***************************************************
width:[640px] or less.
***************************************************
**************************************************/

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

/* balloon --------------- */

#balloon .block_2 h2 {
margin-bottom:40px;
padding:20px 0;
font-size:5vw;
}

#balloon .block_2 h2:before,
#balloon .block_2 h2:after {
width:80px;
height:20px;
}

#balloon .block_2 h3 {
font-size:18px;
}

#balloon .block_3 p {
font-size:16px;
}

#balloon .block_3 p:nth-of-type(2) {
font-size:16px;
}


/* planning --------------- */

#planning .block_2 h2 {
margin-bottom:40px;
padding:20px 0;
font-size:5vw;
}

#planning .block_2 h2:before,
#planning .block_2 h2:after {
width:80px;
height:20px;
}

#planning .block_2 ul li {
font-size:16px;
}


/* casting --------------- */

#casting .block_2 h2 {
margin-bottom:40px;
padding:20px 0;
font-size:5vw;
}

#casting .block_2 h2:before,
#casting .block_2 h2:after {
width:80px;
height:20px;
}

#casting .block_2 ul li {
font-size:16px;
}


/* contact --------------- */

#main #contact .first_block p {
width:100%;
margin-bottom:20px;
margin-right:0;
}

#main #contact .first_block p:last-child {
margin-bottom:0;
}

#main #contact .first_block .but a,
#main #contact .first_block .but span.fax {
width:100%;
}


/* privacypolicy --------------- */

#privacypolicy h2 {
font-size:5vw;
}

#privacypolicy .box p,
#privacypolicy ul {
font-size:16px;
}

#privacypolicy .box_last .address p {
margin-bottom:10px;
font-size:16px;
display:block;
}

#privacypolicy .box_last .address .list_1 {
width:100%;
margin-bottom:10px;
float:left;
}

#privacypolicy .box_last .address .list_2 {
width:100%;
float:left;
}


/* terms --------------- */

#terms h2 {
font-size:5vw;
}

#terms .box p,
#terms ul {
font-size:16px;
}


/* performance --------------- */

#performance .block_1 ul,
#performance .block_2 ul {
font-size:16px;
}

#performance .block_2 h2 {
margin-bottom:40px;
padding:20px 0;
font-size:5vw;
}

#performance .block_2 h2:before,
#performance .block_2 h2:after {
width:80px;
height:20px;
}

#performance .note {
font-size:16px;
}

#performance .facebook .fb-page,
#performance .facebook .fb-page span,
#performance .facebook iframe {
width:100%!important;
height:500px!important;
}


/* flow --------------- */

#flow .block_2 {
margin-bottom:60px;
}

#flow .block_2 h2 {
margin-bottom:40px;
padding:20px 0;
font-size:5vw;
}

#flow .block_2 h2:before,
#flow .block_2 h2:after {
width:80px;
height:20px;
}

#flow .block_2 ul li span.text span.but {
width:100%;
padding-top:0;
floa:tleft;
}

#flow .block_2 ul li span.text span.but a {
width:100%;
margin-right:0;
margin-top:20px;
float:left;
}

#flow .block_2 .note {
margin-top:40px;
font-size:16px;
}

#flow .block_3 h2 {
margin-bottom:40px;
padding:20px 0;
font-size:5vw;
}

#flow .block_3 h2:before,
#flow .block_3 h2:after {
width:80px;
height:20px;
}

#flow .block_3 p {
text-align:left;
}

#flow .block_3 .note {
font-size:16px;
}


/* company --------------- */

#company .block_3 h2 {
margin-bottom:40px;
padding:20px 0;
font-size:5vw;
}

#company .block_3 h2:before,
#company .block_3 h2:after {
width:80px;
height:20px;
}

#company .block_3 ul li {
padding:20px 0;
font-size:16px;
display:block;
}

#company .block_3 ul li span.list_1:after {
display:none;
}

#company .block_3 ul li span.list_1 {
width:100%;
padding-right:20px;
padding-left:20px;
padding-bottom:20px;
border-bottom:1px solid #f4f4f4;
text-align:left;
float:left;
}

#company .block_3 ul li span.list_1:before {
padding-right:5px;
content:'●';
}

#company .block_3 ul li span.list_2 {
width:100%;
padding:20px 20px 0 20px;
float:left;
box-sizing:border-box;
}

#company .block_4 h2 {
margin-bottom:40px;
padding:20px 0;
font-size:5vw;
}

#company .block_4 h2:before,
#company .block_4 h2:after {
width:80px;
height:20px;
}

#company .block_4 ul {
font-size:16px;
}

#company .block_4 .list.partner ul {
display:block;
}

#company .block_4 .list.partner ul:after {
display:none;
}

#company .block_4 .list.partner ul li {
width:100%;
padding:30px 15px;
}

#company .block_4 .list.partner ul li:last-child {
padding:0;
}


}


/**************************************************
***************************************************
width:[480px] or less.
***************************************************
**************************************************/

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

/* production --------------- */

#production .block .img_1 {
width:100%;
margin-bottom:60px;
}

#production .block .img_2 {
width:100%;
}


/* contact --------------- */

#main #contact .confirm_check {
padding:0 5px;
}

#main #contact .confirm_check .mwform-checkbox-field-text {
font-size:15px;
}


}


/**************************************************
***************************************************
width:[480px] or less.
***************************************************
**************************************************/

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

/* balloon --------------- */

#balloon .block_2 .block:before {
bottom:0;
right:-10vw;
}

#balloon .block_2 .block:after {
bottom:-80px;
right:10vw;
}

}