@charset "UTF-8";
/**====================================
 * CSS information
 * file name	: style.css
 * author		: libretto works
====================================**/

/*/////////////////////////////////////////////////////////////////////////////


              // TOP //
	  

/////////////////////////////////////////////////////////////////////////////*/

/* visual  ----------------------------- */
.visual {
	position: sticky;
    top: 0;
    right: 0;
	width: 100%;
    height: 100vh;
    padding: 20px 20px 20px 49.5%;
	box-sizing: border-box;
}
.visual-slider {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    overflow: hidden;
    border-radius: 4px;
}
.visual-slider::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}
.visual-slider::after {
    background: #ffffff;
    transform-origin: left bottom;
    z-index: 2;
}
.motion .visual-slider::after {
    transition: 0.8s cubic-bezier(0.76, 0.09, 0.215, 1);
    transform: scaleY(0);
}
.visual-slider .thumb {
    width: 100%;
    height: calc(100vh - 40px);
}
.add-animation {
    animation: zoomUp 7s linear 0s normal both;
}
@keyframes zoomUp {
  0% {
      transform: scale(1.2);
      
  }
  100% {
      transform: scale(1);
  }
}
/* visual-main */
.visual-main {
    width: 100%;
    height: 100vh;
    position: absolute;
    left: 0;
    top: 0;
    overflow: hidden;
    box-sizing: border-box;
}
.visual-slider-count {
    position: absolute;
    left: 48%;
    top: 180px;
    padding-left: 20px;
    font-size: 1.0rem;
    line-height: 1;
    writing-mode: vertical-rl;
}
.visual-slider-count .current {
    position: relative;
    padding-bottom: 52px;
    margin-bottom: 12px;
}
.visual-slider-count .current::after {
    content: "";
    width: 1px;
    height: 40px;
    background: #cccccc;
    position: absolute;
    right: 50%;
    bottom: 0;
}
.visual-main .en-txt {
    width: 180px;
    font-size: 1.0rem;
    line-height: 1.6;
    position: absolute;
    left: 48%;
    top: 90px;
    opacity: 0;
}
.visual-main-ttl {
    position: absolute;
    left: 3.1104%;
    bottom: 8%;
    z-index: 1;
    line-height: 1.6;
    padding-left: 80px;
}
.visual-main-ttl .lead {
    font-size: 2.0rem;
    line-height: 2.2;
    margin-bottom: 20px;
    opacity: 0;
}
.visual-main-ttl .en-ttl {
    font-size: 12.0rem;
    letter-spacing: -0.01em;
    line-height: 1.2;
}
.visual-main-ttl .en-ttl .txtef-wrap:first-child .txtef {
    margin-right: 0.5em;
}
.motion .visual-main-ttl .en-ttl .txtef-wrap .txtef {
    transition: 0.7s cubic-bezier(0.04, 0.8, 0.35, 1) .55s;
    transform: translateY(0);
}
.visual-main-ttl .ttl {
    font-size: 1.4rem;
    margin-top: 12px;
    opacity: 0;
}
.motion .visual-main .en-txt,
.motion .visual-main-ttl .lead,
.motion .visual-main-ttl .ttl {
    transition: 0.6s .65s;
    opacity: 1;
}

.scroll {
	width: 10px;
	height: 80px;
	position: absolute;
	left: calc(48% + 20px);
    top: 190px;
    z-index: 1;
}
.scroll a {
	display: block;
	width: 100%;
	height: 100%;
}
.scroll .scroll__bar1,
.scroll .scroll__bar2 {
	display: block;
	position: absolute;
	bottom: 0px;
	left: 5px;
	width: 1px;
	height: 100%;
	background: rgba(0,0,0,0.10);
	pointer-events: none;
}
.scroll .scroll__bar2 {
	background: rgba(0,0,0,0.15);
	transform: scaleY(0);
	transform-origin: top left;
	animation: scroll-bar 3s ease-in-out infinite forwards;
}
.scroll p {
	position: absolute;
	top: 0;
	left: 10px;
	font-size: 0.9rem;
	transform: rotate(90deg);
	transform-origin: left top;
	line-height: 1;
	z-index: 9999;
}
@keyframes scroll-bar {
	0% {
		-webkit-transform-origin: top left;
		transform-origin: top left;
		-webkit-transform: scaleY(0);
		transform: scaleY(0); }
	50% {
		-webkit-transform-origin: top left;
		transform-origin: top left;
		-webkit-transform: scaleY(1);
		transform: scaleY(1); }
	75% {
		-webkit-transform-origin: bottom left;
		transform-origin: bottom left;
		-webkit-transform: scaleY(1);
		transform: scaleY(1); }
	95% {
		-webkit-transform-origin: bottom left;
		transform-origin: bottom left;
		-webkit-transform: scaleY(0);
		transform: scaleY(0); }
	100% {
		-webkit-transform-origin: top left;
		transform-origin: top left;
		-webkit-transform: scaleY(0);
		transform: scaleY(0); }
}


