@charset "utf-8";
/*---------------------------------------------------------
Theme Name: cee2.0
Description:
Author: JAMD STUDIO
License:
License URI:
Version: 1.0
---------------------------------------------------------*/
#wpadminbar {
    position: fixed;
    top: auto;
    bottom: 0 !important;
    left: 0;
    opacity: .8;
}
html {
    margin-top: 0 !important;
}

/*==========================================================================

   home

==========================================================================*/
.p-home-fv {
    position: relative;
}
.p-home-fv-image img,
.p-home-fv-image video {
    width: 100%;
}
/* KV のぼかし演出で、にじんだ縁を枠の外に隠す（境界線をくっきり保つ） */
.p-home-fv-image {
    overflow: hidden;
    background: #000;
}
/* 動画の読み込み前から高さを確保し、下の文字や作品紹介が押し下げられる（表示のずれ）のを防ぐ */
.p-home-fv-image video {
    display: block;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    background: #000;
}
.p-home-fv-copy {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
	width: 100%;
    font-size: 46px;
    font-weight: 500;
    color: #fff;
}
.p-home-fv-copy .l-container {
    width: 90%;
}
.p-home-creation-header {
    margin-top: -60px;
}
.p-home-creation-copy {
	margin-top: -25px;
    font-size: 200px;
    line-height: 1;
    display: flex;
    color: #d7caca;
    white-space: nowrap;
    opacity: .65;
    overflow: hidden;
}
.p-home-creation-copy .jamd-textTicker__item {
	margin: 0 .2em;
}
.p-home-creation-header__title {
    margin-bottom: 42px;
    font-size: 26px;
    font-weight: 600;
    letter-spacing: .1em;
}
.p-home-creation-header__text {
    font-size: 18px;
    line-height: 1.77777777778;
}
.p-home-creation-gallery {
    position: relative;
    top: 0;
    width: 100%;
    height: 78vw;
}
.p-home-creation-gallery__item {
    position: absolute;
}
.p-home-creation-gallery__item img {
    width: 100%;
}
.p-home-creation-gallery__item.item--01 {
	top: -27vw;
    right: 0;
    width: 38.5vw
}
.p-home-creation-gallery__item.item--02 {
    top: 37vw;
    right: 7vw;
    width: 34.714285714vw;
}
.p-home-creation-gallery__item.item--03 {
    top: 12vw;
    right: 28.571428571vw;
    width: 26vw;
}
.p-home-creation-gallery__item.item--04 {
    top: -5vw;
    left: 11vw;
    width: 28.214285714vw;
}
.p-home-creation-gallery__item.item--05 {
    top: 53vw;
    left: 16vw;
    width: 33.857143vw;
}
.p-home-creation-gallery__item.item--06 {
	top: 60vw;
    right: 10vw;
    width: 57vw;
}
.p-home-creation-gallery__item.item--07 {
    top: 80vw;
    left: 14vw;
    width: 43vw;
}
.p-home-creation-gallery__item.item--08 {
    top: 108vw;
    right: 7vw;
    width: 40vw;
}
.p-home-creation-gallery__item.item--09 {
    top: 130vw;
    left: 21vw;
    width: 43.857143vw;
}
.p-home-creation-gallery__item.item--10 {
    top: 141vw;
    left: 37vw;
    width: 38.85vw;
}
.p-home-creation-gallery__item.item--11 {
    top: 202vw;
    left: 22vw;
    font-size: 18px;
    line-height: 3;
    color: var(--text-color02);
}
.p-home-creation-more {
    margin-top: 35px;
}

.p-home-products {
    margin-top: 100px;
}
.p-home-products-archive {
    overflow: hidden;
}
.p-home-products-archive__list {
    background: var(--gradient01);
}
.p-home-products-archive__item {
    padding-top: 5px;
    background: var(--gradient01);
}
.p-home-products-article {
    height: 100%;
}
.p-home-products-article-row {
	position: relative;
    display: flex;
	overflow: hidden;
}
.p-home-products-article-row::before {
    content: '';
    position: absolute;
    top: -3px;
    bottom: -3px;
    left: -3px;
    right: auto;
    filter: blur(10px);
    width: calc(55% + 140px);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 100%;
}
.p-home-products-archive__item#opening .p-home-products-article-row::before {
	background-image: url("assets/img/service/thumb_plan_opening01.jpg");
}
.p-home-products-archive__item#profile .p-home-products-article-row::before {
	background-image: url(assets/img/service/thumb_plan_profile01_home.jpg);
}
.p-home-products-archive__item#ending .p-home-products-article-row::before {
	background-image: url("assets/img/service/thumb_plan_ending01.jpg");
}
.p-home-products-archive__item#documentary .p-home-products-article-row::before {
	background-image: url("assets/img/service/thumb_plan_documentary01.jpg");
}
.p-home-products-article-col.col--main,
.p-home-products-article-col.col--thumb {
    overflow: hidden;
    position: relative;
}
.p-home-products-article-col.col--main {
    position: absolute; /* colのままだとthumbの列と幅が共有されてしまうのでclipで削った分の面が接合しないため、独立させる */
    top: 0;
    left: 0;
	bottom: 0;
    background-color: rgba(255, 255, 255, .7);
    width: calc(55% + 140px); /*colがそれぞれ50px分斜めになり余白があくので2要素分の100px幅を追加 */
    height: 100%;
    padding: 20px;
    box-sizing: border-box;
    clip-path: polygon(0 0, 100% 0, calc(100% - 70px) 100%, 0 100%);
}
.p-home-products-article-col.col--thumb {
	width: 45%;
	min-width: 648px;
	margin-left: calc(55% + 69px);
    clip-path: polygon(70px 0, 100% 0, 100% 100%, 0 100%);
}
.p-home-products-article-col.col--thumb img {
    width: calc(100% + 71px);
    height: 100%;
    object-fit: cover;
}
.p-home-products-article-content {
    width: 36.428571428vw;
    min-width: 500px;
    margin-top: 3vw;
    margin-left: 12.142857142vw;
}
.p-home-products-article__title {
    margin-bottom: 15px;
    font-size: 24px;
    font-weight: 600;
}
.p-home-products-article__desc {
    font-size: 16px;
    line-height: 1.75;
}
.p-home-products-article__more {
    margin-top: 32px;
}
.p-home-products-article-more {
    margin-top: 25px;
}

