@charset "utf-8";

/* ==================================================
Common CSS
================================================== */

@media(min-width:1000px){

/*STYLE*/
.sp {
display:none;
}

.cts {
width:1000px;
}

.titles {
padding-bottom:30px;
text-align:center;
}

.titles h2 {
    margin-bottom:10px;
}

.titles h2 p {
    font-size:700%;
    font-weight:bold;
    line-height:100%;
    color:#fac910;
    display:inline-block;
    position:relative;
}

.titles h2 p span {
    height:3px;
    background:#fac910;
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
}

.titles .subtitle {
font-size:110%;
font-weight:bold;
}

.titles .kana {
font-size:120%;
font-weight:bold;
}




/*HEADER*/
header {
    position:absolute;
    top:30px;
    left:30px;
    z-index:1000;
    width:120px;
}


/*FIXED CTA*/
.fixed_cta {
    position:fixed;
    top:15px;
    right:15px;
    z-index:1000;
    -webkit-animation:cta 1s infinite alternate;
    animation:cta 1s infinite alternate;
}

.fixed_cta a {
    width:90px;
    height:90px;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
    background:#e72420;
    border-radius:50vw;
}

.fixed_cta a .icon {
    width:30px;
    margin-bottom:5px;
}

.fixed_cta a .tx {
    font-size:70%;
    font-weight:500;
    color:#fff;
}


/*MV*/
#mv {
    width:100vw;
    height:100vh;
    min-height:650px;
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
    overflow:hidden;
}

#mv .mask {
    width:100%;
    height:100%;
    background:rgba(243,152,28,0.5);
    position:absolute;
    top:0;
    left:0;
    z-index:100;
}

#mv .movie {
    width:100vw;
    height:100vh;
    min-height:650px;
}

#mv video{
    width:100%;
    height:100vh;
    min-height:650px;
    object-fit:cover;
}

#mv .cts {
    position:absolute;
    width:1000px;
    height:520px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    z-index:999;
}

#mv .cts .photos {
    width:400px;
    height:520px;
    margin:auto;
    position:relative;
    z-index:2;
}

#mv .cts .photos .photo_main {
    position:relative;
    width:380px;
    top:0;
    left:0;
    right:0;
    margin:auto;
}

#mv .cts .photos .photo1 {
    width:300px;
    position:absolute;
    top:200px;
    left:-110px;

}

#mv .cts .photos .photo2 {
    width:300px;
    position:absolute;
    top:200px;
    right:-100px;

}

#mv .cts .detail {
    width:480px;
}

#mv .cts .detail .issues {
    width:480px;
    position:absolute;
    top:0;
    right:0;
}

#mv .cts .detail .issues .issue {
    width:380px;
    height:80px;
    background:#fff;
    position:relative;
    display:flex;
    border-radius:40px;
    align-items:center;
}

#mv .cts .detail .issues .issue:nth-child(even) {
    margin:0 auto 15px 0;
    padding-left:100px;
}

#mv .cts .detail .issues .issue:nth-child(odd) {
    margin:0 0 15px auto;
    padding-left:50px;
}

#mv .cts .detail .issues .issue:nth-child(even) .chara {
    width:60px;
    position:absolute;
    bottom:10px;
    left:25px;
}

#mv .cts .detail .issues .issue:nth-child(odd) .chara {
    width:60px;
    position:absolute;
    bottom:10px;
    right:25px;
}

#mv .cts .detail .issues .issue .tx {
    font-size:110%;
    font-weight:bold;
    line-height:160%;
    padding-top:3px;
}

#mv .cts .detail .issues .issue .tx .st {
    font-size:135%;
    color:#f3981c;
}

#mv .cts .detail .copies {
    width:1100px;
    position:absolute;
    bottom:-35px;
    left:-50px;
    margin:auto;
    background:#fafaf0;
    border-radius:100vw;
    display:flex;
    justify-content:flex-end;
    padding:40px 0 35px 0;
    z-index:1;
}