/* sec-pickup  ----------------------------- */
.sec-pickup {
    padding: 68px 0 0;
}
.sec-pickup-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #d9d9d9;
}
.sec-pickup .en-ttl {
    width: 110px;
    font-size: 1.4rem;
}
.pickup-block {
    width: calc(100% - 110px);
}
.pickup-block a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 32px 80px 32px 0;
    position: relative;
}
.pickup-block a .thumb {
    width: 120px;
    border-radius: 4px;
}
.pickup-block a .thumb::after {
    padding-top: 66.6666%;
}
.pickup-block a .pickup-block-inner {
    width: calc(100% - 152px);
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.cate-wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.date {
    font-size: 1.4rem;
    line-height: 1.5;
    margin-right: 16px;
}
.news-cate {
    font-size: 1.2rem;
    line-height: 1.5;
    border: 1px solid #999999;
    border-radius: 4px;
    padding: 2px 12px 3px;
    white-space: nowrap;
}
.notes-cate {
    font-size: 1.4rem;
}
.notes-cate::before {
    content: "/";
    display: inline-block;
    margin: 0 10px 0 -4px;
}
.pickup-block a .ttl {
    border-left: 1px solid #d9d9d9;
    padding: 6px 0 6px 26px;
    margin-left: 32px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.pickup-block a .arrow {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

/* t-notes-news  ----------------------------- */
.t-sec-notes {
    padding: 90px 0 0;
}
.t-sec-notes-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
}
.t-sec-notes-side {
    width: 26.5905%;
}
.t-sec-notes-side .btn {
    margin-top: 116px;
}
.t-sec-notes-cont {
    width: 73.4094%;
    padding-top: 45px;
}
.t-sec-notes-cont .btn {
  display: none;
}
.notes-list {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.notes-slider {
    position: static !important;
}
.notes-slider .slick-track {
  display: flex;
}
.notes-slider .slick-slide {
  height: auto !important;
}
.notes-item {
    width: 31.5881%;
    border: 1px solid #d9d9d9;
    padding: 30px 30px 34px 30px;
    margin-bottom: 46px;
    border-radius: 4px;
    box-sizing: border-box;
    position: relative;
}
.notes-item::before,
.notes-item::after {
    content: "";
    position: absolute;
}
.notes-item::before {
    height: 1px;
    width: 40px;
    background: #ffffff;
    right: 16px;
    bottom: -1px;
}
.notes-item::after {
    width: 1px;
    height: 48px;
    background: #333333;
    right: 36px;
    bottom: -23px;
    transform: rotate(45deg);
}
.t-sec-notes-cont .notes-item {
    width: 29.2825vw;
    margin-right: 1.4641vw;
}
.notes-list .txt {
    font-size: 1.4rem;
    margin-top: 8px;
}

/* t-sec-about  ----------------------------- */
.t-sec-about {
    padding: 120px 0;
}
.t-sec-about-col2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
}
.t-sec-about-side {
    width: 36.4842%;
    padding: 100px 0 0; 
}
.t-sec-about-side .thumb::after {
    padding-top: 118.1818%;
}
.t-sec-about-cont {
    width: 55.2238%;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    padding: 0;
    box-sizing: border-box;
}
.t-sec-about-cont .sec-ttl {
    padding-right: 6%;
}
.t-sec-about-cont-inner {
    width: 55.7057%;
    position: relative;
    padding: 130px 0 10px;
}
.t-sec-about-cont-inner::before {
    left: inherit;
    right: 0 !important;
}
.t-sec-about-btm {
    width: 42.0420%;
    margin-right: -20px;
    position: relative;
}
.t-sec-about-img01 .thumb::after {
    padding-top: 71.5%;
}
.t-sec-about-img02 {
    width: 42.8571%;
    position: absolute;
    right: -20px;
    top: -40px;
}
.t-sec-about-img02 .thumb::after {
    padding-top: 83.3333%;
}

/* t-sec-works  ----------------------------- */
.t-sec-works {
    padding-bottom: 140px;
}
.t-sec-works-fig {
    position: sticky;
    left: 0;
    top: 0;
    margin-bottom: 146px;
}
.t-sec-works-fig::after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(22,24,26,0.50);
    position: absolute;
    left: 0;
    top: 0;
}
.t-sec-works-fig .thumb {
    height: 90vh;
}
.t-sec-works .sec-ttl-col2 {
    color: #ffffff;
    margin-top: -50vh;
    padding: 200px 0 40px;
}
.t-sec-works-inner {
    padding: 80px 5.1457% 0;
    background: #ffffff;
    position: relative;
}
.t-works-list {
    margin-bottom: 90px;
}
.works-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    flex-direction: row-reverse;
}
.t-works-list .works-item {
    margin-bottom: 26px;
}
.works-item ._numb {
    width: 100%;
    font-size: 1.3rem;
    position: relative;
    margin-bottom: 32px;
}
.works-item ._numb::before {
    content: "";
    width: 80px;
    height: 1px;
    background: #cccccc;
    position: absolute;
    left: 60px;
    top: 50%;
}
.works-item a {
    display: block;
    width: 33.4608%;
}
.t-works-list .works-item-inner {
    padding-top: 10px;
}
.works-cate {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.works-cate li {
    font-size: 1.2rem;
    line-height: 1.5;
    background: #1a1a1a;
    color: #ffffff;
    border-radius: 4px;
    padding: 3px 12px 4px;
    margin-right: 6px;
    white-space: nowrap;
}
.works-info {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 12px;
}
.works-info li {
    font-size: 1.3rem;
    line-height: 1.25;
    border-right: 1px solid #cccccc;
    padding: 0 15px 0 0;
    margin: 0 14px 0 0;
}
.works-info li:last-child {
    border-right: none;
    padding: 0;
    margin: 0;
}
.works-item .ttl {
    font-size: 2.2rem;
    padding: 20px 0 18px;
}
.works-item .btn-txt {
    margin-top: 32px;
}
.works-item-fig {
    width: 62.7151%;
    display: flex;
    justify-content: space-between;
}
.works-item-fig li {
    width: 48.7804%;
}
.works-item-fig .thumb::after {
    padding-top: 75%;
}

/* sec-works  */
.sec-works .works-list {
    padding-top: 30px;
}
.sec-works .works-item {
    position: relative;
    padding: 60px 0;
}
.sec-works .works-item::before {
    content: "";
    width: 93.4747%;
    height: 1px;
    background: #d9d9d9;
    position: absolute;
    left: 0;
    top: 0;
}
.sec-works .works-item .ttl {
    padding: 28px 0 24px;
}
.sec-works .works-item .btn-txt {
    margin-top: 36px;
}
.works-item-fig .works-item-slider {
    width: 100%;
}
.works-item-fig .works-item-slider li {
    width: 32.2108vw;
    margin-right: 1.4641vw;
}


/* t-sec-service  ----------------------------- */
.t-sec-service {
    padding: 0;
    position: relative;
}
.t-sec-service-fig {
    position: sticky;
    left: 0;
    top: 0;
}
.t-sec-service-fig .thumb {
    height: 100vh;
}
.t-sec-service .section-wrap {
    margin-top: -100vh;
    padding-top: 180px;
    padding-bottom: 180px;
}
.t-sec-service-wrap {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
    position: relative;
    padding-top: 60px;
}
.t-service-image-area {
    width: 38%;
	position: sticky;
	top: 25%;
    left: 0;
}
.t-service-image-area::after {
    content: "";
    display: block;
    padding-top: 75%;
}
.t-service-image-area .thumb {
	position: absolute;
    width: 100%;
    opacity: 0;
}
.t-service-image-area .thumb::after {
    padding-top: 75%;
}
.t-service-image-area .thumb.is-active {
	opacity: 1;
	z-index: 2;
}
.t-sec-service-list-wrap {
    width: 47.1204%;
}
.t-sec-service-list {
    margin-bottom: 50px;
}
.t-service-block {
	border-top: 1px solid rgba(255, 255, 255, 0.8);
}
.t-service-block:last-child {
	border-bottom: 1px solid rgba(255, 255, 255, 0.8);
}
.t-service-block a {
	display: block;
    position: relative;
}
.t-service-block a::before {
    content: "";
    width: 50px;
    height: 1px;
    background: #f5a61d;
    position: absolute;
    left: -60px;
    top: -1px;
    transform: scaleX(0);
    transform-origin: right center;
    transition: .2s;
}
.t-service-block-inner {
	display: flex;
    justify-content: space-between;
	align-items: center;
    position: relative;
    padding: 36px 42px 36px 10px;
}
.t-service-block-inner::after {
    content: "";
    width: 9px;
    height: 9px;
    background: #f5a61d;
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    transition: .2s;
}
.t-service-block ._numb {
    width: 80px;
    font-size: 1.3rem;
}
.t-service-block .ttl {
    width: calc(100% - 80px);
	font-size: 1.7rem;
}

@media screen and (min-width: 768px) {
    .t-service-block a:hover::before {
        transform: scaleX(1);
    }
    .t-service-block .box-link:hover .t-service-block-inner::after {
        transform: translateY(-50%) scale(2);
    }
}

/* t-sec-journal  ----------------------------- */
.t-sec-journal {
    padding: 120px 0 160px;
}
.t-sec-journal-col2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.t-sec-journal-side {
    width: 31.1041%;
}
.t-sec-journal-side .sec-ttl {
    padding-left: calc(80px + 15%);
    margin-bottom: 96px;
}
.t-sec-journal-side .thumb::after {
    padding-top: 130%;
}
.t-sec-journal-cont {
    width: 54.4323%;
    padding: 100px 0 0;
}
.journal-list {
    border-top: 1px solid #d9d9d9;
    margin-bottom: 60px;
}
.journal-item {
    border-bottom: 1px solid #d9d9d9;
}
.journal-item a {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 30px 0;
}
.journal-item .thumb {
    width: 25.7142%;
}
.journal-item .thumb::after {
    padding-top: 66.6666%;
}
.journal-item-inner {
    width: 68.5714%;
    padding: 6px 0;
}
.journal-item .ttl {
    font-size: 1.6rem;
    margin-top: 18px;
}

/* t-sec-gallery  ----------------------------- */
.t-sec-gallery {
}
.gallery-slider .thumb {
    width: 20.4978vw;
    margin-right: 1.1713vw;
}
.gallery-slider .thumb::after {
    padding-top: 100%;
}

/* t-sec-recruit  ----------------------------- */
.t-sec-recruit {
    padding: 80px 0 0;
}
.t-sec-recruit-col2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.t-sec-recruit-side {
    width: 24%;
}
.t-sec-recruit-cont {
    width: 73.2984%;
    padding-top: 34px;
}
.t-sec-recruit-cont .ttl {
    font-size: 3.0rem;
    margin-bottom: 20px;
}
.t-sec-recruit-cont .txt {
    margin-bottom: 8px;
}

/*/////////////////////////////////////////////////////////////////////////////


              // About //
	  

/////////////////////////////////////////////////////////////////////////////*/

/* sec-story  ----------------------------- */
.sec-story {
    padding: 140px 0;
    overflow: hidden;
}
.sec-story-col2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    padding: 0 0 130px;
}
.sec-story-col2 .bg-logo {
    width: 47%;
    position: absolute;
    right: calc(-5.3333vw + -60px);
    bottom: -120px;
}
.sec-story-col2 .sec-story-fig01 {
    width: 25%;
    position: absolute;
    right: -40px;
    top: 40px;
}
.sec-story-col2 .sec-story-fig01 .thumb::after {
    padding-top: 75%;
}
.sec-story-col2 .sec-ttl {
    width: 137px;
    padding-left: 4.3630%;
}
.sec-story-col2-cont {
    width: 72.9493%;
}
.sec-story-col2-cont .en-ttl {
    font-size: 1.4rem;
    margin-bottom: 80px;
}
.sec-story-col2-cont .txt-wrap {
    position: relative;
}
.sec-story-btm {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
}
.sec-story-btm .sec-story-fig02 {
    width: 41%;
}
.sec-story-btm .sec-story-fig02 .thumb::after {
    padding-top: 75%;
}
.sec-story-btm-cont {
    width: 45.5%;
}
.sec-story-btm-cont .ttl {
    font-size: 2.6rem;
    margin-bottom: 32px;
}