.p-home-movie-archive {
    overflow: hidden;
}

.p-home-movie__list {
    width: 100%;
    max-width: 1020px;
    padding: 0 10px;
    margin: 0 auto;
    position: relative;
}
.p-home-movie__list .slick-list {
    overflow: visible;
}
.p-home-movie__item {
    margin: 0 10px;
}
.p-home-movie-article__thumb {
    position: relative;
    background: #000;
    overflow: hidden;
}
.p-home-movie-article__thumb img {
    transition: opacity .3s, scale .5s;
    width: 100%;
}
.p-home-movie-article__thumb:hover img {
	scale: 1.2;
    opacity: .65;
}
.p-home-movie-article__title {
    margin-top: 15px;
    text-align: center;
}
.p-home-movie-article__title a {
    text-decoration: underline;
}
.p-home-movie-article__category {
    margin-top: 6px;
    font-size: 11px;
    text-align: center;
    color: #999;
}
.p-home-movie-slider-arrow {
    position: absolute;
    top: 30px;
    width: 39px;
    height: 39px;
    font-size: 39px;
    line-height: 1;
    color: var(--text-color02);
    z-index: 2;
    cursor: pointer;
}
.p-home-movie-slider-arrow.arrow--prev {
    left: -39px;
}
.p-home-movie-slider-arrow.arrow--next {
    right: -39px;
}
.p-home-movie-more {
    margin-top: 35px;
    text-align: center;
}

.p-home-creators-archive {
    overflow: hidden;
}
.p-home-creators-archive__list {
    width: 100%;
    max-width: 1020px;
    padding: 0 10px;
    margin: 0 auto;
    position: relative;
}
.p-home-creators-archive__list .slick-list {
    overflow: visible;
}
.p-home-creators-archive__item {
    margin: 0 10px;
}
.p-home-creators-slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 39px;
    color: var(--text-color02);
}
.p-home-creators-slider-arrow.arrow--prev {
    left: -39px;
}
.p-home-creators-slider-arrow.arrow--next {
    right: -10px;
}
.p-home-creators-direction {
    margin-top: 25px;
}
.p-home-creators-direction-header {
    margin-bottom: 35px;
    padding-bottom: 5px;
    font-size: 24px;
    font-weight: 100;
    color: var(--text-color02);
    border-bottom: 1px solid var(--line-color);
}
.p-home-creators-direction-row {
    display: flex;
    gap: 50px;
}
.p-home-creators-direction__copy {
    width: 50%;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.66666666667;
    color: var(--text-color02);
}
.p-home-creators-direction__text {
    flex: 1;
    font-size: 16px;
    line-height: 1.75;
}

.p-home-company {
	padding: 0;
    color: #fff;
}
.p-home-company__bg {
	background-image: url(assets/img/home/bg_company01.jpg);
}
.p-home-company-main {
    padding: 65px 0 75px ;
}
.p-home-company .l-section01-header {
    color: #fff;
}
.p-home-company-row {
    display: flex;
    align-items: center;
}
.p-home-company-col.col--main {
    width: 60%;
}
.p-home-company-col.col--aside {
    width: 40%;
}
.p-home-company__title {
    font-size: 24px;
    line-height: 1.66666666667;
}
.p-home-company__text {
    margin-top: 48px;
    font-size: 14px;
    font-weight: 200;
    line-height: 1.75;
}
.p-home-company-more {
    margin-top: 25px;
}
.p-home-company-more-btn a {
    color: #fff;
}
.p-home-company-more-btn .circle,
.p-home-company-more-btn .circle-animate {
    stroke: #fff;
}
.p-home-company-more-btn .m-btn02-arrow::before,
.p-home-company-more-btn .m-btn02-arrow::after {
    background-color: #fff;
}