#mv .cts .detail .copies .copy {
    width:calc(50% - 50px);
}

#mv .cts .detail .copies .subcopies {
    position:absolute;
    top:-23px;
    left:calc(50% + 135px);
    z-index:1;
}

#mv .cts .detail .copies .subcopies .subcopy {
    display:inline-block;
    background:#000;
    border-radius:20vw;
}

#mv .cts .detail .copies .subcopies .subcopy p {
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:150%;
    font-weight:600;
    color:#fff;
    height:46px;
    padding:0 20px;
}

#mv .cts .detail .copies .maincopies {
    display:flex;
    align-items:center;
}

#mv .cts .detail .copies .maincopies .maincopy {
    width:300px;
}

#mv .cts .detail .copies .maincopies .endcopy {
    font-size:180%;
    font-weight:800;
    line-height:125%;
    letter-spacing:0;
    color:#000;
    margin-left:10px;
    padding-top:10px;
}




/*ABOUT*/
#about {
    padding:100px 0;
    background:#fff;
}

#about .maincopy {
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:15px;
}

#about .maincopy p {
    font-size:400%;
    font-weight:700;
    line-height:100%;
    color:#f2971b;
}

#about .maincopy img {
    width:60px;
    margin:0 15px;
}

#about .tx {
    text-align:center;
    margin-bottom:30px;
}

#about .main {
    width:100%;
    margin:0 auto 30px;
}

#about .attentions {
    display:flex;
    justify-content:center;
}

#about .attentions .attention {
    display:flex;
    align-items:center;
    margin-right:30px;
}

#about .attentions .attention:last-child {
    margin-right:0;
}

#about .attentions .attention:before {
    content:"●";
    font-size:70%;
    color:#fac910;
    margin-right:5px;
}

#about .attentions .attention img {
    width:70px;
}

#about .attentions .attention p {
    font-size:70%;
}



/*SAMPLE*/
#sample {
    padding:100px 0;
}

#sample .cts {
    width:100%;
}

#sample .titles h2 p {
}

#sample .titles .subtitle {
    color:#fff;
}

#sample .copy {
    font-size:135%;
    font-weight:600;
    text-align:center;
    margin-bottom:20px;
    color:#000;
}

#sample .samples {
}

#sample .samples .sample {
    display:flex;
    margin-bottom:40px;
}

#sample .samples .sample:last-child {
    margin-bottom:0;
}

#sample .samples .sample .blank {
    width:calc(50% - 500px);
}

#sample .samples .sample:nth-child(odd) .blank:last-child {
    background:#fff;
}

#sample .samples .sample:nth-child(even) .blank:first-child {
    background:#fff;
}

#sample .samples .sample .details {
    width:1000px;
    height:350px;
    background:#fff;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

#sample .samples .sample:nth-child(odd) .details {
    border-radius:100vw 0 0 100vw;
    padding-left:150px;
}

#sample .samples .sample:nth-child(even) .details {
    border-radius:0 100vw 100vw 0;
    padding-right:100px;
    flex-direction:row-reverse;
}

#sample .samples .sample .details .image {
}

#sample .samples .sample:nth-child(1) .details .image {
    width:500px;
}

#sample .samples .sample:nth-child(2) .details .image {
    width:550px;
}

#sample .samples .sample:nth-child(3) .details .image {
    width:550px;
}

#sample .samples .sample .details .detail {
    width:270px;
}

#sample .samples .sample .details .detail .sample_title {

}

#sample .samples .sample .details .detail .sample_title .number {

}

#sample .samples .sample .details .detail .sample_title .number p {
    display:inline-block;
    background:#e72420;
    font-size:100%;
    font-weight:500;
    line-height:100%;
    padding:5px 10px;
    color:#fff;
}