/* sec-philosophy  ----------------------------- */
.sec-philosophy {
    padding: 0 0 140px;
}
.sec-philosophy-col2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    border-top: 1px solid #d9d9d9;
    padding-top: 120px;
}
.sec-philosophy-col2 .sec-ttl {
    width: 42.7574%;
}
.sec-philosophy-col2-ttl {
    width: 39.2670%;
    position: relative;
    display: flex;
    justify-content: flex-end;
    margin-top: 48px;
}
.sec-philosophy-col2-ttl .ttl {
    writing-mode: vertical-rl;
    font-size: 2.2rem;
    line-height: 2.4;
}
.sec-philosophy-col2-ttl .ttl span {
    display: block;
    opacity: 0;
    transform: translateX(-60px);
}
.sec-philosophy-col2-ttl .ttl.on span:nth-child(1) {
    transition: 2s cubic-bezier(0.075, 0.82, 0.165, 1);
    opacity: 1;
    transform: translateX(0);
}
.sec-philosophy-col2-ttl .ttl.on span:nth-child(2) {
    transition: 2s cubic-bezier(0.075, 0.82, 0.165, 1) .15s;
    opacity: 1;
    transform: translateX(0);
}
.sec-philosophy-col2-ttl .ttl.on span:nth-child(3) {
    transition: 2s cubic-bezier(0.075, 0.82, 0.165, 1) .3s;
    opacity: 1;
    transform: translateX(0);
}
.sec-philosophy-col2-ttl .ttl.on span:nth-child(4) {
    transition: 2s cubic-bezier(0.075, 0.82, 0.165, 1) .45s;
    opacity: 1;
    transform: translateX(0);
}
.sec-philosophy-col2-ttl .ttl.on span:nth-child(5) {
    transition: 2s cubic-bezier(0.075, 0.82, 0.165, 1) .6s;
    opacity: 1;
    transform: translateX(0);
}
.sec-philosophy-col2-ttl .ttl.on span:nth-child(6) {
    transition: 2s cubic-bezier(0.075, 0.82, 0.165, 1) .75s;
    opacity: 1;
    transform: translateX(0);
}
.sec-philosophy-col2-ttl .en-ttl {
    writing-mode: vertical-rl;
    font-size: 1.2rem;
    color: #999999;
    position: absolute;
    left: 0;
    top: 0;
}
.sec-philosophy-col2-cont {
    width: 42.7574%;
    padding-top: 54px;
    margin-top: -240px;
}