.p-home-blog__list {
    padding: 0 20px;
}
.p-home-blog-more {
    margin-top: 35px;
    text-align: center;
}


/*==========================================================================

   concept

==========================================================================*/
.p-concept-section-label {
    font-size: 120px;
	line-height: 1;
    color: #ede7e3;
}
.p-concept-section-title {
    margin-bottom: 35px;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.6;
}
.p-concept-section-text {
    font-size: 16px;
    line-height: 2;
}

.p-concept-direction {
	background: url("assets/img/concept/bg_direction01.jpg") no-repeat center bottom / 100%;
	overflow: hidden;
}
.p-concept-direction-header {
    margin-top: -50px;
    padding: 50px 0 150px;
}
.p-concept-direction-body {
    padding-bottom: 150px;
}
.p-concept-direction-gallery__list {
    display: flex;
    gap: 35px;
    justify-content: end;
    align-items: end;
}
.p-concept-direction-gallery__item {
    position: relative;
}

.p-concept-direction-gallery__item.item--02 {
    top: -9vw;
}
.p-concept-direction-gallery__item.item--03 {
    top: -16vw;
}
.p-concept-direction-gallery__item.item--04 {
    top: -4vw;
}

.p-concept-vision {
    padding: 75px 0;
    text-align: center;
}
.p-concept-vision-header {
    margin: -50px 0 0;
    margin-bottom: 75px;
}
.p-concept-vision__item {
    position: relative;
    height: 750px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
.p-concept-vision__item-inner {
    background: #000;
}
.p-concept-vision__item__bg {
    z-index: 2;
}
/* parallax を transform で動かすため、背景を上下に10%ずつ大きくして動いても端が見えないようにする */
.p-concept-vision__item__bg,
.p-concept-suggestion__bg,
.p-home-company__bg {
    top: -10%;
    height: 120%;
    will-change: transform;
}
.p-concept-vision__item__bg.bg--01 {
    background-image: url(assets/img/concept/bg_vision01.jpg);
}
.p-concept-vision__item__bg.bg--02 {
    background-image: url(assets/img/concept/bg_vision02.jpg);
}
.p-concept-vision__item__bg.bg--03 {
    background-image: url(assets/img/concept/bg_vision03.jpg);
}
.p-concept-vision__item__bg.bg--04 {
    background-image: url(assets/img/concept/bg_vision04.jpg);
}
.p-concept-vision__item__bg.bg--05 {
    background-image: url(assets/img/concept/bg_vision05.jpg);
}
.p-concept-vision__item__content {
    font-size: 16px;
    font-weight: 200;
    line-height: 2;
    color: #fff;
	z-index: 3;
}
.p-concept-creation-gallery {
    padding-bottom: 15vw;
}
.p-concept-creation-copy {
    margin-top: -90px;
    font-size: 200px;
    line-height: 1;
    display: flex;
    color: #d7caca;
    white-space: nowrap;
    opacity: .65;
    overflow: hidden;
}
.p-concept-creation-header {
    position: relative;
    margin-top: -55px;
	padding-bottom: 30vw;
    text-align: center;
}
.p-concept-creation-gallery {
    position: relative;
}
.p-concept-creation-gallery__copy {
    position: absolute;
    top: 50%;
    width: 100%;
    font-size: 36px;
    text-align: center;
    mix-blend-mode: difference;
    z-index: 10;
}
.p-concept-brand {
    padding-bottom: 100px;
}
.p-concept-brand-header {
    margin-top: -50px;
}
.p-concept-brand-row {
    display: flex;
    gap: 50px;
}
.p-concept-brand-col.col--aside {
    width: 310px;
}

.p-concept-suggestion {
    height: 416px;
    background-color: #000; /* 写真がふわっと出る間も黒地を残す */
}
.p-concept-suggestion__bg {
    background-image: url(assets/img/concept/bg_brand01.jpg);
	background-color: #000;
	background-position: right center;
}
.p-concept-suggestion__text {
    font-size: 14px;
    font-weight: 300;
    line-height: 2;
    color: #fff;
}


/*==========================================================================

   service

==========================================================================*/
.p-service-section + .p-service-section {
    margin-top: 150px;
}
.p-service-section-row {
    display: flex;
    gap: 30px;
}
.p-service-section-header {
    position: relative;
    margin-bottom: 20px;
}
.p-service__title {
    font-size: 24px;
    font-weight: 600;
}
.p-service-__price {
    font-size: 24px;
    font-weight: 600;
}
.p-service__price__unit {
    font-size: 14px;
    margin-left: .5em;
}
.p-service-section-body {
	position: relative;
    flex: 1;
    padding: 35px;
    line-height: 1.75;
    background: rgba(255, 255, 255, .6);
}
.p-service-section-body::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: 5px;
    background: var(--gradient01);
}
.p-service__desc {
    margin-bottom: 45px;
}
.p-service-include {
    font-size: 14px;
}
.p-service-include__list,
.p-service-option__list {
    padding: 0 1.5em;
    list-style: disc;
}
.p-service-include__item,
.p-service-option__item {
    margin-top: .5em;
}
.p-service-option {
    margin-top: 35px;
}
.p-service-note__list {
	margin-top: .5em;
}