#sample .samples .sample .details .detail .sample_title h3 {
    font-size:250%;
    font-weight:600;
    margin-bottom:10px;
}

#sample .samples .sample .details .detail .tx {
    background:#f4eace;
    padding:12px 20px;
    border-radius:1.5vw;
}

#sample .samples .sample .details .detail .tx p {
    font-size:90%;
}



/*FEATURE*/
#feature {
    padding:100px 0;
    background:#faf5f0;
}

#feature .copy {
    font-size:220%;
    font-weight:bold;
    color:#f2971b;
    text-align:center;
    margin-bottom:35px;
}

#feature .features {
    display:flex;
    justify-content:space-between;
}

#feature .features .feature {
    width:320px;
    background:#fff;
    position:relative;
    padding:70px 30px 30px;
}

#feature .features .feature .number {
    width:65px;
    position:absolute;
    top:-10px;
    left:0;
    right:0;
    margin:auto;
}

#feature .features .feature .item {
    border-top:#e72420 1px solid;
    border-bottom:#e72420 1px solid;
    color:#e72420;
    text-align:center;
    padding:5px;
    font-size:135%;
    font-weight:bold;
    margin-bottom:20px;
}

#feature .features .feature .illust {
    width:150px;
    margin:0 auto 20px;
}

#feature .features .feature .tx {
    font-size:90%;
}



/*RESULT*/
#result {
    padding:100px 0;
}

#result .titles .subtitle {
    color:#fff;
}

#result .results {
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
}

#result .results .result {
    width:320px;
    margin-bottom:25px;
}

#result .results .result:nth-child(n+4) {
    margin-bottom:0;
}

#result .results .result .number {
    width:120px;
    margin:auto;
}

#result .results .result .result_cts {
    background:#fff;
    padding:30px;
}

#result .results .result .result_cts .item {
    font-size:120%;
    font-weight:600;
    line-height:135%;
    color:#e72420;
    text-align:center;
    margin-bottom:15px;
    display:flex;
    justify-content:center;
    align-items:center;
}

#result .results .result:nth-child(n+4) .result_cts .item {
    height:calc(3em + 20px);
}

#result .results .result .result_cts .photo {
    margin-bottom:20px;
}

#result .results .result .result_cts .tx {
    font-size:90%;
    min-height:120px;
}



/*SITUATION*/
#situation {
    padding:100px 0;
    background:#faf5f0;
}

#situation .cts {
    width:100%;
}

#situation .copies {
    display:flex;
    justify-content:center;
    align-items:flex-end;
    margin-bottom:25px;
}

#situation .copies img {
    width:80px;
}

#situation .copies p {
    font-size:180%;
    font-weight:bold;
    line-height:135%;
    color:#f2971b;
    text-align:center;
    margin:0 10px;
}

#situation .gallery {
    width:100%;
}

#situation .gallery .situation {
    position:relative;
}

#situation .gallery .situation .photo {
}

#situation .gallery .situation .number {
    width:100px;
    position:absolute;
    top:-3px;
    left:-3px;
}

#situation .gallery .situation .scene {
    position:absolute;
    left:25px;
    bottom:25px;
}

#situation .gallery .situation .scene .en {
    font-size:500%;
    line-height:100%;
    color:#fac910;
    text-shadow:0 0 7px rgba(0,0,0,0.2);
}

#situation .gallery .situation .scene .name {
    font-size:650%;
    font-weight:500;
    line-height:70%;
    letter-spacing:-2px;
    color:#fac910;
    margin-bottom:15px;
    text-shadow:0 0 7px rgba(0,0,0,0.2);
}

#situation .gallery .situation .scene .item {
    font-size:110%;
    font-weight:600;
    line-height:100%;
    color:#000;
    padding-left:5px;
    text-shadow:0 0 7px rgba(255,255,255,1);
}



/*PRICE*/
#price {
    padding:100px 0;
}

#price .titles .subtitle {
    color:#fff;
}