/* parallax-mask  ----------------------------- */
.parallax-mask {
	position: relative;
	z-index: 1;
	width: 100vw;
	height: 100vh;
	clip-path: inset(0);
    margin-left: -80px;
}
.parallax-image {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	object-fit: cover;
	pointer-events: none;
}

/* sec-strengths  ----------------------------- */
.sec-strengths {
    padding: 120px 0 80px;
}
.strengths-list {
    margin-top: 80px;
}
.strengths-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 90px;
}
.strengths-item:nth-child(2n){
    flex-direction: row-reverse;
}
.strengths-item._w100 {
    display: block;
}
.strengths-item-cont {
    width: 51.9197%;
    box-sizing: border-box;
    position: relative;
    padding: 0 0 0 15.9685%;
}
.strengths-item:nth-child(2n) .strengths-item-cont {
    padding: 0 15.9685% 0 0;
}
.strengths-item._w100 .strengths-item-cont {
    width: 100%;
}
.strengths-item-cont ._numb {
    position: absolute;
    left: 0;
    top: 0;
}
.strengths-item:nth-child(2n) .strengths-item-cont ._numb {
    left: inherit;
    right: 0;
}
.strengths-item-cont ._numb .bg {
    font-size: 14.0rem;
    line-height: 0.7;
    color: #d4dadc;
    opacity: 0.4;
}
.strengths-item-cont ._numb .txt {
    font-size: 1.4rem;
    writing-mode: vertical-rl;
    position: absolute;
    left: 20px;
    top: 42px;
    white-space: nowrap;
}
.strengths-item-cont dl {
    padding: 64px 0 0;
}
.strengths-item-cont dl .ttl {
    font-size: 2.6rem;
    margin-bottom: 20px;
}
.strengths-item-fig {
    width: 39.2670%;
}
.strengths-item-fig .thumb::after {
    padding-top: 66.6666%;
}
.strengths-item-fig-list {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 64px;
}
.strengths-item-fig-list li {
    width: 31.5881%;
}
.strengths-item-fig-list .thumb::after {
    padding-top: 66.6666%;
}
.strengths-item-fig-list .plus {
    right: 12px;
    bottom: 12px;
}

/* sec-company  ----------------------------- */
.sec-company {
    padding: 120px 0 20px;
}
.sec-company .contents-col2-main {
    margin-top: 120px;
}
.ceo-profile {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 120px;
}
.ceo-profile .thumb {
    width: 23.5602%;
}
.ceo-profile .thumb::after {
    padding-top: 125.6%;
}
.ceo-profile-cont {
    width: 67.7137%;
}
.ceo-profile-cont .ttl {
    font-size: 2.0rem;
    margin-bottom: 16px;
}
.ceo-profile-cont .name-wrap {
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
}
.ceo-profile-cont .name {
    font-size: 2.8rem;
    margin-left: 16px;
}
.ceo-career {
    margin-top: 32px;
    padding: 32px 40px;
    background: #f7f7f7;
    border-radius: 4px;
}
.ceo-career .list-disc {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}
.ceo-career .list-disc li {
    width: 48%;
    box-sizing: border-box;
}
.sec-company .map {
    width: 100%;
    height: 480px;
    position: relative;
    margin-top: 80px;
}
.sec-company .map iframe {
    width: 100%;
    height: 100%;
}
.sec-company .map .btn {
    position: absolute;
    right: 30px;
    bottom: -45px;
}

/*/////////////////////////////////////////////////////////////////////////////


              // Works //
	  

/////////////////////////////////////////////////////////////////////////////*/