.p-service-section-thumb {
    position: relative;
    flex: 1;
}
.p-service-section-thumb__item {
    /*position: sticky;
    top: 0;*/
    width: 100%;
    margin-top: -6em;
}
.p-service-section-thumb__item img {
    width: 100%;
}








/*==========================================================================

   movie

==========================================================================*/
.p-movie-archive-nav {
    margin-bottom: 70px;
}
.p-movie-archive-nav__list {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
}
.p-movie-nav__item {
	transition: .3s;
}
.p-movie-archive__notes {
    margin-bottom: 25px;
    font-size: 12px;
    text-align: center;
    padding: 15px;
    background: #fff;
}
.p-movie-archive__list {
    display: flex;
    gap: 50px 20px;
    flex-wrap: wrap;
}
.p-movie-archive__item {
    width: calc((100% - 20px * 2)/ 3);
    text-align: center;
}
.p-movie-archive-article__thumb {
    position: relative;
	    margin-bottom: 8px;
}
.p-movie-archive-article__thumb img {
    width: 100%;
}
.p-movie-archive-article__title a {
    text-decoration: underline;
}
.p-movie-archive-article__category {
    margin-top: 10px;
    font-size: 11px;
    color: #999;
}

/* single */
.p-movie-article-gallery__list {
    display: flex;
    gap: 100px 0;
    flex-wrap: wrap;
    width: 690px;
    margin: 0 auto;
}
.p-movie-article-gallery__item {
    text-align: center;
}
.p-movie-article-gallery__item__caption {
    margin-bottom: 35px;
    font-size: 16px;
    line-height: 1.875;
}

.p-movie-article__video-header {
    margin-bottom: 35px;
    color: #fff;
}

.p-movie-article-credit {
    width: 1px;
    margin-right: auto;
    margin-left: auto;
    margin-top: 100px;
    text-align: center;
    background: url(assets/img/movie/bg_movie_credit01.jpg) no-repeat center top / cover;
    opacity: 0;
	overflow: hidden;
}
.p-movie-article-credit.is-inview {
    animation: grow .6s ease-out forwards;
}
@keyframes grow {
    0% {
        width: 1px;
    }
    100% {
        width: 100%;
		opacity: 1;
    }
}

.p-movie-article-credit-inner {
	padding: 100px 0;
	opacity: 0;
    transition: .8s;
	transition-delay: .6s;
}
.p-movie-article-credit.is-inview .p-movie-article-credit-inner {
    opacity: 1;
}


.p-movie-article-related {
    margin-top: 124px;
}
.p-movie-article-related-header {
	margin-bottom: 35px;
    font-size: 38px;
    text-align: center;
    color: var(--text-color02);
}
.p-movie-related-slider-arrow {
    position: absolute;
    top: 35px;
    font-size: 39px;
    color: var(--text-color02);
    cursor: pointer;
}
.p-movie-related-slider-arrow.arrow--prev {
    left: -35px;
}
.p-movie-related-slider-arrow.arrow--next {
    right: -35px;
}
.p-movie-article-back {
    margin-top: 75px;
}
.p-movie-article-back .m-btn {
    width: 268px;
    height: 62px;
    margin: 0 auto;
}


/*==========================================================================

   FAQ

==========================================================================*/
.p-faq-nav {
    margin-bottom: 75px;
}
.p-faq-section {
    width: 800px;
    margin-right: auto;
    margin-left: auto;
    padding-bottom: 35px;
}
.p-faq-section + .p-faq-section {
    padding-top: 35px;
    background: url(assets/common/img/hr01.png) no-repeat center top;
}
.p-faq-nav__list {
    display: flex;
    justify-content: center;
}
.p-faq-nav__item {
    position: relative;
    padding: 0 30px;
    line-height: 1;
    border-left: 1px solid #000;
}
.p-faq-section-header {
    margin-bottom: 25px;
    font-size: 20px;
    font-weight: 500;
}
.p-faq-section-body {
    padding-left: 80px;
}




/*==========================================================================

   company

==========================================================================*/
.p-company-fv {
	background-color: #000;
}

.p-home-company__title-en {
	margin-bottom: 39px;
	font-size: 50px;
	color: rgba(255, 255, 255, .75);
}



.p-company-fv-content {
    padding: 200px 0 100px;
    color: #fff;
}
.p-company-theme {
    text-align: center;
}
.p-company-theme-label {
    background: url(assets/img/company/bg_clip01.jpg) no-repeat center / 100%;
	background-attachment: fixed;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}
.p-company-theme-header {
    margin: 50px auto;
}
.p-company-theme-row {
    display: flex;
}
.p-company-theme-row:nth-child(even) {
    flex-direction: row-reverse;
}
.p-company-theme-row + .p-company-theme-row {
    margin-top: 100px;
}
.p-company-theme-col {
    width: 50%;
}
.p-company-theme-main {
    padding: 0 50px;
    text-align: left;
}
.p-company-theme-main__title {
    margin-top: -30px;
}

