@charset "UTF-8";
/*
Theme Name:KIRIHARA PHOTO Collection site
Theme URI:
Description: Original Template
Version: 1.0
Author:
Author URI:
*/

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

html {
    height: -webkit-fill-available;
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    min-height: -webkit-fill-available;
}

.videoIframeWrap {
  position: relative;
  padding-top: calc( 100% * 3 / 4);
}
.videoIframeWrap>iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


@media screen and (max-width: 1300px) {
    html {
        font-size: 90%;
    }
}

@media screen and (max-width: 1080px) {
    html {
        font-size: 80%;
    }
}

@media screen and (max-width: 750px) {
    html {
        font-size: 70%;
        overflow-x: hidden;
    }
}


#particles-js {
    position: fixed;
    top: 0;
    z-index: -2;
    height: 100vh;
    width: 100vw;
}

.wrapper {
    position: relative;
    width: 100%;
    display: block;
}

main{z-index: 1;}

body {
    font-family: 'Shippori Mincho B1', serif;
    font-weight: 400;
    min-width: 320px;
    margin: 0 auto;
    font-size: 14px;
    overflow-x: hidden;
    overflow-y: scroll;
    position: relative;
}

:focus {
    outline: none;
}

a {
    outline: none;
}

a:focus {
    outline: none !important;
    outline-style: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-color: transparent;
}


/** header
*******************************************************************/
#header {
    position:relative;
    padding: 16px 16px 32px;
    width: 100%;
    background-color: #000;
    z-index: 10;
    height: 100px;
    z-index: 999;
    top: 0;
}

#header.Moveup {
    position: fixed;
    top: 0;
    width: 100%;
    -webkit-animation: UpAnime 0.5s forwards;
    animation: UpAnime 0.5s forwards;
}