/* search-pannel  ----------------------------- */
.search-pannel {
    padding: 160px 0 20px;
}
.search-pannel-block {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.search-pannel-block {
    margin-bottom: 16px;
}
.search-pannel-block dt {
    width: 110px;
    font-size: 1.4rem;
}
.search-pannel-block dd {
    width: calc(100% - 110px);
    border-left: 1px solid #d9d9d9;
    padding-left: 32px;
    box-sizing: border-box;
}
.search-cate-list {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.search-cate-list li {
    margin-right: 26px;
}
.search-cate-list li a {
    display: block;
    position: relative;
}
.search-cate-list li a::before {
    content: "";
    width: 6px;
    height: 6px;
    background: #f5a61d;
    border-radius: 50%;
    position: absolute;
    left: 50%;
    top: -6px;
    transform: translateX(-50%);
    opacity: 0;
    transition: .2s;
}
.search-cate-list li.current-cat a::before {
    top: -12px;
    opacity: 1;
}

@media screen and (min-width: 768px) {
	.search-cate-list li a:hover::before {
        top: -12px;
		opacity: 1;
	}
}

/*/////////////////////////////////////////////////////////////////////////////


              // Works Detail //
	  

///////////////////////////////////////////////////////////////////////////// */

/* works-ttl  ----------------------------- */
.works-detail-ttl {
    position: relative;
    margin-bottom: 64px;
}
.works-detail-ttl-info {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 24px;
}
.works-detail-ttl-info .works-info {
    margin: 0 0 0 30px;
}
.works-detail-ttl .ttl {
    font-size: 3.4rem;
}
.works-detail-ttl .btn-txt {
    position: absolute;
    right: 0;
    bottom: 0;
}

/* sec-works-slider  ----------------------------- */
.sec-works-slider {
    width: 100vw;
    margin: 0 0 120px -80px;
}
.works-slider li {
    margin: 0 8px;
    border-radius: 4px;
    overflow: hidden;
}
.works-slider li img {
	max-width: 100%;
	width: auto !important;
	height: 660px;
}
.works-slider-thumb-wrap {
    max-width: 880px;
    margin: 20px auto 0;
}
.works-slider-thumb {
    margin-right: -6px;
}
.works-slider-thumb .thumb {
    width: 112px;
    margin-right: 6px;
    opacity: 0.6;
}
.works-slider-thumb .thumb::after {
    padding-top: 75%;
}
.works-slider-thumb .thumb.slick-current {
    opacity: 1;
}

/* works-detail-col2  ----------------------------- */
.works-detail-col2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row-reverse;
    margin-bottom: 140px;
}
.works-detail-col2-main {
    width: 68.0628%;
}
.customer-voice {
    padding: 54px 60px 56px;
    border: 1px solid #d9d9d9;
    margin-top: 72px;
    border-radius: 4px;
}
.customer-voice .sec-ttl {
    margin-bottom: 26px;
}
.works-detail-col2-side {
    width: 24%;
    position: sticky;
    left: 0;
    top: 14%;
}
.works-detail-col2-side .ttl {
    font-size: 1.9rem;
    padding: 22px 0 18px;
}
.works-detail-col2-side .thumb {
    width: 140px;
    margin-top: 24px;
}
.works-detail-col2-side .thumb::after {
    padding-top: 75%;
}

/* detail-nav  ----------------------------- */
.detail-nav {
    padding: 100px 0 20px;
    border-top: 1px solid #d9d9d9;
}
.detail-nav ul {
	width: 866px;
	position: relative;
	margin: 0 auto;
}
.detail-nav ul li a {
    display: block;
    font-size: 1.6rem;
    line-height: 1.6;
}
.detail-nav ul li.btn-back {
    text-align: center;
}
.detail-nav ul li.btn-prev,
.detail-nav ul li.btn-next {
	position: absolute;
	top: 0;
    z-index: 1;
}
.detail-nav ul li.btn-prev {
	left: 0;
}
.detail-nav ul li.btn-next {
    right: 0;
}
.detail-nav ul li.btn-prev a,
.detail-nav ul li.btn-next a {
	position: relative;
	transition: .2s;
}
.detail-nav ul li.btn-prev a {
	padding-left: 66px;
}
.detail-nav ul li.btn-next a {
	padding-right: 66px;
}
.detail-nav ul li.btn-prev a .arrow,
.detail-nav ul li.btn-next a .arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.detail-nav ul li.btn-prev a .arrow {
    left: 0;
}
.detail-nav ul li.btn-next a .arrow {
    right: 0;
}

/* sec-latest  ----------------------------- */
.sec-latest {
    padding: 110px 0;
}
.works-col-list {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-top: 32px;
}
.works-col-list::after {
    content: "";
    width: 31.5881%;
    display: block;
}
.works-col-item {
    width: 31.5881%;
}
.works-col-item .thumb::after {
    padding-top: 75%;
}
.works-col-item-inner {
    margin-top: 20px;
}
.works-col-item .ttl {
    font-size: 1.8rem;
    margin: 16px 0 18px;
}

/*/////////////////////////////////////////////////////////////////////////////


              // Service //
	  

/////////////////////////////////////////////////////////////////////////////*/

/* sec-approach  ----------------------------- */
.sec-approach {
    padding: 120px 0 140px;
}
.sec-approach-col2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    border-top: 1px solid #d9d9d9;
    padding-top: 120px;
}
.sec-approach-col2 .sec-ttl {
    width: 60.7329%;
}
.sec-approach-col2-ttl {
    width: 25.5%;
    position: relative;
    display: flex;
    justify-content: flex-end;
    margin-top: 48px;
}
.sec-approach-col2-ttl .ttl {
    writing-mode: vertical-rl;
    font-size: 4.0rem;
    line-height: 2.4;
    letter-spacing: 0.08em;
}
.sec-approach-col2-ttl .ttl .inner {
    display: block;
    opacity: 0;
    transform: translateY(60px);
}
.sec-approach-col2-ttl .ttl .inner:nth-child(2) {
    margin-top: 105px;
}
.sec-approach-col2-ttl .ttl.on .inner:nth-child(1) {
    transition: 2.5s cubic-bezier(0.075, 0.82, 0.165, 1) .2s;
    opacity: 1;
    transform: translateY(0);
}
.sec-approach-col2-ttl .ttl.on .inner:nth-child(2) {
    transition: 2.5s cubic-bezier(0.075, 0.82, 0.165, 1) .3s;
    opacity: 1;
    transform: translateY(0);
}
.sec-approach-col2-ttl .en-ttl {
    writing-mode: vertical-rl;
    font-size: 1.2rem;
    color: #999999;
    position: absolute;
    left: 0;
    top: 0;
}
.sec-approach-col2-cont {
    width: 60.7329%;
    padding-top: 54px;
    margin-top: -300px;
}
.approach-list {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 80px 0 0;
    padding-bottom: 120px;
    border-bottom: 1px solid #d9d9d9;
}
.approach-item {
    width: 340px;
    height: 340px;
    position: relative;
    text-align: center;
    margin: 0 -10px;
}
.approach-item::before {
    content: "";
    width: 100%;
    height: 100%;
    background: url("../images/s_approach_bg.png") center center no-repeat;
    background-size: 100% 100%;
    position: absolute;
    left: 0;
    top: 0;
    animation: spin 12s linear infinite;
}
.approach-item .en-ttl {
    width: 120px;
    margin: 70px auto 20px;
    border-top: 1px solid #cccccc;
    border-bottom: 1px solid #cccccc;
}
.approach-item .ttl {
    font-size: 1.8rem;
    line-height: 2.2;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* sec-service  ----------------------------- */
.sec-service {
    padding-bottom: 20px;
}
.sec-service-col2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.sec-service-col2-side {
    width: 18.7601%;
    position: sticky;
    left: 0;
    top: 20%;
    padding-bottom: 100px;
}
.sec-service-col2-main {
    width: 78.3034%;
}
.service-item {
    padding-bottom: 100px;
}
.service-item-fig {
    position: sticky;
    top: 0;
    left: 0;
    margin-bottom: 10px;
}
.service-item-fig .thumb::after {
    padding-top: 56.25%;
}
.service-item-cont {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 60px 8.3333% 0 0;
    background: #ffffff;
    position: relative;
}
.service-item-cont-ttl {
    width: 15.625%;
    writing-mode: vertical-rl;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
.service-item-cont-ttl ._numb {
    font-size: 1.2rem;
    position: absolute;
    left: 0;
    top: 0;
}
.service-item-cont-ttl .ttl {
    font-size: 2.6rem;
}
.service-item-cont-inner {
    width: 77.2727%;
    position: relative;
    padding: 56px 0 0;
}
.service-item-cont-inner .en-ttl {
    font-size: 1.2rem;
    line-height: 1;
    position: absolute;
    right: 0;
    top: 0;
}
.service-item-cont-list {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 32px;
}
.service-item-cont-list .subttl {
    width: 20%;
    font-size: 1.7rem;
}
.service-item-cont-list-inner {
    width: 78%;
}
.service-item-cont-list .list-disc {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.service-item-cont-list .list-disc::after {
    content: "";
    width: 32%;
    display: block;
}
.service-item-cont-list .list-disc li {
    width: 31.5%;
    box-sizing: border-box;
}
.service-item-cont-list .list-disc li:nth-child(-n+3) {
    border-top: 1px solid #d9d9d9;
}
.service-item-cont-list .note {
    font-size: 1.2rem;
    margin-top: 16px;
}

/* sec-available  ----------------------------- */
.sec-available {
    padding: 0 0 140px;
}
.sec-available .sec-ttl {
    border-top: 1px solid #d9d9d9;
    padding-top: 90px;
}
.sec-available-col3 {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    margin-top: 60px;
}
.available-block {
    width: 31.5881%;
    padding: 40px 20px 20px;
    margin-bottom: 54px;
    border: 1px solid #d9d9d9;
    box-sizing: border-box;
    position: relative;
}
.available-block .ttl {
    width: 100%;
    text-align: center;
    position: absolute;
    left: 0;
    top: -0.5em;
    font-size: 2.0rem;
    line-height: 1;
}
.available-block .ttl span {
    display: inline-block;
    padding: 0 20px;
    background: #ffffff;
}
.available-block-list ul {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.available-block-list ul li {
    width: 49%;
    font-size: 1.4rem;
    line-height: 1.5;
    padding: 4px 16px 5px;
    margin-bottom: 4px;
    background: #f5f5f5;
    box-sizing: border-box;
}
.available-note {
    font-size: 1.6rem;
    text-align: center;
}

/* sec-flow  ----------------------------- */
.sec-flow {
    padding: 120px 0;
}
.sec-flow-inner {
    padding: 0 0 0 6.1082%;
}
.flow-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 60px 0;
    border-bottom: 1px solid #d9d9d9;
}
.flow-item:last-child {
    border-bottom: none;
}
.flow-item ._numb {
    width: 11.1524%;
    font-size: 1.4rem;
}
.flow-item-inner {
    width: 86.4312%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.flow-item-inner .thumb {
    width: 30.1075%;
}
.flow-item-inner .thumb::after {
    padding-top: 75%;
}
.flow-item-cont {
    width: 62.3655%;
}
.flow-item-cont .ttl {
    font-size: 2.4rem;
    margin-bottom: 16px;
}
.flow-item-contact {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 24px;
}
.flow-item-contact li {
    width: 48.2758%;
    border-top: 1px solid #e5e5e5;
    padding: 12px 0 0;
}
.flow-item-contact li .en-ttl {
    font-size: 1.4rem;
}
.flow-item-contact li .tel {
    font-size: 2.8rem;
    line-height: 1.6;
}
.flow-item-contact li .txt {
    font-size: 1.2rem;
}
.flow-item-contact li .btn {
    margin-top: 12px;
}
.flow-item-contact li .btn a {
    font-size: 1.5rem;
}
.flow-note {
    font-size: 1.6rem;
    padding: 60px;
    margin-top: 20px;
    text-align: center;
    background: #f9f9fa;
}

/* sec-faq  ----------------------------- */
.sec-faq {
    padding: 120px 0 20px;
    position: relative;
    border-top: 1px solid #d9d9d9;
}
.faq-list {
    border-bottom: 1px solid #d9d9d9;
    margin-top: 40px;
}
.faq-list .block {
    border-top: 1px solid #d9d9d9;
    padding: 6px 0;
}
.faq-list .block-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    padding-bottom: 24px;
}
.faq-list .block-inner.question {
    padding-top: 24px;
    cursor: pointer;
}
.faq-list .block-inner .en-ttl {
    width: 50px;
    font-size: 2.0rem;
    line-height: 1.6;
    color: #4b5e51;
    padding: 0 0 0 10px;
    box-sizing: border-box;
}
.faq-list .block-inner .txt {
    width: calc(100% - 50px);
    box-sizing: border-box;
}
.faq-list .block-inner.question .txt {
    font-size: 1.6rem;
    padding-right: 65px;
}
.faq-list .block-inner.question .plus {
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
}
.faq-list .question.ac .plus::after {
  transform: rotate(0);
}
.faq-list .answer-wrap {
    display: none;
}

/*/////////////////////////////////////////////////////////////////////////////


              // Journal //
	  

/////////////////////////////////////////////////////////////////////////////*/

/* sec-notes  ----------------------------- */
.sec-notes {
    padding: 100px 0 20px;
}
.sec-notes .notes-list {
    padding-top: 8px;
}
.sec-notes .notes-list::after {
    content: "";
    width: 31.5881%;
    display: block;
}
/* sec-journal  ----------------------------- */
.sec-journal {
    padding: 100px 0 0;
}
.sec-journal-col2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.sec-journal-side {
    width: 24.4328%;
}
.sec-journal-cont {
    width: 69.8080%;
}
.cate-list li {
    margin-bottom: 8px;
}
.cate-list li a {
    padding: 0 0 0 25px;
    position: relative;
}
.cate-list li a::before {
    content: "";
    width: 9px;
    height: 9px;
    background: #f5a61d;
    border-radius: 50%;
    position: absolute;
    left: -8px;
    top: 0.4em;
    opacity: 0;
    transition: .2s;
}
.cate-list li.current-cat a::before {
    left: 0px;
    opacity: 1;
}
.cate-list-sp {
    display: none;
}
@media screen and (min-width: 768px) {
	.cate-list li a:hover::before {
        left: 0px;
		opacity: 1;
	}
}

/* wp-pagenavi  ----------------------------- */
.wp-pagenavi {
	margin: 60px auto 0;
    font-family: "EB Garamond", serif;
    font-weight: 400;
}
.wp-pagenavi a {
	display: inline-block;
	width: 55px;
	height: 55px;
	margin: 0 8px 8px 0;
	line-height: 55px;
	background: #ffffff;
    border: 1px solid #d9d9d9;
	text-align: center;
	text-decoration: none;
	border-radius: 4px;
}
.wp-pagenavi span.current {
	display:inline-block;
	color: #ffffff;
	width: 55px;
	height: 55px;
	margin: 0 8px 8px 0;
	line-height: 55px;
	background: #f5a61d;
    border: 1px solid #f5a61d;
	text-align: center;
	text-decoration: none;
	border-radius: 4px;
}
.wp-pagenavi span.extend {
    display: inline-block;
	line-height: 55px;
    margin: 0 8px 8px 0;
}

/*/////////////////////////////////////////////////////////////////////////////


              // Journal Detail //
	  

/////////////////////////////////////////////////////////////////////////////*/

/* sec-journal-detail  ----------------------------- */
.sec-journal-detail {
    margin-top: -80px;
}
.journal-detail-ttl {
    border-bottom: 1px solid #d9d9d9;
    margin-bottom: 90px;
}
.journal-detail-ttl .ttl {
    font-size: 3.6rem;
    padding: 24px 0 32px;
}

/* entry  ----------------------------- */
.entry {
	word-wrap: break-word;
}
.entry p {
    display: block;
}
.entry a {
	text-decoration: underline;
}
.entry img {
	width: auto;
	height: auto;
	vertical-align: middle;
}
.entry strong { font-weight: 700; }
.entry em { font-style: italic; }
.entry blockquote {
    background: #f9f9f7;
	padding: 30px 40px;
	margin: 1.5em 0;
}
.entry blockquote h2:first-child,
.entry blockquote h3:first-child,
.entry blockquote h4:first-child,
.entry blockquote h5:first-child {
	margin-top: 5px;
}
.entry blockquote h2:first-child {
    margin-bottom: 0.2em;
}
.entry ul,
.entry ol {
    margin: 0.5em 0 1em;
}
.entry ul li {
    position: relative;
    padding-left: 1.2em;
}
.entry ul li::before {
    content: "";
    width: 7px;
    height: 7px;
    background: #333333;
    position: absolute;
    left: 0;
    top: 0.95em;
    border-radius: 50%;
}
.entry ol {
	list-style-type: decimal;
	list-style-position: inside;
}
.entry ol li {
	text-indent: -1em;
	padding-left: 1em;
}
.entry h2,
.entry h3,
.entry h4 {
    font-family: "Shippori Mincho", serif;
    font-weight: 500;
    font-style: normal;
    line-height: 1.6;
}
.entry h2 {
	font-size: 3.0rem;
    margin: 1.0em 0;
}
.entry h3 {
	font-size: 2.4rem;
	margin: 1.5em 0 0.6em;
    padding-bottom: 15px;
    padding-left: 18px;
    position: relative;
    border-bottom: 1px solid #d9d9d9;
}
.entry h3::before {
    content: "";
    width: 3px;
    height: calc(100% - 20px);
    background: #f5a61d;
    position: absolute;
    left: 0;
    top: 4px;
    border-radius: calc(infinity * 1px);
}
.entry h4 {
	font-size: 2.2rem;
    margin: 1.5em 0 0.5em;
}
.entry h5 {
	font-size: 1.8rem;
    font-weight: 600;
    margin: 1em 0 0;
}
.entry h2:first-child,
.entry h3:first-child,
.entry h4:first-child,
.entry h5:first-child {
    margin-top: 0;
}
.entry .aligncenter {
    display: block;
    margin: 0 auto;
}
.entry .alignright { 
    float: right;
    margin: 0.5em 0 1em 1.5em;
}
.entry .alignleft {
    float: left;
    margin: 0.5em 1.5em 1em 0;
}
.entry img {
    height: auto;
	width: inherit;
    max-width: 100%;
}
.entry .gallery-item {
    margin-top: 2% !important;
}
.entry .gallery-columns-1 .gallery-item {
	width: 100% !important;
}
.entry .gallery-columns-2 .gallery-item {
	width: 50% !important;
}
.entry .gallery-columns-3 .gallery-item {
	width: 33.333333% !important;
}
.entry .gallery-columns-4 .gallery-item {
	width: 25% !important;
}
.entry .gallery-columns-5 .gallery-item {
	width: 20% !important;
}
.entry .gallery-columns-6 .gallery-item {
	width: 16.666667% !important;
}
.entry .gallery-columns-7 .gallery-item {
	width: 14.285714% !important;
}
.entry .gallery-columns-8 .gallery-item {
	width: 12.5% !important;
}
.entry .gallery-columns-9 .gallery-item {
	width: 11.111111% !important;
}
.entry .gallery-item img {
    border: none !important;
    box-sizing: border-box;
    padding: 0 3%;
}
.youtube iframe{
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
.entry iframe {
	max-width: 100%;
}
.entry table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5em 0;
    line-height: 1.75;
}
.entry th,
.entry td {
    padding: 8px 16px;
    border: 1px solid #cccccc !important;
    text-align: left;
    vertical-align: top;
}
.entry th {
    background: #f2f1e9;
}

/* journal-detail-btm  ----------------------------- */
.journal-detail-btm {
    padding: 80px 0;
}


/*/////////////////////////////////////////////////////////////////////////////


              // CONTACT //
	  

/////////////////////////////////////////////////////////////////////////////*/

/* contact-tel-block  ----------------------------- */
.contact-tel-block {
    border-top: 1px solid #d9d9d9;
    text-align: center;
    padding: 40px 0 48px;
    margin-top: 80px;
}
.contact-tel-block .tel a {
    display: inline-block;
    font-size: 4.2rem;
    line-height: 1.25;
    letter-spacing: 0.06em;
    margin: 0 0 6px;
}
.contact-tel-block .txt {
    font-size: 1.3rem;
}

/* contact-block  ----------------------------- */
.contact-block {
    border-top: 1px solid #d9d9d9;
    padding-top: 40px;
}
.contact-block .en-ttl {
    margin-bottom: 16px;
}
.contact-block dl {
	padding: 18px 0;
	position: relative;
	border-bottom: 1px solid #cccccc;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}
.contact-block dl dt {
	width: 30.5%;
    line-height: 1.625;
	padding: 19px 0;
    position: relative;
    font-family: "Shippori Mincho", serif;
    font-weight: 500;
    font-size: 1.6rem;
}
.contact-block dl .any,
.contact-block dl .required {
    display: inline-block;
    width: 32px;
    line-height: 17px;
    font-size: 1.1rem;
    padding-bottom: 1px;
    color: #ffffff;
    text-align: center;
    border-radius: 2px;
    font-family: "Noto Sans JP", sans-serif;
}
.contact-block dl dt .any,
.contact-block dl dt .required {
    display: block;
    position: absolute;
    right: 0;
    top: 23px;
}
.contact-block dl .any {
    background: #a6a6a6;
}
.contact-block dl .required {
    background: #c30e0e;
}
.contact-block dl dd {
	width: 66.25%;
}
.contact-block dl dd .inner {
	padding: 6px 0;
}
.contact-block dl dd .inner._flex {
	display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}
.contact-block dl dd .inner._flex .item {
    margin-right: 0.5em;
}
.contact-block dl dd .inner._flex .item.txt {
    padding: 9px 0;
}
.contact-block dl .note {
	font-size: 1.2rem;
	line-height: 1.75;
}
.contact-block dl dt .note {
    margin-top: 8px;
}
.contact-block dl .subtxt {
	font-size: 1.4rem;
	line-height: 1.75;
    padding-bottom: 8px;
}
.red {
	color: #cb1212;
}
.checkbox_text_note {
    border-left: 1px solid #cccccc;
    padding: 0 6px 0 20px;
}

/* input  ----------------------------- */
input[type="text"],
input[type="number"],
input[type="password"],
input[type="email"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	background: #ffffff;
    border: 1px solid #cccccc;
	padding: 20px 20px;
	width: 100%;
	line-height: 1;
	margin: 0;
	height: 50px;
	vertical-align: central;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
    font-weight: 400;
    border-radius: 4px;
}
input[type="text"].w240 {
	width: 240px;
}
input[type="text"].w260 {
	width: 260px;
}
input[type="text"].w320 {
	width: 320px;
}
select {
	box-sizing: border-box;
	position: relative;
	margin: 0;
	width: 340px;
	height: 50px;
	background: #ffffff url(../images/select.gif) right center no-repeat;
    background-size: auto 100%;
    border: 1px solid #cccccc;
	border-radius: 4px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	text-overflow: "";
	padding: 0 20px;
	cursor: pointer;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
    font-weight: 400;
    color: #1a1a1a;
}
select.w200 {
	width: 200px;
}
select.w140 {
	width: 140px;
}
select.w240 {
	width: 240px;
}
select.w260 {
	width: 250px;
}
textarea {
	box-sizing: border-box;
	width: 100%;
	height: 200px;
	padding: 16px 20px;
	-moz-appearance: none;
	-webkit-appearance: none;
	line-height: 1.5;
	background: #ffffff;
    border: 1px solid #cccccc;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
    font-weight: 400;
	margin: 0;
    border-radius: 4px;
}
::placeholder {
  color: #a6a6a6;
}

/* radio, checkbox  ----------------------------- */
.radio_text,
.checkbox_text {
    padding: 6px 0;
	font-size: 1.5rem;
}
.checkbox_text._wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
}
.wpcf7-radio,
.wpcf7-checkbox {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
}
.radio_text span.wpcf7-list-item,
.checkbox_text span.wpcf7-list-item {
	display: block;
	margin: 2px 24px 4px 0;
}
.checkbox_text span.item {
    margin: 2px 20px 4px 0;
}
.radio_text .wpcf7-list-item-label,
.checkbox_text .wpcf7-list-item-label {
	cursor: pointer;
	position: relative;
	margin: 0;
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding: 0 0 0 28px;
}
.radio_text .wpcf7-list-item-label::before,
.checkbox_text .wpcf7-list-item-label::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	z-index: 1;
	background-color: #ffffff;
}
.radio_text .wpcf7-list-item-label::before,
.checkbox_text .wpcf7-list-item-label::before{
	width: 20px;
	height: 20px;
	border-radius: 50%;
	margin-top: -9px;
	border: 1px solid #cccccc;
	box-sizing: border-box;
}
.checkbox_text .wpcf7-list-item-label::before {
    border-radius: 3px;
}
.radio_text .wpcf7-list-item-label::after {
    content: '';
	position: absolute;
	top: 50%;
    left: 5px;
    margin-top: -4px;
	z-index : 3;
	opacity: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #ffffff;
}
.checkbox_text .wpcf7-list-item-label::after {
    content: '';
	position: absolute;
	top: 50%;
	z-index : 3;
	opacity: 0;
	width: 8px;
	height: 12px;
	border-radius: 0;
	left: 6px;
	margin-top: -7px;
	background-color: transparent;
    border-bottom: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    box-sizing: border-box;
    transform: rotate(45deg);
}

.radio_text label input[type="radio"],
.checkbox_text label input[type="checkbox"] {
	display: none;
}
.radio_text label input[type="radio"]:checked + .wpcf7-list-item-label::before,
.checkbox_text label input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
	background-color: #f5a61d;
    border: 1px solid #f5a61d;
}
.radio_text label input[type="radio"]:checked + .wpcf7-list-item-label::after,
.checkbox_text label input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
	opacity: 1;
}