#price .price_cts {
    background:#fff;
    padding:50px;
}

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

#price .details .photo {
    width:290px;
    margin:auto;
}

#price .details .detail {
    width:calc(100% - 400px);
}

#price .details .detail .items {
    margin-bottom:10px;
}

#price .details .detail .items .item {
    font-size:200%;
    font-weight:bold;
    line-height:100%;
    color:#f2971b;
    display:flex;
    align-items:center;
    margin-bottom:5px;
}

#price .details .detail .items .ask {
    display:flex;
    align-items:center;
}

#price .details .detail .items .ask .price_item {
    font-weight:600;
}

#price .details .detail .items .ask .price_item span {
    border-bottom:#f6d275 3px solid;
}

#price .details .detail .items .ask .main {
    font-size:180%;
    font-weight:600;
    line-height:100%;
    color:#e72420;
    margin-right:10px;
    display:flex;
    align-items:center;
}

#price .details .detail .items .ask .main:before {
    content:"";
    width:50px;
    height:1px;
    background:#ccc;
    display:block;
    margin:0 10px;
}

#price .details .detail .items .ask .sub {
    font-size:90%;
    font-weight:700;
    line-height:100%;
}

#price .details .detail .items .prices {
}

#price .details .detail .items .prices .price {
    color:#000;
}

#price .details .detail .items .prices .price .value {
    font-size:220%;
    font-weight:500;
    color:#e72420;
}

#price .details .detail .items .prices .price .yen {
    font-size:150%;
    font-weight:bold;
    color:#e72420;
}

#price .details .detail .items .prices .price .tax {
    font-size:70%;
}

#price .details .detail .items .prices .price .postage {
    font-size:70%;
}

#price .details .detail .packages {

}

#price .details .detail .packages .package {
    background:#faf5f0;
    padding:12px 15px;
    margin-bottom:10px;
}

#price .details .detail .packages .package .item {
    font-weight:600;
    color:#000;
}

#price .details .detail .packages .package .item:before {
    content:"●";
    color:#fac910;
    margin-right:3px;
}

#price .details .detail .packages .package ul {
    display:flex;
    flex-wrap:wrap;
    margin-top:10px;
}

#price .details .detail .packages .package ul li {
    width:48.5%;
    background:#fff;
    margin:0 10px 10px 0;
    display:flex;
    justify-content:space-between;
    padding:10px 15px;
}

#price .details .detail .packages .package ul li:nth-child(2n) {
    margin-right:0;
}

#price .details .detail .packages .package ul li:nth-child(n+5) {
    margin-bottom:5px;
}

#price .details .detail .packages .package ul li p {
    font-size:80%;
}

#price .option_title {
}

#price .option_title p {
    font-weight:600;
    padding:10px 10px 0px 20px;
    background:#fdf1cf;
    display:inline-block;
    position:relative;
}

#price .option_title p:after {
    content:"";
    width:15px;
    height:20px;
    border-left:#fdf1cf 15px solid;
    border-top:transparent 20px solid;
    border-right:transparent 15px solid;
    border-bottom:#fdf1cf 20px solid;
    position:absolute;
    top:0;
    right:-30px;
}

#price .option_title p span {
    border-bottom:#f6d275 3px solid;
}

#price .option {
    background:#fdf1cf;
    padding:30px;
}

#price .services {
}

#price .services .service {
    margin-bottom:30px;
}

#price .services .service:last-child {
    margin-bottom:0;
}

#price .services .service .copies {
    background:#f2971b;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:10px 15px;
    margin-bottom:10px;
}

#price .services .service .copies .copy {
    font-weight:bold;
    color:#fff;
}

#price .services .service .copies .tx {
    font-size:80%;
    color:#fff;
}

#price .services .service .menus {
    display:flex;
    justify-content:space-between;
}