@-webkit-keyframes UpAnime {
    from {
        opacity: .8;
        -webkit-transform: translateY(-90px);
        transform: translateY(-90px);
    }

    to {
        opacity: 0;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes UpAnime {
    from {
        opacity: .8;
        -webkit-transform: translateY(-90px);
        transform: translateY(-90px);
    }

    to {
        opacity: 0;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}


#header.Movedown {
    top: 0;
    position: fixed;
    width: 100%;
    -webkit-animation: DownAnime 0.5s forwards;
    animation: DownAnime 0.5s forwards;

}


@-webkit-keyframes DownAnime {
    from {
        opacity: 0;
        -webkit-transform: translateY(-90px);
        transform: translateY(-90px);
    }

    to {
        opacity: .8;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}


@keyframes DownAnime {
    from {
        opacity: 0;
        -webkit-transform: translateY(-90px);
        transform: translateY(-90px);
    }

    to {
        opacity: .8;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}



header nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.hd__navigation {
    width: 70%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    height: 53px;
    margin-bottom: 0;
}

.hd__navigation > li a {
    padding: 8px 16px;
    text-decoration: none;
    font-weight: 700;
    font-size: 1.1rem;
	color:#FFF;
}

/**TOP slide
*******************************************************************/
.border_top{height: 40px;
    background: url(https://kirihara-photo.com/wp-content/uploads/2023/12/film_top_long.png);
	background-position:top center;
	background-size:120%;
	background-color: #000;
    background-repeat: repeat-x;
}
.border_borrom{height:40px;
    background: url(https://kirihara-photo.com/wp-content/uploads/2023/12/film_bottom_long.png);
	background-position:bottom center;
	background-size:120%;
	background-color: #000;
    background-repeat: repeat-x;
}

.top-visual__area {
position: relative;
}

.top_copy_text {
    font-size: 3rem;
    color: #425a70;
    line-height: 1.6;
    letter-spacing: .05em;
    width: 100%;
}

@media screen and (max-width: 750px) {
    .top_copy_text {
        font-size: 1.8rem;
    }
}

.top_copy_image {
    width: 100%;
    margin-top: 32px;
}

.top_copy_image img {
    width: 480px;
}



/*** TOP contents
************************************************************/

section {
    width: 100%;
    padding: 69px 0;
    display: block;
    position: relative;
}

@media screen and (max-width:750px) {
    section {
        padding: 48px 0;
    }
}

section.top_info{
	padding: 24px 0;
}


.page_inner {
    max-width: 1080px;
    margin: 40px auto;
    min-height: 200px;
    z-index: 1;
    position: relative;
}
.page_inner.caseindex {
    max-width: 1200px;
    margin: 40px auto;
    min-height: 200px;
    z-index: 1;
    position: relative;
}

@media screen and (max-width: 1120px) {
    .page_inner {
        padding: 0 40px;
        min-height: 240px;
    }
	.page_inner.caseindex{padding: 0 3%;
        min-height: 240px;}
	section.top_info .page_inner {
		 min-height:auto;
	}
}

@media screen and (max-width:800px) {
    .page_inner {
        padding: 0 5%;
    }
}




.flex_center {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
}

.link__lists {
	justify-content:flex-start;
	align-items: flex-end;
}

.link__lists a:first-child{
	width: calc(18% - 16px);
}
.link__lists a{
	width: calc(15% - 16px);
	margin-right:16px;
	margin-bottom:16px;
}

@media screen and (max-width:800px) {
	.link__lists a:first-child{
	width: calc(30% - 8px);
}
.link__lists a{
	width: calc(25% - 16px);
	margin-right:16px;
	margin-bottom:16px;
}
}

.top_title {
    font-size: 3rem;
    margin-bottom: 3rem;
    font-weight: 700;
    z-index: 2;
}

.sub_title {
    font-size: 1.3rem;
    margin-bottom: 0;
    line-height: 1.6;
    z-index: 2;
}

.sub_midashi {
    font-size: 1.5rem;
    line-height: 2;
    padding-left: 16px;
    border-left: 3px solid #555;
    margin: 40px 0 32px;
}

.contents_title {
    font-size: 2rem;
    margin-bottom: 1.5rem;
    font-weight: 700;
    line-height: 1;
    z-index: 2;
}

.v_line {
    border-left: 3px solid #555;
    padding-left: 24px;
}

.v_line_right {
    border-right: 3px solid #555;
    padding-right: 24px;
}


.text_contents {
    margin-top: 32px;
    padding-left: 24px;
    line-height: 1.6;
}

.layout__right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    text-align: right;
    -ms-flex-line-pack: center;
    align-content: center;
    margin-top: 80px;
}

@media screen and (max-width: 800px) {
.layout__right.u-min-h120{margin-top: 0;}
.layout__left.u-min-h120{margin-top: 0;}
}

.layout__right > * {
    text-align: right;
    width: 100%;
}

.layout__center {
    text-align: center;
    min-height: 240px;
}


.layout__nomal {
    text-align: left;
}

.nomal_title {
    font-size: 2.6rem;
    margin-bottom: 3rem;
    font-weight: 700;
    line-height: 1.6;
}

.title_btm_text {
    font-size: .4em;
    display: block;
    line-height: 1;
    color: #425a70;
    font-weight: normal;
}

.title__dsc_text {
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
    font-weight: 700;
    line-height: 1.5;
    z-index: 2;
}

.p__dsc_text {
    font-size: 1.2em;
    line-height: 1.7;
}

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

    .p__dsc_text {
        font-size: 1em;
    }
}

.p-news__h3 {
    font-size: 1.3rem;
    margin-bottom: 1.3rem;
    font-weight: 700;
    line-height: 1.5;
    z-index: 2;
}

.block_3 {
    padding: 3%;
}

.colum_inner__rectangle {
    /*background: #FFF;*/
    border-radius: 0;
    width: 100%;
    padding: 20px 0;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 64px;
}



.flex_reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}



.column3_contents__inner {
    text-align: left;
    width: 45%;
}

.column3_contents__inner:first-child {
    width: 45%;
    margin-top: 9%;
}

@media screen and (max-width: 750px) {
    .column3_contents__inner {}

    .column3_contents__inner img {
        margin-top: 32px;
    }

    .column3_contents__inner:first-child {
        margin-top: 0;
        margin-right: 0;
    }
}

.column3_contents_title__dsc_text {
    margin-bottom: 28px;
    font-size: 2.5rem;
    line-height: 1.1;
    margin-top: 0;
}

.column3_contents_sub__txt {
    font-size: 1.1em;
    margin-bottom: 28px;
    margin-top: 16px;
}


.column3_contents_sub__title {
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 16px;
}

.column3_contents__inner p {
    font-size: 1.2em;
    line-height: 1.8;
}

@media screen and (max-width: 640px) {
    .column3_contents__inner p {
        font-size: 1.5em;}
}

.obi_bgay {
    margin-top: 3rem;
    font-size: 2rem;
    margin-bottom: 1.5rem;
    font-weight: 700;
    background: #ececec;
    padding: 1.3rem;
    font-weight: normal;
    line-height: 1;
}

.obi_under_line {
    font-size: 1.7rem;
    margin-bottom: 1.5rem;
    font-weight: 700;
    padding: 1.2rem 0;
    font-weight: normal;
    line-height: 1;
    border-bottom: 1px solid #ececec;
    margin-top: 3rem;
}



.top_contents {
    color: #2f1e2b;
}

@media screen and (max-width: 750px) {
    .top_contents {
        overflow-x: hidden;
    }

    .top_contents .page_inner {
        min-height: 180px;
    }
}

.about_contents {
    overflow: hidden;
}


.bg_image {
    position: absolute;
    display: block;
    width: 900px;
    opacity: .5;
    top: 20%;
    z-index: 1;
}

@media screen and (max-width: 750px) {
    .bg_image {
		position: relative;
        width: 360px;
        top: initial;
        opacity: 1;
    }
}

@media screen and (max-width: 380px) {
    .bg_image {
        width: 300px;
        top: initial;
    }
}

.bg_image img {
    width: 100%;
    height: auto;
    display: block;
    z-index: 1;
}

.bg_image.left {
    right: 55%;
}

.bg_image.left0 {
    left: 0;
}

@media screen and (max-width: 750px) {
    
.bg_image.left0 {
    left: 0;
    top:initial;
}
}


.bg_image.left20 {
    left: -20%;
}

.bg_image.right {
    left:0;
}

.bg_image.left_right {
    right: -5%;
}

.bg_image.right0 {
    left:0;
}

.bg_image.left.case {
    top: 560px;
    right: 40%;
    width: 1000px;
    opacity: .9;
}

.bg_image.right.case {
    left: 50%;
    top: 280px;
    opacity: .7;
}

.bg_image.right.logo {
    left: 65%;
    opacity: 1;
    z-index: 1;
    overflow-x: hidden;
    width: 540px;
    top: 90px;
}

.bg_image.right.logo img {
    width: 100%;
}

@media screen and (max-width: 750px) {
    .bg_image.right.logo {
        width: 320px;
        top: inherit;
    }
}
@media screen and (max-width: 640px) {
    .bg_image.right.logo {
        width: 290px;
        top: inherit;
    }
}



.pageHead_contents {
    padding: 40px 0;
    position: relative;
	background: #4f4f4f;
}

@media screen and (max-width: 1080px) {
    .pageHead_contents {
        padding: 40px;
    }
}

@media screen and (max-width:800px) {
    .pageHead_contents {
        padding: 5%;
    }
}

.header_inner {
    min-height: 90px;
    max-width: 1080px;
    margin: 0px auto;
	color: #FFF;
}

.single {
    max-width: 900px;

}

.header_inner > * {
    width: 100%;
    z-index: 5;
}

.bg_image.right.page__logo {
    left: 64%;
    opacity: 1;
    z-index: 1;
    overflow-x: hidden;
    width: 250px;
    top: 20px;
}

@media screen and (max-width:800px) {
    .bg_image.right.page__logo {
        width: 210px;
    }
}

#pages h3 {
    line-height: 1.5
}



.column2_contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.column__left {
    width: 30%;
}

.column__right {
    width: 68%;
}

@media screen and (max-width: 750px) {
    .column__left {
        width: 100%;
        margin-bottom: 64px;
    }

    .column__right {
        width: 100%;
    }
}


.column3_contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    max-width: 1080px;

    margin: auto;
    -ms-flex-line-pack: center;
    align-content: center;

}

.top__3 {
    background-color: rgb(249 249 249 / 80%);
    max-width: 800px;
    padding: 40px;
    padding: 40px;
}


.top__3mask {
    width: 100%;
    min-width: 800px;
    margin: auto;
    padding: 40px;
    padding: 40px 0 0;
}

.mask__inner {
    max-width: 770px;
    padding: 100px 40px;
    margin: auto;
    min-height: 500px;
}

.mask_btm_bg__gray {
    width: 100%;
    margin: auto;
    background-color: #f4f4f4;
}

.mask {
    background-image: url(image/mask_waku_s.svg);
    background-size: contain;
    ;
    background-color: inherit;
    background-position: center;
    background-repeat: no-repeat;
}

.top_bg__waku {
    background-image: url(image/v_wave.svg);
    background-size: 700px;
    background-color: inherit;
    background-position: top center;
    background-repeat: no-repeat;
    padding-top: 9%;
}

@media screen and (max-width: 750px) {
    .mask {
        background-image: none;
        background-color: rgb(249 249 249 / 80%);
    }

    .top__3mask {
        min-width: auto;
        width: 100%;
        margin-bottom: 24px;
        padding: 24px;
    }

    .mask__inner {
        padding: 0;
        min-height: 300px;
    }

    .top_bg__waku {
        padding-top: 32%;
        background-size: contain;
    }
}

@media screen and (max-width:640px) {
    .top__3mask {
        font-size: .6em;
    }

    .column3_contents_title__dsc_text {
        font-size: 1.9rem;
    }

    .column3_contents__inner {
        width: 49%;
    }

    .mask__inner {
        min-height: 240px;
    }

}


.colum_inner {
    width: 30%;
    background-color: #f5ecf1;
    border-radius: 24px;
    padding: 24px;
}

.colum_inner.small {
    width: 5%;
    -ms-flex-item-align: center;
    align-self: center;
    font-size: 24px;
    color: #425a70;
    font-weight: bold;
    background: none;
    text-align: center;
    padding: 0;
}



.banner{
	    line-height: 3;
    padding: 0 12px;
    background: antiquewhite;
    display: inline-block;
    margin-top: 1rem;
    font-size: 16px;
}

@media screen and (max-width: 750px) {
	.banner{display: block; text-align:center;}
}

/***NEWS 3column
 *******************************************************/


.news_area .photo_innner__box{
    width: calc((100% / 4) - 30px);
	margin-bottom:24px;
}


.news_area a {
    width: calc((100% / 3) - 30px);
	margin-bottom: 32px;
	margin-right:30px;
}

@media screen and (max-width: 750px) {
    .news_area a {
        width: 100%;
        margin-bottom: 48px;
		margin-right:0;
    }
	.news_area .photo_innner__box{width: 100%;
        margin-bottom: 48px;}
}

.more_link {
    text-align: right;
    display: -block;
}

.more_link a {
    text-decoration: none;
    font-size: 1.3em;
}

@media screen and (max-width: 750px) {
	.more_link a {
    text-decoration: none;
    font-size: .9em;
		padding:4px
	}
}

.news_post__link {
    text-decoration: none;
}

.news_innner__img {
    overflow: hidden;
    -webkit-transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	max-height:206px;
}

.photo_innner__box .news_innner__img {max-height:inherit;}
.news_innner__img img{height:auto;}

a:hover .news_innner__img img {
    -webkit-transition: .3s all;
    transition: .3s all;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}

.news_inner__date {
    margin-top: 10px;
    margin-bottom: 4px;
    font-size: .9rem;
}

.news_inner__title {
    font-size: 1.1rem;
    line-height: 1.6;
}


/** news index **/
.news_area__index {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.news_area__index a {
    margin-bottom: 56px;
}

.news_area__index .news_innner__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
	max-height: 160px;
    overflow: hidden;
}

@media (max-width: 768px) {
	.news_area__index .news_innner__box {max-height:inherit;overflow:visible;}
	.news_area__index a {
    margin-bottom: 24px;
}
}

.news_area__index .news_innner__img {
    width: calc((306 / 500) * 100%);
    max-width: 236px;
    margin-right: 40px;
    border: 1px solid #ccc;
}

.list__overview {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    text-align: left;
}

.list__overview .news_inner__date {
    margin-top: 0;
}


.news_area__index dl{
	display:flex;
	flex-wrap:wrap;
}
.news_area__index dt { width:20%;text-align:left;}
.news_area__index dd {    width: 80%;
    text-align: left;}


@media screen and (max-width: 750px) {
	.news_area__index dl{
		flex-wrap:wrap;
	}
	.news_area__index dt { width:100%;text-align: left;}
	.news_area__index dd {width: 100%;
		text-align: left;}
}

/***table_List
 *******************************************************/
.table_List__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-top: 1px solid #d6d6d6;
    padding-top: 21px;
}