.p-company-theme-aside-image__bg.bg--01 {
    background-image: url(assets/img/company/thumb_scene01.jpg);
}
.p-company-theme-aside-image__bg.bg--02 {
    background-image: url(assets/img/company/thumb_scene02.jpg);
}
.p-company-theme-col.col--aside {
}

.p-company-creators {
	margin-top: 100px;
    padding: 75px 0;
    background: var(--gradient02);
}
.p-company-creators-main__label {
    color: #ddd;
}
.p-company-creators-main__title {
    margin-top: -35px;
}
.p-company-creators-row {
    display: flex;
    gap: 35px;
}
.p-company-creators__list {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    margin: 75px 0;
}
.p-company-creators__item {
    width: calc((100% - 25px * 2) / 3);
    border-radius: 50%;
    overflow: hidden;
}

.p-company-scene {
    height: 49.337260677vw;
	background: #000;
}
/* 最上部の写真と文字は JS でフェードインさせるので、最初から透明にしておく（JS が動くまでの一瞬に見えてしまうのを防ぐ） */
.p-company-fv .jamd-fixBgFadeOut-media > picture,
.p-company-fv .jamd-fixBgFadeOut-content {
    opacity: 0;
}
.p-company-scene__bg {
    background-image: url(assets/img/company/bg_film01.png);
    opacity: .5;
    transform: rotate(-6deg) scale(1.2);
}
.p-company-scene__text {
    color: #c2c2c2;
    text-align: center;
	z-index: 2;
}
.p-company-scene__copy {
    font-size: 100px;
    line-height: 1;
}
.p-company-scene__sub-copy {
    margin-top: .5em;
    font-size: 18px;
    line-height: 1.75;
}
.p-company-drama-list {
	height: 100vh;
}
.p-company-drama-gallery__copy {
    margin-top: 65px;
    font-size: 16px;
    line-height: 2;
    text-align: center;
}

.p-company-brand {
    position: relative;
    margin-top: 100px;
    padding-top: 8.24742268vw;
}
.p-company-brand__image {
    position: absolute;
    top: 0;
    left: 50%;
    width: 67.599410898vw;
    margin-left: calc(-1* 67.599410898vw / 2);
}
.p-company-brand__bg img {
    width: 100%;
}
.p-company-brand__image img {
    width: 100%;
}
.p-company-brand__copy {
    position: absolute;
    bottom: -.725em;
    width: 100%;
    font-size: 100px;
    line-height: 1.12;
    text-align: center;
    color: #fff;
}


.p-company-data {
    padding-top: 75px;
}
.p-company-data-header {
    margin-top: -35px;
}
.p-company-data-table {
    width: 690px;
    margin: 100px auto 0;
    line-height: 1.75;
}
.p-company-data-table tr {
    border-bottom: 1px solid #666;
}
.p-company-data-table th {
    font-weight: 600;
}
.p-company-data-table th,
.p-company-data-table td {
    padding: 35px;
}
.p-company-data-table a {
	text-decoration: underline;
}


/*==========================================================================

   blog

==========================================================================*/
.p-blog-archive__item {
    transition: .3s;
}

.p-blog-single-row {
    display: flex;
    gap: 20px;
	margin-top: -70px;
}
.p-blog-single-col.col--main {
    width: 800px;
}
.p-blog-single-col.col--aside {
    width: 200px;
}
.p-blog-article {
    width: 800px;
    padding: 50px;
    border-radius: 6px;
    background: #fff;
}
.p-blog-single-aside-inner {
    position: sticky;
    top: 80px;
}
.p-blog-article-option {
    display: flex;
    align-items: center;
    gap: 0 20px;
    margin-bottom: 12px;
}
.p-blog-article-option__item {
    display: inline-block;
    padding: .025em 1.25em;
    font-size: 11px;
    color: #fff;
    border-radius: 5px;
    background: var(--icon-color);
}
.p-blog-article-option__date {
    font-size: 12px;
    color: var(--text-color02);
}
.p-blog-article-header {
    margin-bottom: 35px;
}
.p-blog-article-header__title {
    font-size: 22px;
    font-weight: 600;
}
.p-blog-article-body {
    line-height: 1.75;
}
.p-blog-article-body h1 {
    margin: 2.5em 0 1.25em;
    padding: 15px;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.35;
    color: #333;
    border-radius: 5px;
    background: #eee;
}
.p-blog-article-body h2 {
	margin-top: 2.5em;
    margin-bottom: 1.25em;
    padding-bottom: .75em;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;
    border-bottom: 1px dashed #666;
}
.p-blog-article-body h3 {
    margin-bottom: 1.5em;
    padding: .25em 0 .25em .5em;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
    border-left: 3px solid #333;
}
.p-blog-article-body h4 {
    margin-bottom: 1.5em;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.35;
}
.p-blog-article-body h5,
.p-blog-article-body h6 {
    margin-bottom: .75em;
    font-size: 15px;
    font-weight: 600;
}
.p-blog-article-body ul {
    list-style: disc;
    margin: 1.5em;
}
.p-blog-article-body ol {
    list-style: decimal;
    margin: 1.5em;
}
.p-blog-article-body ul li + li,
.p-blog-article-body ol li + li {
    margin-top: .5em;
}
.p-blog-article-body em {
    font-style: italic;
}
.p-blog-article-body a {
    text-decoration: underline;
    color: var(--link-color);
}
.p-blog-article-body p {
    margin-bottom: 1.5em;
	line-height: 2;
}
.p-blog-single-aside-header {
    margin-bottom: 20px;
    padding: 12px;
    line-height: 1.75;
    border-radius: 5px;
    color: #fff;
    background: var(--icon-color);
}
.p-blog-article-footer {
    margin-top: 50px;
}
.p-blog-article-author {
    text-align: right;
}
.p-blog-article-pr {
    margin-top: 50px;
    padding: 25px 50px;
    line-height: 1.875;
    background: #e9e9dc;
}
.p-blog-article-nav {
    display: flex;
    gap: 20px;
    justify-content: space-between;
	margin-top: 25px;
}
.p-blog-article-related {
    margin-top: 75px;
}
.p-blog-article-related-header {
    margin-bottom: 10px;
    text-align: left;
}
.p-blog-article-back {
    margin-top: 50px;
    text-align: center;
}
.p-blog-article-back .m-btn {
    width: 268px;
    height: 62px;
    margin: 0 auto;
}