#price .services .service .menus .menu {
    width:calc(50% - 5px);
    background:#fff;
    padding:12px 15px;
    display:flex;
    justify-content:space-between;
}

#price .services .service .menus .menu .item {
    font-weight:600;
}

#price .services .service .menus .menu .item:before {
    content:"●";
    color:#fac910;
    margin-right:3px;
}

#price .services .service .menus .menu .price {
    font-weight:600;
}







/*CLIENT*/
#client {
    padding:100px 0;
    background:#faf5f0;
}

#client .client_cts {
    background:#fff;
    padding:50px;
}

#client .clients {
    display:flex;
    justify-content:space-between;
}

#client .clients .client {
    width:50%;
}

#client .clients .client p {
    font-size:90%;
}

#client .clients .client p:before {
    content:"●";
    color:#fac910;
    margin-right:3px;
}

/*
#client .clients .client:last-child p:last-child {
    text-align:right;
}

#client .clients .client:last-child p:last-child:before {
    display:none;
}
*/

#client .etc {
    font-size:90%;
    text-align:right;
}



/*PROCESS*/
#process {
    padding:100px 0;
    background:linear-gradient(to right,#fcc80e,#f3981c,#e72420);
}

#process .titles .subtitle {
    color:#fff;
}

#process .cts {
    width:calc(100% - 100px);
    max-width:1200px;
}

#process .flows {
    display:flex;
    justify-content:space-between;
}

#process .flows .flow {
    width:14%;
    position:relative;
}

#process .flows .flow:after {
    content:"";
    width:20px;
    height:30px;
    border-top:transparent 30px solid;
    border-right:transparent 20px solid;
    border-bottom:transparent 30px solid;
    border-left:#fff 20px solid;
    display:block;
    position:absolute;
    right:-50px;
    top:100px;
}

#process .flows .flow:first-child:after {
    border-left:#f6d275 20px solid;
}

#process .flows .flow:nth-child(2):after,
#process .flows .flow:nth-child(3):after {
    border-left:#fbc70d 20px solid;
}

#process .flows .flow:nth-child(4):after,
#process .flows .flow:nth-child(5):after {
    border-left:#f2971b 20px solid;
}

#process .flows .flow:last-child:after {
    display:none;
}

#process .flows .flow .number {
    width:40px;
    height:40px;
    background:#fff;
    border-radius:20vw;
    color:#f2971b;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    margin:0 auto 10px;
}

#process .flows .flow .item {
    font-size:120%;
    font-weight:bold;
    color:#fff;
    text-align:center;
    margin-bottom:10px;
}

#process .flows .flow .icon {
    width:90px;
    margin:0 auto 15px;
}

#process .flows .flow .tx {
    font-size:80%;
    color:#fff;
}



/*SERVICE*/
#service {
    padding:100px 0;
    background:#fff;
}

#service .copy {
    font-size:200%;
    font-weight:600;
    line-height:145%;
    color:#f2971b;
    text-align:center;
    margin-bottom:30px;
}

#service .services {
    display:flex;
    justify-content:space-between;
}

#service .services .service {
    width:30%;
}

#service .services .service .logo {
    width:250px;
    margin:0 auto 15px;
}

#service .services .service .tx {
    font-size:90%;
}



/*CONTACT*/
#contact {
    padding:80px 0 100px;
}

#contact .titles .subtitle {
    color:#fff;
}

#contact .contact_cts {
    background:#fff;
    padding:55px 60px;
}

#contact .intro {
}

#contact .intro h3 {
    font-size:200%;
    font-weight:bold;
    color:#f2971b;
    text-align:center;
    display:flex;
    justify-content:center;
    align-items:center;
}

#contact .intro .tx {
    text-align:center;
    margin-bottom:10px;
}

#contact .intro .caution {
    margin-bottom:20px;
    text-align:center;
    margin-bottom:20px;
}