.table_List__item:last-child {
    border-bottom: 1px solid #d6d6d6;
    padding-bottom: 1rem;
}

.table_List__itemHead {
    font-weight: 700;
    width: 30%;
}

.table_List__item dd {
    width: 68%;
    -ms-flex-item-align: center;
    align-self: center;
}


.table_List__itemNews {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.2rem;
}

.table_List__itemDate {
    font-weight: normal;
    color: #555;
    width: 20%;
    text-align: left;
}

.table_List__itemText {
    width: 72%;
    text-align: left;
}

.table_List__itemnlinks {
    padding-top: 21px;
    display: block;
    text-decoration: none;
    border-bottom: 1px solid #d6d6d6;
}

.table_List__itemnlinks:last-child {
    border-bottom: none;
}


.renovation_texts{width:100%;}
.renovation_texts th,.renovation_texts td{border: 1px solid #ccc;
	padding: 6px 16px;
text-align:left;
}
.renovation_texts.notes{border:none;}

.renovation_texts tr td{width:40%;}
.renovation_texts tr th:first-child{width:20%;}


/**** moddal
 * ******************************/
@media screen and (max-width: 750px) {
.modaal-content-container td{width:100%;display:block;}
	.modaal-content-container td:first-child{border-bottom:none;}
		.modaal-content-container td:last-child{border-top:none;}
}