/* form-btn  ----------------------------- */
.form-btn {
	padding-top: 30px;
	position: relative;
	box-sizing: border-box;
    text-align: center;
}
.form-btn .txt {
    margin-bottom: 20px;
}
.form-btn ul {
	display: flex;
	justify-content: center;
    padding-top: 30px;
}
.form-btn ul li {
	margin: 0 5px;
}
input[type="submit"],
input[type="reset"],
input[type="button"],
button[type="submit"] {	
    display: block;
	width: 480px;
	height: 70px;
	padding: 0;
	margin: 0 0 10px;
	border: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	color: #FFFFFF;
	cursor: pointer;
    background: #f39d08;
	transition: all .2s;
    font-family: "Shippori Mincho", serif;
	font-size: 1.8rem;
    font-weight: 500;
	border-radius: 4px;
}
input[type="button"] {
    opacity: 0.4;
    background: #f39d08;
}
input[type="submit"][disabled] {
	background: #999999;
	cursor: not-allowed;
}
button[type="submit"] {
    margin: 30px auto;
}
@media screen and (min-width: 768px) {
	input[type="submit"]:hover,
	input[type="button"]:hover,
	input[type="reset"]:hover {
		opacity: 0.7;
	}
	input[type="submit"][disabled]:hover {
		opacity: 1;
	}
}