#contact .intro .caution p {
    display:inline-block;
    padding:5px 15px;
    background:#e72420;
    font-weight:500;
    color:#fff;
}

#contact .intro .contact_tel {
    width:500px;
    margin:0 auto 50px;
    background:#faf5f0;
}

#contact .intro .contact_tel .item {
    font-weight:600;
    color:#fff;
    text-align:center;
    background:linear-gradient(to right,#e72420,#f3981c,#fcc80e);
    padding:8px;
}

#contact .intro .contact_tel .tel {
    display:flex;
    justify-content:center;
    align-items:center;
    padding:15px 0 5px;
}

#contact .intro .contact_tel .tel img {
    width:30px;
    margin-right:5px;
}

#contact .intro .contact_tel .number {
    font-size:250%;
    font-weight:600;
    line-height:100%;
    color:#f2971b;
}

#contact .intro .contact_tel .company {
    font-size:90%;
    font-weight:500;
    text-align:center;
    padding-bottom:15px;
}

#contact .contact_form {
}

#contact .contact_form.thanks {
    padding:25px 0;
}

#contact .contact_form h3 {
    font-size:200%;
    font-weight:bold;
    color:#f2971b;
    text-align:center;
    margin-bottom:10px;
}

#contact .contact_form .form_item {
    border-top:#fac910 3px solid;
    border-bottom:#fac910 3px solid;
    margin-bottom:15px;
}

#contact .contact_form .form_item p {
    font-weight:600;
    padding:8px;
}

#contact .contact_form .explain {
    margin-bottom:20px;
    text-align:center;
}

#contact .contact_form .explain .tx {
}

#contact .contact_form .explain .attention {
    text-align:center;
    margin-top:3px;
}

#contact .contact_form .explain .attention p {
    font-size:80%;
    justify-content:center;
}

#contact .contact_form .forms {

}

#contact .contact_form .forms .form {
    display:flex;
    justify-content:space-between;
    border-bottom:#e1e1e1 1px solid;
    padding:20px 0;
}

#contact .contact_form .forms .form:nth-child(n+6) {
    align-items:flex-start;
}

#contact .contact_form .forms .form:first-child {
    border-top:#e1e1e1 1px solid;
}

#contact .contact_form .forms .form .items {
    width:200px;
    display:flex;
    align-items:center;
}

#contact .contact_form .forms .form .items .required {
    font-size:70%;
    line-height:100%;
    background:#f2971b;
    color:#fff;
    padding:4px 5px;
    margin-right:8px;
}

#contact .contact_form .forms .form .items .any {
    font-size:70%;
    line-height:100%;
    background:#b4b4b4;
    color:#fff;
    padding:4px 5px;
    margin-right:8px;
}

#contact .contact_form .forms .form .items .item {
    font-weight:600;
}

#contact .contact_form .forms .form .answer {
    width:calc(100% - 230px);
}

#contact .contact_form .forms .form .answer p {
}

#contact .contact_form .forms .form .answer .caution {
    font-weight:500;
    color:#e72420;
    margin-bottom:7px;
}

#contact .contact_form .form_btns {
    display:flex;
    justify-content:center;
    margin-top:20px;
}

#contact .contact_form .form_btns .form_btn {
    margin:0 7px;
}

#contact .style_name {
    width:50%;
}

#contact .style_manager {
    width:50%;
}

#contact .style_mail {
    width:80%;
}

#contact .style_tel {
    width:40%;
}

#contact .style_genre {
    width:50%;
}

#contact .style_detail {
    width:100%;
    height:300px;
    display:block;
}

#contact .style_consent {

}

#contact .style_fix {
    border:none;
    background:#b4b4b4;
    color:#fff;
    padding:15px 30px;
    cursor:pointer;
}

#contact .style_submit {
    border:none;
    background:#f2971b;
    color:#fff;
    padding:15px 30px;
    cursor:pointer;
}