/*** TAB
 * *****************************/
.tab-area{
width: 100%;
margin: 0 auto;
}
.tab-area p{padding:16px;margin-bottom: 0;}
.tab-btn{
display:none; /*タブの切り替えを制御するラジオボタンを非表示に*/
}
.tab-list-wrap{
padding:0; /*デフォルトの値をクリア*/
margin: 0; /*デフォルトの値をクリア*/
list-style-type:none; /*デフォルトの値をクリア*/
display:flex; /*ボタンを横並びに*/
justify-content:flex-start; /*ボタンを横幅いっぱいに配置*/
}
.tab-list-wrap li{width:20%;}
.tab-list{
display:block;
width:100%;
padding: 8px 0;
text-align:center;
border-bottom:1px solid #292c32;
border-left:1px solid #292c32;
border-right:1px solid #292c32;
border-radius:  0 0 36px 6px;
background: #000;
	color: #FFF;
box-sizing:border-box; /*borderの値を横幅に含める*/
cursor:pointer; /*オンマウス時にカーソルを指の形に*/
}
 
#tab-btn1:checked ~ .tab-list-wrap #tab-list1,
#tab-btn2:checked ~ .tab-list-wrap #tab-list2,
#tab-btn3:checked ~ .tab-list-wrap #tab-list3,
#tab-btn4:checked ~ .tab-list-wrap #tab-list4,
#tab-btn5:checked ~ .tab-list-wrap #tab-list5{
background:#ffffff; /*対応するボタンにチェックが入ったときに背景を#ffffff（白）に*/
}
.tab-content{
padding:0;
border-top:1px solid #292c32;
	border-left:1px solid #292c32;
border-right:1px solid #292c32;
display:none; /*初期状態を非表示に*/
}
#tab-btn1:checked ~ .tab-content-wrap #tab-content1,
#tab-btn2:checked ~ .tab-content-wrap #tab-content2,
#tab-btn3:checked ~ .tab-content-wrap #tab-content3,
#tab-btn4:checked ~ .tab-content-wrap #tab-content4,
#tab-btn5:checked ~ .tab-content-wrap #tab-content5{
display: block;/*対応するボタンにチェックが入ったときに表示*/
}
.main_image{
	background:#000;
	width:100%;
	aspect-ratio:3 /2;overflow:hidden;position:relative;}