/*==========================================================================

   404

==========================================================================*/
.p-not-found {
	text-align: center;
}
.p-not-found__title {
	font-size: 60px;
}
.p-not-found__text {
	margin-top: 39px;
	font-size: 16px;
	line-height: 2;
}
.p-not-found__btn {
    margin: 55px auto 0;
}
.p-not-found__btn .m-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 260px;
	height: 62px;
	margin: 0 auto;
}

























@media screen and (max-width: 767px) {
body {
	padding-top: 56px;
}
body,
.l-container {
	min-width: auto;
	width: 100%;
}
.br-sp {
	display: block;
}
.br-pc {
	display: none;
}
body {
	font-size: 14px;
}
.l-container {
	padding-right: var(--sp-side-space);
	padding-left: var(--sp-side-space);
}
#header {
    background: #fff;
    mix-blend-mode: normal;
}

#main.page {
    padding: 50px 0;
}
.l-page-kv__title {
    font-size: 24px;
}
.page-header-copy {
    margin-bottom: 39px;
    font-size: 16px;
}

.header-logo {
    width: 150px;
    mix-blend-mode: difference;
}
.gnav {
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	padding: 100px var(--sp-side-space) 50px;
	opacity: 0;
	transition: .3s;
}
body.is-gnav .gnav {
    height: 100%;
    z-index: 100;
    background: rgba(255, 255, 255, .95);
    opacity: 1;
    visibility: visible;
}

.header-nav-toggle {
	display: block;
	position: absolute;
	top: 0;
	right: var(--sp-side-space);
	width: 26px;
	height: 23px;
	transition: all .5s;
	cursor: pointer;
	z-index: 101;
}
.header-nav-toggle span {
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #6c6c6c;
	transition: all .5s;
}
.header-nav-toggle span:nth-child(1) {
	top: 0;
 }
.header-nav-toggle span:nth-child(2) {
  top: 10px;
}
.header-nav-toggle span:nth-child(3) {
  bottom: 0;
}
body.is-gnav .header-nav-toggle span:nth-child(1) {
	transform: translateY(11px) rotate(-315deg);
}
body.is-gnav .header-nav-toggle span:nth-child(2) {
	opacity: 0;
}
body.is-gnav .header-nav-toggle span:nth-child(3) {
	transform: translateY(-11px) rotate(315deg);
}

.gnav__list {
    flex-direction: column;
    gap: 20px 0;
    justify-content: center;
}
.gnav__item {
    font-size: 18px;
}
.gnav__item a {
    color: #000;
}

.footer-row {
    flex-direction: column;
}

.footer-col.col--intro {
    width: 100%;
    border: none;
}
.footer-intro {
    padding: 0;
}
.footer-intro-header__copy {
    font-size: 12px;
}
.footer-intro__desc {
    font-size: 13px;
}
.footer-intro-social__item {
    font-size: 26px;
}
.footer-col.col--contact {
    width: 100%;
    flex: auto;
    margin-top: 35px;
    padding: 0;
}
.footer-contact {
    padding-bottom: 0;
}
.footer-contact__list {
    flex-direction: column;
    gap: 35px 0;
}
.footer-contact__item {
    width: 100%;
}
.footer-contact__item__title {
    font-size: 14px;
}
.footer-contact__item__address,
.footer-contact__item__number {
    font-size: 13px;
}
.footer-contact__item__time {
    font-size: 12px;
}
.footer-nav__list {
    flex-direction: column;
    gap: 12px;
}
.footer-nav__item {
    font-size: 13px;
}