#contact .style_fix:hover,
#contact .style_submit:hover {
    -webkit-animation:hover 0.5s ease forwards;
    animation:hover 0.5s ease forwards;
}

#contact input[type="text"],
#contact input[type="email"],
#contact input[type="tel"],
#contact select,
#contact textarea {
    padding:15px 15px;
}

.forms .form .consent {
    display:flex;
}

.forms .form .consent p {
    display:flex;
}

.forms .form .consent label {
    font-weight:500;
    line-height:100%;
    cursor:pointer;
    padding-left:5px;
    position:relative;
}

.forms .form .consent label:before {
content:"";
width:16px;
height:16px;
border:#f2971b 1px solid;
display:inline-block;
position:absolute;
left:-20px;
}

.forms .form .consent label:after {
content:"";
width:10px;
height:15px;
border-right:#f2971b 2px solid;
border-bottom:#f2971b 2px solid;
display:block;
transform:rotate(45deg);
position:absolute;
top:-4px;
left:-13px;
opacity:0;
}

.forms .form input[type="checkbox"] {
width:20px;
visibility:hidden;
}

.forms .form input[type="checkbox"]:checked + label:after {
opacity:1;
}

#contact .form_btns .form_btn .accepted:disabled {
background:#ccc;
color:#fff;
pointer-events:none;
}

#contact .contact_form .forms .form .answer .warning {
font-size:80%;
color:#e72420;
position:relative;
top:5px;
margin-top:20px;
}


/*PRIVACY POLICY*/
#contact .privacy_area {
    border:#ddd 1px solid;
    padding:20px 25px;
    height:300px;
    overflow:scroll;
    margin-bottom:15px;
}

#contact .privacy_area p {
    font-size:80%;
}

#contact .privacy_area .privacies {
}

#contact .privacy_area .privacies .privacy {
    border-bottom:#ddd 1px solid;
    padding-bottom:15px;
    margin-bottom:15px;
}

#contact .privacy_area .privacies .privacy:last-child {
    border-bottom:none;
    padding-bottom:0;
    margin-bottom:0;
}

#contact .privacy_area .privacies .privacy h4 {
    font-size:80%;
    font-weight:600;
    border-left:#f2971b 4px solid;
    padding-left:10px;
    margin-bottom:7px;
}

#contact .privacy_area .privacies .privacy .policies {

}

#contact .privacy_area .privacies .privacy .policies .policy {
    border-bottom:#ddd 1px dashed;
    padding-bottom:12px;
    margin-bottom:12px;
}

#contact .privacy_area .privacies .privacy .policies .policy:last-child {
    border-bottom:none;
    padding-bottom:0;
    margin-bottom:0;
}

#contact .privacy_area .privacies .privacy .policies .policy h5 {
    font-size:80%;
    font-weight:600;
    color:#f2971b;
}

#contact .privacy_area .privacies .privacy .policies .policy .policy_cts {
    border-bottom:#ddd 1px dashed;
    padding-bottom:12px;
    margin-bottom:12px;
}

#contact .privacy_area .privacies .privacy .policies .policy .policy_cts:last-child {
    border-bottom:none;
    padding-bottom:0;
    margin-bottom:0;
}

#contact .privacy_area .privacies .privacy .policies .policy .policy_cts .subitem {
    font-weight:600;
}

#contact .privacy_area .privacies .privacy .policies .policy .policy_cts .column {
    background:#efefef;
    margin-top:10px;
    padding:15px;
}

#contact .privacy_area .privacies .date {
    text-align:right;
}




/*BACK BTN*/
.back_btn {
    margin-top:35px;
    text-align:center;
}

.back_btn .btn {
    display:inline-block;
}

.back_btn .btn a {
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
    border:#f2971b 1px solid;
    padding:10px 25px;
}

.back_btn .btn a .arrow {
    width:10px;
    height:10px;
    border-bottom:#f2971b 1px solid;
    border-left:#f2971b 1px solid;
    transform:rotate(45deg);
    margin-right:15px;
}