/* form-btm-txt  ----------------------------- */
.form-btm-txt {
	display: flex;
	justify-content: center;
	font-size: 1.3rem;
	line-height: 1.75;
	margin-top: 50px;
}

/* wpcf7-response-output  ----------------------------- */
.wpcf7 form .wpcf7-response-output {
	text-align: center;
	margin: 0 0 2em;
	padding: 0.5em 1em;
	line-height: 1.5;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
	color: #dc3232;
    background-color: #fcf7f7;
	border-color: #dc3232 !important;
}
.wpcf7 .wpcf7-not-valid-tip {
    font-size: 0.8235em !important;
    font-weight: 500 !important;
}
.wpcf7 .check-parts + .wpcf7-not-valid-tip {
    display: none !important;
}

/* wpcf7-turnstile  ----------------------------- */
.wpcf7-turnstile {
    margin-top: 20px;
}

/* complete-display  ----------------------------- */
.complete-display {
    text-align: center;
    border: 1px solid #d9d9d9;
    margin-top: -120px;
    padding: 60px 40px 40px;
}
.complete-display .ttl {
	font-size: 3.0rem;
	padding-bottom: 12px;
}

/*/////////////////////////////////////////////////////////////////////////////


              // 404 //
	  

/////////////////////////////////////////////////////////////////////////////*/
.sec-404 {
    padding-left: 52.8796%;
}