.m-header01 {
    margin-bottom: 25px;
    font-size: 32px;
}




.m-movie-credit-row {
    flex-direction: column;
}
.m-movie-credit__title {
    width: 100%;
    text-align: center;
}
.m-movie-credit__desc {
    width: 100%;
    text-align: center;
}

.m-blog-archive {
    flex-direction: column;
    gap: 20px 0;
}
.m-blog-archive__title {
    font-size: 16px;
}
.m-blog-archive-aside {
    width: 100%;
}

.m-blog-archive-main {
    flex: auto;
	width: 100%;
}

/*==========================================================================

   home

==========================================================================*/
.p-home-fv-copy {
	top: 40%;
	font-size: 14px;
}
.p-home-creation-copy {
    font-size: 100px;
}
.p-home-creation-header__title {
    font-size: 22px;
}
.p-home-creation-header__text {
    font-size: 16px;
}



.p-home-products-archive__item {
    padding-top: 10px;
}
.p-home-products-article-row {
    flex-direction: column-reverse;
}
.p-home-products-article-col.col--main {
    position: relative;
    width: 100%;
    padding: 20px;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.p-home-products-article-content {
    width: 100%;
    min-width: auto;
    margin: 0;
}
.p-home-products-article__title {
    font-size: 20px;
}
.p-home-products-article__desc {
    font-size: 14px;
}
.p-home-products-article-col.col--thumb {
    width: 100%;
    min-width: auto;
    margin-left: 0;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.p-home-products-article-col.col--thumb img {
    width: 100%;
}
.p-home-products-article + .p-home-products-article {
    margin-top: 50px;
}
.p-home-products-archive__item {
    padding-top: 10px;
}

.p-home-creators-direction {
    margin-top: 35px;
}
.p-home-creators-direction-header {
    margin-bottom: 20px;
}
.p-home-creators-direction-row {
    flex-direction: column;
    gap: 25px 0;
}
.p-home-creators-direction__copy {
    width: 100%;
    font-size: 20px;
}
.p-home-creators-direction__text {
    font-size: 14px;
}
.p-home-company__bg {
    background-image: url(assets/img/company/bg_company01_sp.jpg);
}





.p-home-creation-gallery {
    height: 140vw;
	margin-top: 7vw;
}
.p-home-creation-gallery__item.item--01 {
	top: 0vw;
    width: 47vw;
}
.p-home-creation-gallery__item.item--02 {
	top: 108vw;
	width: 41vw;
}
.p-home-creation-gallery__item.item--03 {
    top: 67vw;
    right: 20vw;
    width: 33vw;
}
.p-home-creation-gallery__item.item--04 {
    top: 33vw;
    left: 0;
    width: 40vw;
}
.p-home-creation-gallery__item.item--05 {
	top: 124vw;
	left: 5vw;
	width: 48vw;
}
/*
.p-home-creation-gallery__item.item--06 {
    top: 166vw;
    right: 6.5vw;
    width: 77vw;
}
.p-home-creation-gallery__item.item--07 {
    top: 239vw;
    left: 7vw;
    width: 50vw;
}
.p-home-creation-gallery__item.item--08 {
    top: 250vw;
    width: 51vw;
}
.p-home-creation-gallery__item.item--09 {
    top: 276vw;
    left: 14vw;
    width: 57vw;
}
.p-home-creation-gallery__item.item--10 {
    top: 306vw;
    left: 20vw;
    width: 59vw;
}
.p-home-creation-gallery__item.item--11 {
	top: 385vw;
	font-size: 14px;
	line-height: 2.5;
	text-align: center;
}
*/

/*==========================================================================

   concept

==========================================================================*/
.p-concept-section-label {
    font-size: 60px;
}
.p-concept-section-title {
    font-size: 18px;
}
.p-concept-direction-body {
    padding-bottom: 60px;
}
.p-concept-direction-gallery__list {
    gap: 10px;
    margin-top: 110px;
}

.p-concept-vision-header {
    padding: 0 var(--sp-side-space);
}



.p-concept-creation-copy {
    margin-top: -80px;
    font-size: 100px;
}


.p-concept-vision__item__bg {
    object-fit: cover;
}
.p-concept-vision__item__bg.bg--01 {
    background-image: url(assets/img/concept/bg_vision01_sp.jpg);
}
.p-concept-vision__item__bg.bg--02 {
    background-image: url(assets/img/concept/bg_vision02_sp.jpg);
}
.p-concept-vision__item__bg.bg--03 {
    background-image: url(assets/img/concept/bg_vision03_sp.jpg);
}
.p-concept-vision__item__bg.bg--04 {
    background-image: url(assets/img/concept/bg_vision04_sp.jpg);
}
.p-concept-vision__item__bg.bg--05 {
    background-image: url(assets/img/concept/bg_vision05_sp.jpg);
}
.p-concept-creation-gallery {
    padding-bottom: 35vw;
}
.p-concept-brand-row {
    flex-direction: column;
}
.p-concept-brand-col.col--aside {
    margin: 0 auto;
}
.p-concept-suggestion__bg {
	background-image: url(assets/img/concept/bg_brand01_sp.jpg);
    background-size: cover;
    background-position: 75% center; /* 新婦が画面に入る位置 */
}



/*==========================================================================

   service

==========================================================================*/
.p-service__title {
    font-size: 18px;
}
.p-service-__price {
    font-size: 18px;
}
.p-service__price__unit {
    font-size: 11px;
    font-weight: 400;
}
.p-service-section-row {
    flex-direction: column-reverse;
    gap: 0;
}
.p-service-section-body {
    padding: 25px var(--sp-side-space);
}
.p-service-section-thumb {
    width: 100%;
    flex: auto;
}
.p-service-section-thumb__item {
    position: relative;
    margin: 0;
}


/*==========================================================================

   movie

==========================================================================*/
.p-movie-archive__notes {
    text-align: left;
}
.p-movie-archive__item {
    width: calc((100% - 20px) / 2);
}

.p-movie-article-gallery__list {
    width: 100%;
    padding: 0 20px;
}
.p-movie-article-credit {
    background-position: left top;
}
.p-movie-article__video__player iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}
.p-movie-article-related {
    margin-top: 75px;
}
.p-movie-related-slider-arrow.arrow--prev {
    left: 0;
}
.p-movie-related-slider-arrow.arrow--next {
    right: 0;
}



/*==========================================================================

   faq

==========================================================================*/
.p-faq-section {
    width: 100%;
    padding-bottom: 35px;
}
.p-faq-nav__list {
    gap: 10px;
    flex-wrap: wrap;
}
.p-faq-nav__item {
    width: calc((100% - 10px) / 2);
    padding: 10px;
    text-align: center;
    border: 1px solid #ccc;
}
.p-faq-section-header {
    font-size: 18px;
}
.p-faq-section-body {
    padding-left: 18px;
}


/*==========================================================================

   blog

==========================================================================*/
.p-blog-single-row {
    flex-direction: column;
    gap: 75px 0;
    margin: 0;
}
.p-blog-single-col.col--main {
    width: 100%;
}
.p-blog-article {
    width: 100%;
    padding: 20px;
}
.p-blog-article-header__title {
    font-size: 20px;
}
.p-blog-article-pr {
    padding: 20px;
    font-size: 13px;
}
.p-blog-article-related {
    margin-top: 38px;
}
.p-blog-article-related-header {
    margin-bottom: 0;
    font-size: 22px;
}
.p-blog-single-col.col--aside {
    width: 100%;
}




/*==========================================================================

   company

==========================================================================*/
.p-company-fv-content {
    padding: 120px 0;
}
.p-home-company-row {
    flex-direction: column;
    gap: 35px 0;
}
.p-home-company__title-en {
    margin-bottom: 25px;
    font-size: 24px;
}
.p-home-company__title {
    font-size: 20px;
}
.p-home-company__text {
    margin-top: 25px;
}
.p-home-company-col.col--aside {
    width: 100%;
}
.p-home-company-col.col--main {
    width: 100%;
}
.p-home-company__logo {
    width: 240px;
}


.p-company-theme-label {
    font-size: 48px;
}
.p-company-theme-header {
    margin: 25px auto;
}
.p-company-theme-row {
    flex-direction: column;
    gap: 35px 0;
}
.p-company-theme-row + .p-company-theme-row {
    margin-top: 50px;
}
.p-company-theme-row:nth-child(even) {
    flex-direction: column;
}
.p-company-theme-col {
    width: 100%;
}
.p-company-theme-main {
    padding: 0 20px;
}
.p-company-theme-main__title {
    margin-bottom: 25px;
    font-size: 18px;
}
.p-concept-section-text {
	margin-top: 20px;
    font-size: 14px;
	text-align: left;
}




.p-company-creators-row {
    flex-direction: column;
    gap: 0;
}



.p-company-scene {
    height: 100vw;
}
.p-company-scene__bg {
    background-size: 170%;
}
.p-company-scene__copy {
    font-size: 50px;
}
.p-company-scene__sub-copy {
    font-size: 14px;
}


.p-company-brand {
    padding-top: 15vw;
}
.p-company-brand__copy {
    font-size: 50px;
}
.p-company-brand__image {
    width: 80vw;
    margin-left: calc(-1*80vw / 2);
}
.p-company-data__title {
    margin-top: 20px;
}
.p-company-data-table {
    width: 100%;
	margin-top: 35px;
}
.p-company-data-table tr,
.p-company-data-table th,
.p-company-data-table td {
    display: block;
    width: 100%;
	border: none;
}
.p-company-data-table th,
.p-company-data-table td {
    padding: 10px;
}
.p-company-data-table th {
    background: var(--bg-color);
}


/*==========================================================================

   contact

==========================================================================*/
.m-form01 tr,
.m-form01 th,
.m-form01 td {
    display: block;
    width: 100%;
}
input[type="text"],
input[type="password"],
input[type="email"], textarea,
select {
    width: 100%;
}




}


