.back_btn .btn a p {
    color:#f2971b;
}



/*CTA*/
.cta {
    width:100%;
    background:#fac910;
    padding:25px 0 20px;
}

.cta .cts {
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:row-reverse;
}

.cta .photo {
    width:200px;
    margin-left:30px;
    -webkit-animation:cta_photo 2s infinite alternate;
    animation:cta_photo 2s infinite alternate;
}

.cta .copies {
}

.cta .copies .subcopy {
    margin-bottom:15px;
}

.cta .copies .subcopy p {
    display:inline-block;
    background:#000;
    font-size:90%;
    font-weight:500;
    color:#fff;
    padding:5px 10px;
}

.cta .copies .maincopies {
    display:flex;
    align-items:flex-end;
    margin-bottom:15px;
}

.cta .copies .maincopies .maincopy {
    width:180px;
}

.cta .copies .maincopies .endcopy {
    font-size:150%;
    font-weight:800;
    line-height:125%;
    letter-spacing:0;
    color:#000;
    margin-left:8px;
    padding-bottom:8px;
}

.cta .cta_btn {
    text-align:center;
    -webkit-animation:cta 1s infinite alternate;
    animation:cta 1s infinite alternate;
}

.cta .cta_btn .btn {
    display:inline-block;
}

.cta .cta_btn .btn a {
    width:400px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:#e72420;
    padding:12px;
    position:relative;
}

.cta .cta_btn .btn a p {
    font-size:130%;
    font-weight:600;
    color:#fff;
}

.cta .cta_btn .btn a .arrow {
    width:12px;
    height:12px;
    border-top:#fff 2px solid;
    border-right:#fff 2px solid;
    transform:rotate(45deg);
    position:absolute;
    right:30px;
}



/*BACK TO TOP*/
.BackToTop {
position:fixed;
width:30px;
height:40px;
right:15px;
bottom:0;
z-index:100;
display:none;
}



/*FOOTER*/
footer {
    background:#faf5f0;
    padding:50px 0 20px;
}

footer .footer_logo {
    width:150px;
    margin:0 auto 10px;
}

footer .company {
    font-size:90%;
    font-weight:600;
    text-align:center;
    margin-bottom:30px;
}

footer .offices {
    display:flex;
    justify-content:center;
    margin-bottom:50px;
}

footer .offices .office {
}

footer .offices .office:first-child {
    text-align:right;
    padding-right:30px;
    border-right:#c8c8c8 1px solid;
}

footer .offices .office:last-child {
    text-align:left;
    padding-left:30px;
}

footer .offices .office .name {
    font-size:80%;
    font-weight:600;
}

footer .offices .office .address {
    font-size:80%;
}

footer .copyright {
    font-size:70%;
    text-align:center;
    color:#c8c8c8;
}





/*----- INVIEW -----*/
.fadeIn {
    opacity:0;
    transition:1s;
}

.fadeIn.show {
    opacity:1;
}

.fadeInUp {
    opacity:0;
    transform:translate(0,30%);
    transition:1s;
}

.fadeInUp.show {
    opacity:1;
    transform:translate(0,0);
}




/*----- SWIPER -----*/
/* 前へ次への矢印カスタマイズ */
.swiper-button-prev::after,
.swiper-button-next::after {
    content: "";
    height: 0;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 0;
}
/* 前への矢印カスタマイズ */
.swiper-button-prev::after {
    width:30px;
    height:30px;
    border-left:2px #000 solid;
    border-bottom:2px #000 solid;
    transform:rotate(45deg);
    left:30px;
}
/* 次への矢印カスタマイズ */
.swiper-button-next::after {
    width:30px;
    height:30px;
    border-top:2px #000 solid;
    border-right:2px #000 solid;
    transform:rotate(45deg);
    right:30px;
}





}