.main_image img{ 
	width:100%;
	max-width:inherit;
	height: 100%;
   object-fit: contain;
}

.main_image p{
	display:inline-block;
	background:rgb(0 0 0 / 50%);
	color:#fff;
	position:absolute;
	bottom:0;
	right:0;
	padding:3px 8px;
	font-size: 8px;
}


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

.center_contents {
    padding: 30px;
}

.bg_gray {
    background: rgb(243 243 243 / 90%);
}

.btn_area {
    margin-bottom: 5px;
}

a.btn__Link {
    display: inline-block;
    padding: 16px 32px;
    text-align: center;
    margin-top: 32px;
    -webkit-box-shadow: 3px 3px 10px #d1d7e8, -3px -3px 10px #fff;
    box-shadow: 3px 3px 10px #d1d7e8, -3px -3px 10px #fff;
    font-size: 1.1rem;
    line-height: 1.3;
    font-weight: 600;
    text-align: center;
    width: auto;
    height: 55px;
    color: #333;
    text-decoration: none;
    font-weight: normal;
    border-radius: 25px;
    background: #fff;
}

a.more-btn{display: inline-block;
    padding: 16px 32px;
    text-align: center;
    margin-top: 32px;font-size: 1.5rem;
    line-height: 1.1;
    color: #333;
    text-align: center;
    width: auto;
    height: 60px;
    text-decoration: none;
    font-weight: bold;
    border-radius: 2;
    background: #FFF;
border:1px solid #ccc;}

a.btn__Link__square {
    display: inline-block;
    padding: 16px 32px;
    text-align: center;
    margin-top: 32px;
    -webkit-box-shadow: 3px 3px 10px #d1d7e8, -3px -3px 10px #fff;
    box-shadow: 3px 3px 10px #d1d7e8, -3px -3px 10px #fff;
    font-size: 1.5rem;
    line-height: 1.1;
    color: #fff8f8;
    font-weight: 600;
    text-align: center;
    width: auto;
    height: 60px;
    color: #333;
    text-decoration: none;
    font-weight: bold;
    border-radius: 2;
    background: #FFF;
}

@media (max-width: 768px) {
    a.btn__Link__square {
        line-height: 1.6;
    }
}

a.btn__Link_FF {
    display: inline-block;
    padding: 16px 32px;
    text-align: center;
    margin-top: 32px;
    -webkit-box-shadow: 3px 3px 8px #f1e7ed, -3px -3px 8px #d1d7e8;
    box-shadow: 3px 3px 8px #f1e7ed, -3px -3px 8px #d1d7e8;
    font-size: 1.1rem;
    line-height: 1.3;
    color: #fff8f8;
    font-weight: 600;
    text-align: center;
    width: auto;
    height: 55px;
    color: #333;
    text-decoration: none;
    font-weight: normal;
    border-radius: 25px;
}

a.btn__Link:hover {
    background: #ccc;
}


a.btn__Link_FF:hover {
    background: #FFF;
    -webkit-box-shadow: 3px 3px 10px #d1d7e8, -3px -3px 10px #f1e7ed;
    box-shadow: 3px 3px 10px #d1d7e8, -3px -3px 10px #f1e7ed;
}


/***   other page
********************************************************************************/

.kakomi_list__area{max-width: 800px;margin:60px auto;z-index: 2;}
.kakomi_list__line{display: -webkit-box;display: -ms-flexbox;display: flex;-ms-flex-wrap: wrap;flex-wrap: wrap;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-ms-flex-line-pack: start;align-content: flex-start;    background: rgb(255 255 255 / 90%);
    -webkit-box-shadow: 3px 3px 8px #f1e7ed, 3px 3px 8px #bfaaaa;
    box-shadow: 3px 3px 8px #f1e7ed, 3px 3px 8px #bfaaaa;margin-bottom: 32px;padding: 3%;
-webkit-box-pack:justify;
-ms-flex-pack:justify;
justify-content:space-between;}
.kakomi_list__number{font-size: 6em;width: 15%;text-align: center;text-shadow: 0px 2px 2px rgba(148,50,50,0.3), 1px 3px 5px rgba(84,84,84,0.3);}
.kakomi_list__content{width: 80%;}
.kakomi_list__title{font-size: 1.4rem;
    margin-bottom: 1.5rem;
    font-weight: 700;
    line-height: 1.5;
    padding-bottom: 8px;
border-bottom: 2px solid #425a70 ;}

.kakomi_list__title_center{font-size: 1.4rem;
    margin-bottom: 1.5rem;
    font-weight: 700;
    line-height: 1.5;
    padding-bottom: 16px;
border-bottom: 2px solid #00004c ;
    margin:0  auto 40px;
text-align: center;}
.kakomi_list__line_in{display: -webkit-box;display: -ms-flexbox;display: flex;-ms-flex-wrap: wrap;flex-wrap: wrap;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-ms-flex-line-pack: start;align-content: flex-start;    background: rgb(255 255 255 / 90%);
    -webkit-box-shadow: 3px 3px 8px #f1e7ed, 3px 3px 8px #bfaaaa;
    box-shadow: 3px 3px 8px #f1e7ed, 3px 3px 8px #bfaaaa;margin-bottom: 32px;padding: 5%;
-webkit-box-pack:justify;
-ms-flex-pack:justify;
justify-content:space-between;}

.kakomi_list__dsc{font-size: 1.2em;
    line-height: 1.7;}

.number_list li{padding: 8px 0;}
.bottom_line_dash{border-bottom: dashed 1px #ccc;}

@media (max-width:640px) {
    .kakomi_list__number{width: 100%;text-align: left;font-size: 3.2em;}
    .kakomi_list__content{width: 100%;}
    .kakomi_list__dsc{font-size: 1em;}
    .number_list{padding-left: 1.2em;}
}



/***   case index
*********************************************************************************/

.p-result__casearea {
    margin: 60px auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media (max-width: 768px) {
    .p-result__casearea {
        -ms-flex-pack: distribute;
        justify-content: space-around;
    }
}

.p-result__casearea a {
    color: #212529;
}

.case_box {
    width: 24%;
    padding: 1%;
    -webkit-box-shadow: 0px 10px 12px 2px rgba(4, 10, 51, 0.1);
    box-shadow: 0px 10px 12px 2px rgba(4, 10, 51, 0.1);
    line-height: 1.8;
    margin-bottom: 2rem;
}


@media (max-width: 480px) {
    .case_box {
        width: 100%;
        margin-bottom: 3rem;
        padding: 4%;
    }

    .case_box:last-child {
        margin-bottom: 0;
    }
}

.case_box a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-line-pack: justify;
    align-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    text-decoration: none;
}

.case_box img {
    max-width: 100%;
    margin-bottom: 16px;
}

.case_box h3 {
    font-size: 0.9rem;
    height: 6rem;
    overflow: hidden;
}

@media (max-width: 480px) {
    .case_box h3 {
        font-size: 1rem;
        height: 5rem;
        overflow: hidden;
    }
}

.bottom_logo {
    width: 100%;
}

.bottom_logo img {
    max-width: 100%;
    height: auto;
}

@media (max-width: 480px) {
    .bottom_logo img {
        max-width: 80%;
        height: auto;
        margin: auto;
        display: block;
    }
}


.p-issue__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 880px;
    margin-top: 60px;
}

.p-result__logoarea {
    max-width: 1000px;
    margin: 60px auto 0;
    padding-bottom: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.p-result__logoarea img {
    width: 30%;
    height: auto;
    margin: 24px 0;
}




/*** case index
*********************************************************************************/
.case_study {
    overflow: hidden;
}

.case_index {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-top: 24px;
}

@media screen and (max-width:770px) {
    .case_index {
        margin-top: 6vw;
    }
}

.layout__left.case .v_line {
    margin-left: 60%;
    margin-bottom: 0;
}

@media screen and (max-width: 750px) {
    .layout__left.case .v_line {
        margin-left: 0;
    }
}

article {
    width: 32%;
    padding: 1.7%;
    background: #FFF;
    text-align: left;
    -webkit-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .1);
    box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .1);
	margin-bottom: 32px;
	align-self: stretch;
	margin-right: 1%;
}

@media screen and (max-width:770px) {
    article {
        width: 100%;
        margin-bottom: 12vw;
        padding: 3.7%;
    }
}

article .thumbnail{
	position: relative;
  padding-top: calc( 100% * 2 / 3 );
}
article img{height:auto;}
article .thumbnail>img{position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

article a {
    text-decoration: none;
}


.text__title {
    font-size: 1.6em;
    margin-top: 8px;
    margin-bottom: 8px;
}



.text__dec {
    line-height: 1.6;
}

.case__logo {
    margin: 1.8rem 0 .8rem;
    text-align: center;
}

.case__logo img {
    max-width: 80%;
}

.text__title_top {
    font-size: 1.6em;
    margin-top: 18px;
    margin-bottom: 18px;
    line-height: 1.5;
}

@media screen and (max-width: 800px) {
    
.text__title_top {
    font-size: 1.25em;
    margin-top: 8px;
    margin-bottom: 10px;
}
}


.case_index.pages article {
    width: 97%;
    padding: 1.5%;
    background: #FFF;
    text-align: left;
    -webkit-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .1);
    box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .1);
    margin-bottom: 32px;
}


.case_index.pages article:nth-child(even) {
    margin-bottom: 32px;
    margin-top: auto;
}

.case_index.pages article a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}



.case_index.pages .thumbnail {
    width: 40%;
}

.case_index.pages .text__area {
    width: 58%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-line-pack: justify;
    align-content: space-between;
}

.case_index.pages .case__logo {
    max-width: 300px;
    margin: auto;
    padding-top: 30px;
}


@media screen and (max-width: 800px) {
    .case_index.pages article {
        width: 100%;
    }

    .case_index.pages article a {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 3%;
    }

    .case_index.pages .thumbnail {
        width: 100%;
    }

    .case_index.pages .text__area {
        width: 100%;
    }
}

.case_page p {
    line-height: 1.5;
    font-size: 1.2em;
}

.case_page .contents_title {
    z-index: 2;
    line-height: 1.6;
}

.name {
    font-weight: 700;
}


.tags_area{display:flex;margin-bottom:32px;}
.tags_area li{margin-right:8px;}

.single_thumbnail{
	position: relative;
  padding-top: calc( 100% * 2 / 3 );
}
article img{height:auto;}
.single_thumbnail>img{position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}



/** bottom link
***************************************************************/
.bottom_area__contact {
    background-image: url(image/img_bottom2.jpg);
    background-position: center;
    background-size: cover;
    padding: 5%;

}

@media screen and (max-width:750px) {
    .bottom_area__contact {
        padding: 10% 5%;
    }
}

.flex_innner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-width: 1080px;
    margin: auto;
}

.bottom_area_inner {
    width: 45%;
    background: #FFF;
    padding: 3% 2%;
    text-align: center;
    font-size: 1.2em;
    font-weight: bold;
    border-radius: 4px;
    -ms-flex-line-pack: justify;
    align-content: space-between;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    /* text-align: center; */
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.bottom_area_inner p{width: 100%;}


@media screen and (max-width: 750px) {
    .flex_innner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .bottom_area_inner {
        width: 100%;
        margin-bottom: 32px;
    }

    .bottom_area_inner:last-child {
        margin-bottom: 0;
    }

    .bottom_area_inner p {
        font-size: .8em;
    }
}

.bottom_area__link {
    text-decoration: none;
    font-size: 1.5em;
    background: #eee;
    width: 90%;
    display: block;
    border-radius: 4px;
    margin: auto;
}

.btn_contect {
    background: #d7003a;
    color: #FFF;
}

.btn_recruit {
    background: #00004c;
    color: #FFF;
}

/** footer
***************************************************************/

.totop{text-decoration: none;display:inline-block;padding:4px 8px;position:fixed;right:2%; bottom:12%;z-index:999;}

footer {
    background: #000;
    width: 100%;
    height: auto;
    padding: 30px 0 0;
}


.footer_area {
    max-width: 1080px;
    margin: 30px auto 0;
}

@media screen and (max-width: 1080px) {
    .footer_area {
        padding: 0 40px;
    }
}

@media screen and (max-width: 800px) {
    .footer_area {
        padding: 0 5%;
		margin-bottom:0;
    }
}

.footer_inner{display: flex;
    justify-content: space-between;
}
@media screen and (max-width: 800px) {
	.footer_inner{display:block;
}
}

.footer__menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    justify-content:flex-end;
	width:80%;
}
@media screen and (max-width: 800px) {
	.footer__menu {
		width:100%;
	}
}

ul.footer {
	color:#FFF;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-top: 32px;
}

@media screen and (max-width: 800px) {
    ul.footer {
        width: 100%;
        margin-bottom: 2rem;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
}

ul.footer li a {
    display: block;
    text-decoration: none;
    font-weight: 700;
	padding:0 20px 0;
}

@media screen and (max-width: 800px) {
    ul.footer li a {
        padding: 0 16px 0 0;
    }
}

dl.footer {
    font-size: 12px;
    line-height: 1.4;
    display: inline-block;
}

dl.footer dt {
    margin-bottom: 16px;
}

.footer__bottom {
    width: 100%;
    max-width: 1080px;
    padding: 24px 0;
    font-size: 9px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
	color: #FFF;
}

.footer__bottom a {
    margin-right: 24px;
}

@media screen and (max-width: 800px) {
    .footer__bottom a {
        margin-right: 0;
        margin-left: 24px;
    }

}

/** フォーム類************/

input[type="text"],
input[type="email"],
select,
textarea{
border:1px solid #dcdcdc;
width:100%;
padding:5px;
-webkit-box-sizing:border-box;
box-sizing:border-box;
}
input[type="checkbox"]{
border:2px solid #dcdcdc !important;
width:16px;
height:16px;
line-height:30px;
}
input[type=checkbox]:checked {
width:16px;
height:16px;
padding:2px;
border:2px solid #dcdcdc;
background:#09f;
}
.mwform-radio-field label,
.mwform-checkbox-field label{
line-height:25px !important;
}
.mw_wp_form .horizontal-item + .horizontal-item{
margin:0 !important;
}
input[type=radio]{
position:relative;
top:3px;
border:1px solid #dcdcdc;
width:16px;
height:16px;
margin:0 5px 0 0;
line-height:30px;
}
input[type=radio]:checked{
border:1px solid #dcdcdc;
width:16px;
height:16px;
background:#62b2d7;
}
input[type=checkbox]{
position:relative;
top:2px;
border:1px solid #dcdcdc;
width:16px;
height:16px;
margin:0 5px 0 0;
line-height:30px;
}

.form label{
margin-right:20px;
vertical-align:middle;
display:inline-block;
}
.mwform-tel-field input[type=text]{
width:20%;
}


#form_btn {
margin:0 auto;
display:inline-block;
}
#form_btn li {
display:inline-block;
        text-align: center;
}

.mw_wp_form_confirm .fbtn input:hover,
.mw_wp_form_input .fbtn input:hover,
#submitback input:hover{
background:#5b2f0b;
color:#fff;
}

.mw_wp_form_input .fbtn input {
width:250px;
height:50px;
overflow:hidden;
border:none;
cursor:pointer;
background:#fff;
color:#ac9582;
border:2px solid #5b2f0b;
font-size:16px;
-webkit-transition:all 0.3s;
transition:all 0.3s;
font-weight:bold;
}
.mw_wp_form_confirm .fbtn input {
width:250px;
height:50px;
overflow:hidden;
cursor:pointer;
background:#fff;
border:2px solid #5b2f0b;
color:#5b2f0b;
font-size:16px;
-webkit-transition:all 0.3s;
transition:all 0.3s;
font-weight:bold;
}
#submitback input {
width:80px;
height:50px;
overflow:hidden;
border:none;
cursor:pointer;
margin-right:10px;
background:#fff;
border:2px solid #5b2f0b;
color:#5b2f0b;
font-size:16px;
-webkit-transition:all 0.3s;
transition:all 0.3s;
font-weight:bold;
}
[type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled), button:not(:disabled) {
    cursor: pointer;
    background:  #5b2f0b;
    padding: 6px 16px;
}

.hissu {
    margin-top: 5px;
    font-size: 10px;
    line-height: 20px;
    padding: 0 5px;
    color: #fff;
    background: #cc2728;
    float: right;
    display: inline-block;
}

.chu {
    display: inline-block;
    font-size: 10px;
    color: #666;
    margin-left: 15px;
}
/***サーチ
 * *************************/
.searchandfilter p{
    display:block;
}
.searchandfilter ul{
    display:block;
}
.searchandfilter li{
    list-style: none;
    display:block !important;
}

.searchandfilter li li{
    list-style: none;
    display: inline-block !important;
}
.widget-area .searchandfilter li, .widget-area .searchandfilter p{
    display:block;
}
.children .cat-item{border-top:2px solid #eee;}
.children .cat-item .cat-item{border-top:none;}
.searchandfilter{}

/** Utility
***************************************************************/
.u-fs-2em {
    font-size: 2em;
}

.u-fs-1_9em {
    font-size: 1.9em;
}

.u-fs-1_8em {
    font-size: 1.8em;
}

.u-fs-1_7em {
    font-size: 1.7em;
}

.u-fs-1_6em {
    font-size: 1.6em;
}

.u-fs-1_5em {
    font-size: 1.5em;
}

.u-fs-1_4em {
    font-size: 1.4em;
}

.u-fs-1_3em {
    font-size: 1.3em;
}

.u-fs-1_2em {
    font-size: 1.2em;
}

.u-fs-1_1em {
    font-size: 1.1em;
}

.u-fs-1em {
    font-size: 1em;
}

.u-fs-09em {
    font-size: .9em;
}

.u-fs-08em {
    font-size: .8em;
}

.u-fs-07em {
    font-size: .7em;
}

.u-fs-06em {
    font-size: .6em;
}

.u-fs-05em {
    font-size: .5em;
}

.u-lh--2 {
    line-height: 2;
}

.u-mt-80 {
    margin-top: 80px;
}

.u-mt-63 {
    margin-top: 63px;
}

.u-mt-56 {
    margin-top: 56px;
}

.u-mt-48 {
    margin-top: 48px;
}

.u-mt-40 {
    margin-top: 40px;
}

.u-mt-24 {
    margin-top: 24px;
}

.u-mt-20 {
    margin-top: 20px;
}

.u-mt-24 {
    margin-top: 24px;
}

.u-mt-16 {
    margin-top: 16px;
}
.u-mt-32 {
    margin-top: 32px;
}
.u-mt-8 {
    margin-top: 8px;
}

.u-mt-0 {
    margin-top: 0;
}

.u-mb-32 {
    margin-bottom: 32px;
}

.u-mb-64 {
    margin-bottom: 64px;
}

.u-mb-80 {
    margin-bottom: 80px;
}

.u-mb-0 {
    margin-bottom: 0px;
}

.u-pd_0,.u-pd-0 {
    padding-bottom: 0;
}

.u-pt_0,.u-pt-0 {
    padding-top: 0;
}

.u-min-h-200 {
    min-height: 200px;
}

.u-over__hidden {
    overflow: hidden;
}

.text__center {
    text-align: center;
}

.text__left {
    text-align: left;
}

.text__right {
    text-align: right;
}

.dash {
    letter-spacing: -2px;
    margin-right: 4px;
}

.bold {
    font-weight: 700;
}

.u-c-red {
    color: #d7003a;
}

.u-c-blue{
    color: #425a70;
}

.u-c-fff {
    color: #fff;
}

strong{font-weight: bold;}


.ds_frame {
    padding: 2%;
    background: #FFF;
    text-align: left;
    -webkit-box-shadow: 0 5px 10px 0 rgb(0 0 0 / 10%);
    box-shadow: 0 5px 10px 0 rgb(0 0 0 / 10%);
}


.u-min-h120{ min-height: 120px;}

/* media Query
========================================================= */
@media screen and (max-width: 899.9px) {
    .u-pconly {
        display: none !important;
    }
}

@media screen and (min-width:900px) {
    .u-sponly {
        display: none !important;
    }

}

@media screen and (max-width:889px) {
    .hd__navigation {
        display: none !important;
    }
}


@media screen and (min-width: 890px) {

    .u-sponly__nav {
        display: none !important;
    }
}

/*
@media screen and (max-width:1199px) {
    .hd__navigation {
        display: none !important;
    }
}


@media screen and (min-width: 1200px) {
    
    .u-sponly__nav {
        display: none !important;
    }
}*/