html {
    overflow-x: hidden;
}


body{
	background:#fff;
	padding:0;
	margin:0;
	color:#333;
	font-size:22px;
	line-height:180%;
	overflow-x:hidden;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0.75px;
}

header, .firstview, .bg_beige, .flowArea{
    background: #f3f1eb;
}




/******  共通  *****/

.width1000 {
    max-width: 1000px;
    width: 100%;
    padding: 0 15px;
    margin: 0 auto;
    box-sizing: border-box;
}

.width1200 {
    max-width: 1200px;
    width: 100%;
    padding: 0 15px;
    margin: 0 auto;
    box-sizing: border-box;
}

.width1300 {
    max-width: 1300px;
    width: 100%;
    padding: 0 15px;
    margin: 0 auto;
    box-sizing: border-box;
}

.width48per {
    width: 48%;
}

Img{
	vertical-align:top;
	width:auto;
	max-width:100%;
}

ul{
	padding:0;
	margin:0;
}

Li{
	list-style-type:none;
}

.flexArea {
    display: flex;
    flex-wrap: wrap;
}

.space_between {
    Justify-content:space-between;
}
.item-center{
	align-items:center;
}

.width55per {
    width: 55%;
}

.width45per {
    width: 45%;
}

.width43per {
    width: 43%;
}

.width30per {
    width: 30%;
}

.s_txt {
    font-size: 18px;
}

.center{
	text-align:center;
}

/******  header  *****/

.header_inner {
    padding: 1.5rem 0;
}


/******  コンテンツ  *****/


.aboutArea{
	padding:5rem 0;
}

ul.size_gallery li{
 	width:32.5%;
}

.body_txt {
    text-align: center;
    font-size: 22px;
    line-height: 200%;
    Margin-bottom:5rem;
}

.border_ttl {
    color: #89806f;
    font-family: serif;
    font-weight: normal;
    font-size: 2.5rem;
    max-width: 592px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    position: relative;
    letter-spacing: 5px;
}

.border_ttl:before, .border_ttl:after {
    content: "";
    background: #89806f;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.border_ttl:before {
    width: 1px;
    height: 33%;
}

.border_ttl:after {
    width: 100%;
    height: 1px;
}

.border_ttl_inner {
    padding-top: 2rem;
    padding-bottom: 2rem;
    position: relative;
}

.border_ttl_inner:before, .border_ttl_inner:after {
    content: "";
    background: #89806f;
    display: block;
    position: absolute;
    Bottom: 0;
    Right: 0;
}

.border_ttl_inner:before {
    width: 1px;
    height: 33%;
}

.border_ttl_inner:after {
    width: 100%;
    height: 1px;
}


span.note_txt {
    display: inline-block;
    margin-left: 10px;
    position: relative;
}

span.note_txt:after {
    content: "※";
    font-size: 20px;
    position: absolute;
    top: -1.5rem;
    left: -1rem;
}

h3.border_ttl {
    margin: 3rem auto;
}

.size_catch {
    font-size: 1.8rem;
    margin-bottom: 3.5rem;
}

.size_catch p{
    Margin:0;
}

.lifeArea {
    background: linear-gradient(to left, #e5e1d8, #f3f1eb);
    position: relative;
    margin-top: 12rem;
    Padding-top: 5rem;
    Padding-bottom: 6rem;
}

h2.life_h2{
    margin: 0;
    Text-align:center;
    position: absolute;
    top: -4rem;
    left: 50%;
    transform: translateX(-50%);
}

ul.life_list {
    max-width: 1000px;
    margin: 0 auto;
    width: 100%;
    padding: 0 15px;
    box-sizing: border-box;
}

.life_ttl {
    color: #a8a296;
    font-family: serif;
    text-align: center;
    letter-spacing: 5px;
    margin-bottom: 3rem;
    font-size: 2.8rem;
    line-height: 160%;
    Position:relative;
}

.life_ttl span {
    Display: block;
    letter-spacing: 3px;
    font-size: 2rem;
}

ul.life_list li {
    background: #fff;
    border-radius: 35px;
    padding: 3rem;
    margin-bottom: 3rem;
}

ul.life_list li:last-of-type {
    margin-bottom: 0;
}

.life_img{
    Position:relative;
}

.life_img h3 {
    Position: absolute;
    Top: 1.5rem;
    Left: 1.5rem;
    color: #fff;
    Font-family: serif;
    font-size: 38px;
    letter-spacing: 5px;
    margin: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.life_img h3:before {
    content: "";
    width: 9rem;
    height: 8.5rem;
    display: inline-block;
    margin-right: 1rem;
    background: url(../image/scene01.png);
    background-repeat: no-repeat;
    background-size: contain;
}

h2.life_h2:after {
    content: "";
    width: 21rem;
    height: 28rem;
    display: block;
    background-image: url(../image/img12.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: -4rem;
    right: -19rem;
}

.life_sttl {
    color: #89806f;
    font-family: serif;
    font-size: 30px;
    line-height: 160%;
    position: relative;
    padding-bottom: 1rem;
    position: relative;
    Margin-bottom:1.5rem;
}

ul.life_list li p {
    Margin-bottom: 0;
    font-size: 20px;
    line-height: 200%;
    letter-spacing: 2px;
}

.life_flex {
    margin-top: 2rem;
}

.life_sttl:after {
    content: "";
    width: calc(100% + 3rem);
    height: 1px;
    background: #e0dddc;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
}

.life_sttl:before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #e0dddc;
    display: block;
    position: absolute;
    bottom: -5px;
    left: -5px;
}

ul.life_list li:first-of-type .life_img img {
    border-radius: 35px 35px 0 0;
}

ul.life_list li:first-of-type .life_flex img {
    border-radius: 0 0 0 35px;
}

.life_img h3.scene02:before {
    background-image: url(../image/scene02.png);
}

ul.life_list li:nth-of-type(2) {
    display: flex;
    align-items: center;
    Justify-content:space-between;
}

ul.life_list li:nth-of-type(2) .life_img img {
    border-radius: 35px 0 0 35px;
}

.body_flex {
    margin-top: 5rem;
}

.body_flex .width45per {
    text-align: center;
}

.useArea h2.border_ttl, .flowArea h2.border_ttl{
    Margin-bottom: 5rem;
}


section.useArea {
    margin-top: 5rem;
}

.use_child {
    width: 50%;
    padding: 2rem 2rem 5rem 0;
    box-sizing: border-box;
    background:#edeae4;
}

.flexArea .use_child:first-of-type {
    Text-align:right;
    Position:relative;
}

.flexArea .use_child:first-of-type:after {
    content: "";
    width: 6rem;
    height: 6rem;
    display: block;
    position: absolute;
    top: 33%;
    right: -3rem;
    background-image: url(../image/or.png);
    background-size: contain;
    background-repeat: no-repeat;
}

.flexArea .use_child:nth-of-type(2) {
    padding: 2rem 0 5rem 2rem;
    background:#cec9c0;
}

.use_child h3 {
    background: #89806f;
    color: #fff;
    font-weight: normal;
    font-family: serif;
    font-size: 30px;
    letter-spacing: 3px;
    padding: 0.5rem;
    margin: 0 0 1.5rem;
}

.flexArea .use_child:first-of-type h3 {
    Text-align:right;
    padding-right: 1.5rem;
}

.flexArea .use_child:nth-of-type(2) h3 {
    Padding-left: 1.5rem;
}

.use_childBox {
    max-width: 452px;
    width: 100%;
    margin: 0 0 0 auto;
}

.flexArea .use_child:nth-of-type(2) .use_childBox {
    margin: 0 auto 0 0;
}

.use_ttl {
    color: #89806f;
    font-family: serif;
    font-size: 34px;
    letter-spacing: 3px;
    line-height: 180%;
    margin: 1.5rem 0;
}

.use_txt {
    text-align: left;
}

.use_txt p:last-of-type{
    Margin-bottom:0;
}

.use_txt p {
    color: #605a4f;
    font-size: 24px;
    letter-spacing: 2px;
    line-height: 160%;
}

.use_txt p.s_txt {
    font-size: 16px;
    letter-spacing: 1px;
    color: #333;
}

.flow_main {
    margin-bottom: 5rem;
}

.flow_box {
    background: #fff;
    border-radius: 35px;
    padding: 7rem 5rem;
}

.flow_child {
    max-width: 825px;
    width: 100%;
    margin: 0 auto 8rem;
}

.flow_box .flow_child:last-of-type {
    margin: 0 auto 0;
}

.flow_child h3 {
    background: #f3f1eb;
    border-radius: 100px;
    color: #89806f;
    font-family: serif;
    font-weight: normal;
    font-size: 30px;
    text-align: center;
    max-width: 320px;
    margin: 0 auto 2.5rem;
    letter-spacing: 3px;
    padding: 0.8rem;
}

.flow_child ul li{
    Display:flex;
    Flex-wrap:wrap;
    Margin-bottom:1.5rem;
}

.flow_child ul li:last-of-type{
    Margin-bottom:0;
}

.flow_child ul li:before {
    content: "";
    width: 4rem;
    height: 3.8rem;
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    Background-image:url(../image/num01.png);
   Margin-right:1rem;
}

.flow_child ul li:nth-of-type(2):before {
    Background-image:url(../image/num02.png);
}

.flow_child ul li:nth-of-type(3):before {
    Background-image:url(../image/num03.png);
}

.flow_child ul li p {
    margin: 0;
    font-size: 22px;
    line-height: 200%;
    Width:calc(100% - 5rem);
    margin-top: 0.5rem;
}

.flow_child ul {
    max-width: 760px;
    width: 100%;
    margin: 2rem auto 0;
}

.flow_box .flow_child:first-of-type ul li.flow_subimg:after {
    Content: "";
    width: 11.5rem;
    height: 11.5rem;
    display: block;
    background-image: url(../image/img17.png);
    background-repeat: no-repeat;
    background-size: contain;
    Position:absolute;
    top: -2rem;
    right: 0;
}

.flow_box .flow_child:first-of-type ul li.flow_subimg{
    Padding-right:11.5rem;
    Position:relative;
    box-sizing: border-box;
}

.flow_main img{
    Width:100%;
}

.imgBox img {
    width: 100%;
}

.imgBox.aboutArea img {
    width: auto;
}

.flowArea {
    padding-bottom: 5rem;
}

.product_main {
    max-width: 1000px;
    width: 90%;
    margin: 3rem auto;
}

h2.normal_h2 {
    display: inline-block;
    border-bottom: 1px solid #89806f;
    padding-bottom: 1rem;
    margin: 0 0 2rem;
}

.productArea {
    padding: 5rem 0;
}

.normal_ttl {
    font-size: 34px;
    font-family: serif;
    letter-spacing: 3px;
    text-align: center;
    line-height: 150%;
}

.round_img img{
    Border-radius:35px;
}

ul.product_list li {
    background: #f3f1eb;
    border-radius: 35px;
    padding: 5rem 0;
    margin: 0 0 3rem;
}

.product_child {
    max-width: 1000px;
    margin: 0 auto;
    width: 90%;
}

.color_main img, .color_img img {
    width: 100%;
}

.color_main {
    margin-top: 3rem;
}

.product_subttl {
    font-size: 30px;
    font-family: serif;
    line-height: 180%;
    letter-spacing: 2px;
    margin-bottom: 1rem;
}

.product_txtBox h3 {
    margin: 0 0 2rem;
    font-family: serif;
    color: #603813;
    font-size: 37px;
    letter-spacing: 3px;
    line-height: 180%;
    font-weight: normal;
}

.product_txt p {
    font-size: 20px;
    Margin-top: 0;
}

.product_txt p:last-of-type {
    Margin-bottom: 0;
}

.product_txtBox {
    position: relative;
    padding-top: 9rem;
}

.product_txtBox:before, .product_txtBox:after{
    content: "";
    display: block;
    position: absolute;
    background-repeat: no-repeat;
    background-size: contain;
}

.product_txtBox:before {
    width: 7rem;
    height: 7rem;
    top: 0;
    left: 0;
    background-image: url(../image/num01.png);
}

.product_txtBox:after {
    width: 14rem;
    height: 2rem;
    top: 4rem;
    left: 8rem;
    background-image: url(../image/product.png);
    opacity: 0.3;
}

.product01_img {
    position: relative;
}

.product01_img:after {
    content: "";
    width: 16.5rem;
    height: 16.5rem;
    display: block;
    position: absolute;
    bottom: -3rem;
    right: -5rem;
    background-image: url(../image/img21.png);
    background-repeat: no-repeat;
    background-size: contain;
}

.voiceArea {
    background: #fff;
    border: 1px solid #89806f;
    max-width: 1150px;
    width: 100%;
    margin: 4rem -20px 0 auto;
    position: relative;
    Padding:1rem;
    box-sizing: border-box;
}


.voiceArea:after {
    content: "";
    border: 11px solid transparent;
    border-top-color: #565149;
    border-left-color: #565149;
    display: block;
    width: 0px;
    height: 0px;
    position: absolute;
    right: 0;
    bottom: -23px;
}

.voice_inner {
    max-width: 1000px;
    margin: 0 auto;
    width: 100%;
    Display:flex;
    Flex-wrap:wrap;
    align-items:center;
}

.voice_ttl {
    font-size: 24px;
    color: #89806f;
    font-family: serif;
    border-right: 1px solid #89806f;
    padding: 0.5rem;
    width: 200px;
    letter-spacing: 3px;
    box-sizing: border-box;
}


.voice_txt {
    width: calc(100% - 200px);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 2rem;
}

.voice_icon {
    height: 7rem;
    width: 7rem;
}

.voice_txt p {
    width: calc(100% - 8.5rem);
    box-sizing: border-box;
    margin: 0;
    color: #603813;
    font-size: 20px;
    letter-spacing: 3px;
    line-height: 180%;
    font-family: "Sawarabi Mincho";
}


ul.product_list li:nth-of-type(2) .product_txtBox:before {
    background-image: url(../image/num02.png);
}


ul.product_list li:nth-of-type(3) .product_txtBox:before {
    background-image: url(../image/num03.png);
}


ul.product_list li:nth-of-type(4) .product_txtBox:before {
    background-image: url(../image/num04.png);
}

ul.product_list li:nth-of-type(2) .product_txtBox, ul.product_list li:nth-of-type(4) .product_txtBox {
    Display:flex;
    Flex-wrap:wrap;
    Justify-content:space-between;
    align-items: end;
    Margin-bottom:3rem;
}

ul.product_list li:nth-of-type(2) .product_txtBox h3{
    width:48%;
    Margin-bottom:0;
}

ul.product_list li:nth-of-type(4) .product_txtBox h3{
    width:60%;
    Margin-bottom:0;
}

ul.product_list li:nth-of-type(2) .product_txtBox .product_txt{
    width:48%;
    Text-align:right;
}

ul.product_list li:nth-of-type(4) .product_txtBox .product_txt{
    width:40%;
    Text-align:right;
}

ul.product_list li:nth-of-type(3){
    Position:relative;
}

ul.product_list li:nth-of-type(3):after {
    Content: "";
    width: 56%;
    height: 36rem;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    background-image: url(../image/img24.png);
    background-repeat: no-repeat;
    background-size: contain;
}

.infoArea {
    background: #f5f5f5;
}

.info_mainBox {
    text-align: center;
    margin-bottom: 6rem;
}

.infoArea {
    padding: 8rem 0;
}

.info_mainBox h2 {
    margin: 0 0 3rem;
}

ul.info_gallery {
    width: 55%;
    display: flex;
    flex-wrap: wrap;
    justify-content:space-between;
}

ul.info_gallery li {
    width: 49%;
    margin-bottom: 2%;
}

.info_subimg {
    width: 40%;
    text-align: right;
} 

.item_start{
    align-items: flex-start;
}

.info_main {
    position: relative;
}

.info_main:after {
    content: "";
    width: 26rem;
    height: 31rem;
    display: block;
    background-image: url(../image/img27.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -3rem;
    left: -3rem;
}

.colorArea {
    margin-top: 8rem;
}

.info_txtArea {
    background: #fff;
    display: flex;
    flex-wrap: wrap;
    align-items:center;
    padding: 1.5rem 0.5rem;
    margin-top:1.5rem;
}


.info_txt_left {
    width: 320px;
    color: #91897b;
    font-family: serif;
    border-right: 1px solid #91897b;
    text-align: center;
    font-size: 30px;
    padding:0.5rem;
    Box-sizing:border-box;
}

.info_txt_left span {
    Color: #fff;
    Display: inline-block;
    Background: #91897b;
    font-size: 25px;
    border-radius: 10px;
    margin-bottom: 0.5rem;
    line-height: 150%;
    width: 170px;
}

.info_txt_right {
    width: calc(100% - 320px);
    box-sizing: border-box;
    padding: 0.5rem 2.5rem;
    font-size: 20px;
}

.info_txt_right img {
    display: inline-block;
    margin-right: 5px;
}

.info_childBox {
    border: 2px solid #a8a296;
    margin-top: 7rem;
}

.info_child_ttl {
    background: #a8a296;
    text-align: center;
    position:relative;
}

.info_child_ttl h3 {
    color: #fff;
    margin: 0;
    font-size: 36px;
    letter-spacing: 2px;
    font-weight: normal;
    line-height: 160%;
    font-family: serif;
    padding: 2.5rem 1rem 1rem;
}

.info_subttl {
    font-size: 25px;
    color: #a8a296;
    background: #fff;
    border: 1px solid #a8a296;
    border-radius: 100px;
    display: inline-block;
    padding: 0.5rem;
    position: absolute;
    top: -2rem;
    left: 50%;
    transform: translateX(-50%);
    letter-spacing: 2px;
    max-width: 570px;
    width: 90%;
}

.info_childBox ul {
    padding: 2.5rem 1.5rem;
    Max-width: 1200px;
    Width: 100%;
    Margin: 0 auto;
    Box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}


.info_childBox ul li {
    width: 48%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.info_child_img {
    width: 50%;
}

.info_child_txt {
    width: 46%;
    padding-top: 1.5rem;
}

.info_child_txt h4 {
    font-size: 26px;
    font-family: serif;
    margin: 0 0 1rem;
    position:relative;
    padding-bottom: 0.5rem;
}

.info_child_txt h4:after {
    content: "";
    width: 100%;
    height: 1px;
    background: #89806f;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
}

.info_child_txt h4:before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #89806f;
    display: block;
    position: absolute;
    bottom: -5px;
    left: -5px;
}

.info_child_txt p {
    font-size: 18px;
    line-height: 180%;
    margin: 0;
}

.date_box {
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
    background: #fff;
    position: relative;
}

.dateArea {
    Margin-top:5rem;
}

.dateArea .bg_beige {
    padding-top: 8rem;
    padding-bottom: 5rem;
}

.date_ttl {
    position: absolute;
    top: -3rem;
    left: 50%;
    transform: translateX(-50%);
}

.date_inner {
    padding-top: 8rem;
    padding-bottom: 5rem;
}

.date_img {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 2rem;
}

.date_img_left {
    width: 58%;
}

.date_img_right {
    width: 40%;
    text-align: center;
}

.date_info {
    text-align: center;
    font-size: 22px;
}

table.date_table {
    margin-top: 3rem;
    max-width: 858px;
    width: 100%;
    margin: 3rem auto 0;
    border: none;
    border-spacing: 0;
    Border-top: 1px solid #ccc;
}

table.date_table th, table.date_table td {
    box-sizing: border-box;
    padding: 1rem 2rem;
    border-bottom: 1px solid #ccc;
}


table.date_table th {
    background: #f5f5f5;
    font-size: 18px;
    font-weight: normal;
    vertical-align: middle;
    width: 170px;
}

table.date_table td {
    width: calc(100% - 170px);
    font-size: 17px;
    line-height: 180%;
    vertical-align: middle;
}

table.date_table td ul li {
    list-style-type: disc;
}

.endArea {
    margin-top: 0;
}

.main_end img {
    width: 100%;
}

.footer_logo {
    text-align: center;
    margin: 3rem 0;
}

.copyright p {
    text-align: center;
    color: #a8a296;
    font-size: 12px;
}

.about_img_left {
    width: 45%;
}

.about_img_right {
    width: 55%;
    margin-bottom: 3rem;
}

.about_flex {
    align-items: flex-end;
}

.about_img {
    margin-top: -18rem;
    width: 80%;
}

.pc{display:block;}
.sp{display:none;}

.effect{
    Opacity:0;
}

.effect.active{
    animation: block_anime 1s ease 1 forwards;
}

ul.info_gallery li a {
    Transition:0.8s ease;
    Display:block;
}

ul.info_gallery li a:hover {
    opacity: 0.5;
}

ul.info_gallery li a img {
    width: 100%;
}

@keyframes block_anime{
	0%{opacity:0; transform:translatey(20px); }
	100%{opacity:1; transform:translatey(0); }
}

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

.about_img {
    margin-top: -13rem;
}

.body_txt {
    font-size: 20px;
}

h2.life_h2 {
    top: -3rem;
}

h2.life_h2:after {
    width: 18rem;
    height: 25rem;
    top: -4rem;
    right: -20rem;
}

.life_sttl {
    font-size: 28px;
}

ul.life_list li p {
    font-size: 18px;
}

.use_txt {
    padding-left: 1rem;
    padding-right: 1rem;
}

.use_ttl {
    font-size: 30px;
}

.use_txt p {
    font-size: 22px;
}

.product_subttl {
    font-size: 28px;
}

.product_txtBox h3 {
    font-size: 30px;
}

.product_txt p {
    font-size: 18px;
}

.voice_txt p {
    font-size: 17px;
}

.voice_ttl {
    font-size: 22px;
    Text-align:center;
}

.product01_img:after {
    width: 14.5rem;
    height: 14.5rem;
    bottom: -3rem;
    right: -3rem;
}

ul.product_list li {
    padding: 3rem 0;
}

.info_child_txt p {
    font-size: 16px;
}
}


@media only screen and (max-width:768px){
.pc{display:none;}
.sp{display: block;}


.header_inner img {
    width: 90px;
}

.header_inner {
    padding: 20px 0 0;
    text-align: center;
}

.about_img_left {
    width: 100%;
    max-width: 400px;
    margin: 0 auto 20px;
}

.about_img_right {
    width: 100%;
    margin-bottom: 0;
    max-width: 450px;
    margin: 0 auto;
}

.about_flex {
    align-items: flex-end;
    flex-direction: column;
    align-items: center;
}

.about_img {
    margin-top: -50px;
    width: 70%;
}

.width55per {
    width: 100%;
}

.width45per {
    width: 100%;
}

.body_flex {
    margin-top: 50px;
}

.body_txt {
    font-size: 15px;
    Margin-bottom: 30px;
    margin-top: 30px;
}

.body_flex .width45per img {
    max-width: 300px;
    margin: 0 auto;
    width: 60%;
}

.border_ttl_inner {
    padding-top: 15px;
    padding-bottom: 15px;
    line-height: 150%;
}

.border_ttl {
    font-size: 20px;
    max-width: 300px;
    width: 90%;
    letter-spacing: 3px;
}

span.note_txt:after {
    font-size: 12px;
    top: -14px;
    left: -10px;
}

span.note_txt {
    margin-left: 5px;
}

.size_catch {
    font-size: 16px;
    margin-bottom: 20px;
}

h3.border_ttl {
    margin: 40px auto 20px;
}

.s_txt {
    font-size: 12px;
    line-height: 150%;
}

.lifeArea {
    margin-top: 80px;
    Padding-top: 40px;
    Padding-bottom: 40px;
}

.life_ttl span {
    letter-spacing: 2px;
    font-size: 18px;
}

.life_ttl {
    letter-spacing: 2px;
    margin-bottom: 30px;
    font-size: 25px;
}

h2.life_h2 {
    top: -35px;
    Left:0;
    transform: translateX(0);
    padding: 0 30px;
}

ul.life_list li {
    border-radius: 25px;
    padding: 20px;
    margin-bottom: 30px;
}

.life_flex {
    margin-top: 20px;
}

.width43per {
    width: 100%;
}

ul.life_list li:first-of-type .life_img img {
    border-radius: 25px;
}

ul.life_list li:first-of-type .life_flex img {
    border-radius: 25px;
}

.life_sttl {
    font-size: 20px;
    Margin-bottom: 20px;
    Text-align:center;
}

ul.life_list li p {
    font-size: 15px;
    max-width: 300px;
    margin: 0 auto;
    width: 100%;
   Text-align:center;
}

.life_img h3:before {
    width: 55px;
    height: 55px;
    margin-right: 5px;
}

.life_img h3 {
    Top: 15px;
    Left: 15px;
    font-size: 25px;
    letter-spacing: 2px;
}

ul.life_list li:first-of-type .life_flex img {
    width: 250px;
    height: 250px;
    object-fit: cover;
    border-radius: 50%;
    margin: 0 auto 20px;
    display: block;
}

.life_img img {
    width: 100%;
    height: 360px;
    object-fit: cover;
}

ul.life_list li:nth-of-type(2) {
    flex-wrap: wrap;
}

ul.life_list li:nth-of-type(2) .life_img img {
    border-radius: 25px;
    display: block;
    margin-bottom: 20px;
}

.use_child {
    width: 100%;
    padding: 30px 20px 50px 0;
}

.flexArea .use_child:first-of-type:after {
    Display:none;
}

.use_txt {
    padding-left: 15px;
    padding-right: 10px;
}

.use_ttl {
    font-size: 22px;
    margin: 20px 0;
}

.use_child h3 {
    font-size: 24px;
    margin: 0 0 20px;
}

.use_txt p {
    font-size: 16px;
}

.use_txt p.s_txt {
    font-size: 12px;
    letter-spacing: 0.75px;
}

.flow_main {
    width: 100%;
    height: 400px;
}

.flow_main img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.flow_main {
    margin-bottom: 50px;
}

.useArea h2.border_ttl, .flowArea h2.border_ttl {
    Margin-bottom: 40px;
}

.flow_box {
    border-radius: 25px;
    padding: 30px 20px;
}

.flow_child h3 {
    font-size: 18px;
    max-width: 220px;
    margin: 0 auto 25px;
    letter-spacing: 2px;
    padding: 10px;
    line-height: 150%;
}

.flow_child ul li:before {
    width: 35px;
    height: 34px;
    Margin-right: 10px;
}

.flow_child ul li p {
    margin: 0;
    font-size: 15px;
    line-height: 180%;
    Width: calc(100% - 45px);
    margin-top: 0;
}

.flow_child ul li {
    Margin-bottom: 20px;
}

.flow_box .flow_child:first-of-type ul li.flow_subimg:after {
    width: 180px;
    height: 180px;
    Position: relative;
    top: 20px;
    right: -50%;
    transform: translateX(-50%);
}

.flow_box .flow_child:first-of-type ul li.flow_subimg {
    Padding-right: 0;
}

.flow_child {
    margin: 0 auto 60px;
}

.flowArea {
    padding-bottom: 50px;
}

h2.normal_h2 {
    margin: 0 0 20px;
    width: 60%;
}

.normal_ttl {
    font-size: 19px;
    letter-spacing: 1px;
}

.product_main {
    width: 100%;
    margin: 30px auto;
}

ul.product_list li {
    border-radius: 25px;
    padding: 30px 0;
    margin: 0 0 30px;
}

.product_subttl {
    font-size: 19px;
    margin-bottom: 10px;
}

.product_txtBox h3 {
    margin: 0 0 20px;
    font-size: 22px;
    letter-spacing: 2px;
    line-height: 180%;
}

.product_txt p {
    font-size: 14px;
    line-height: 200%;
}

.product_txtBox:before {
    width: 70px;
    height: 70px;
}

.product_txtBox:after {
    width: 140px;
    height: 20px;
    top: 25px;
    left: 80px;
}

.product_txtBox {
    padding-top: 85px;
}

.product01_img {
    margin-top: 30px;
}

.round_img img {
    Border-radius: 25px;
}

.product01_img img {
    width: 85%;
}

.product01_img:after {
    width: 185px;
    height: 185px;
    bottom: -40px;
    right: -5%;
}

.voice_inner {
    flex-direction: column;
}

.voice_txt {
    width: 100%;
    padding-left: 0;
}

.voice_txt p {
    width: 100%;
    font-size: 15px;
    letter-spacing: 2px;
    padding-left: 20px;
    padding-right: 20px;
}

.voice_txt {
    flex-direction: column;
}

.voice_icon {
    height: 80px;
    width: 80px;
    margin-bottom: 20px;
}

.voice_ttl {
    font-size: 16px;
    width: 133px;
    letter-spacing: 3px;
    border-bottom: 1px solid #89806f;
    line-height: 150%;
    margin-bottom: 30px;
    Border-right: none;
    text-align: center;
}

.voiceArea {
    margin: 50px -10px 0 auto;
    Padding: 15px;
}

.voiceArea:after {
    Border-width: 5px;
    bottom: -11px;
}

ul.product_list li:nth-of-type(2) .product_txtBox h3 {
    width: 100%;
    Margin-bottom: 20px;
}

ul.product_list li:nth-of-type(2) .product_txtBox .product_txt {
    width: 100%;
    Text-align: left;
}

ul.product_list li:nth-of-type(2) .product_txtBox, ul.product_list li:nth-of-type(4) .product_txtBox {
    Margin-bottom: 30px;
}

.product02_img .width48per:first-of-type {
    margin-bottom: 20px;
}

.product02_img .width48per {
    text-align: center;
}

ul.product_list li:nth-of-type(4) .product_txtBox h3 {
    width: 100%;
    Margin-bottom: 20px;
}

ul.product_list li:nth-of-type(4) .product_txtBox .product_txt {
    width: 100%;
    Text-align: left;
}

.info_mainBox h2 {
    width: 80%;
    margin: 0 auto 30px;
}

.info_main {
    max-width: 350px;
    margin: 0 auto;
    width: 70%;
}

.info_main:after {
    width: 175px;
    height: 206px;
    bottom: -30px;
    left: -65px;
}

.info_mainBox {
    margin-bottom: 60px;
}

ul.info_gallery {
    width: 100%;
}

.info_subimg {
    width: 40%;
    text-align: center;
    max-width: 250px;
    width: 60%;
    margin: 0 auto 20px;
}

.sp_column_r{
    Flex-direction:column-reverse;
}

.info_txt_right {
    width: 100%;
    font-size: 16px;
    line-height: 180%;
}

.info_txt_left {
    width: 80%;
    border-right: none;
    font-size: 22px;
    max-width: 320px;
    margin: 0 auto 20px;
    border-bottom: 1px solid #91897b;
    line-height: 160%;
}

.info_txt_left span {
    font-size: 18px;
    border-radius: 6px;
    line-height: 150%;
    width: 140px;
}

.info_txt_right img {
    margin-right: 5px;
    height: 24px;
}

.info_txtArea {
    padding: 20px 10px;
    margin-top: 20px;
}

.info_childBox ul li {
    width: 100%;
    flex-direction: column;
}

.info_childBox ul li:first-of-type {
    margin-bottom: 30px;
}

.info_subttl {
    font-size: 14px;
    top: -20px;
    line-height: 140%;
    letter-spacing: 1px;
}

.info_child_ttl h3 {
    font-size: 22px;
    letter-spacing: 2px;
    padding: 35px 15px 15px;
}

.info_childBox {
    border: 1px solid #a8a296;
    margin-top: 60px;
}

.info_child_txt {
    width: 100%;
    padding-top: 0;
    margin-top: 15px;
}

.info_child_img {
    width: 60%;
    margin: 0 auto;
    text-align: center;
}

.info_childBox ul {
    padding: 30px 25px;
}


.info_child_txt h4 {
    font-size: 22px;
    text-align: center;
}

.info_child_txt p {
    font-size: 15px;
}

.infoArea, .productArea {
    padding: 60px 0;
}

.colorArea, .dateArea {
    margin-top: 60px;
}

.color_main {
    margin-top: 30px;
    width: 100%;
    height: 300px;
}

.color_main img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dateArea .bg_beige {
    padding-top: 80px;
    padding-bottom: 60px;
}

.date_ttl {
    top: -1.5rem;
}

.date_img {
    margin-bottom: 20px;
    flex-direction: column;
    align-items: center;
}

.date_simg {
    width: 50%;
}

.date_img_left {
    width: 80%;
    max-width: 400px;
}

.date_inner {
    padding-top: 65px;
    padding-bottom: 50px;
}

.date_img_right {
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}

.date_info {
    font-size: 16px;
    line-height: 180%;
}

table.date_table th{
    Line-height:160%;
}

table.date_table th, table.date_table td {
    display: block;
    width: 100%;
    padding: 10px 20px;
    font-size: 14px;
}

table.date_table {
    margin-top: 20px;
}

.endArea {
    margin-top: 30px;
}

.main_end {
    width: 100%;
    height: 300px;
}

.main_end img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.footer_logo {
    max-width: 260px;
    margin: 20px auto;
}

h2.life_h2:after{
    Display:none;
}

h2.life_h2 img {
    width: 80%;
}

.width48per {
    width: 100%;
}

ul.product_list li:nth-of-type(3):after{
    Display:none;
}

.sp.product03_img {
    margin-top: 20px;
}

.useArea {
    margin-top: 50px;
}

}


/****20260520*****/

section.contactArea {
    padding-top: 3rem;
    padding-bottom: 3rem;
    margin-top: 5rem;
    border: 8px solid #a7a195;
    max-width: 900px;
    width: 90%;
    margin:5rem auto;
    box-sizing: border-box;
    border-radius: 2rem;
}

.contactBox {
    background: #fff;
    border-radius: 2rem;
    width:90%;
    Padding:2rem;
    box-sizing: border-box;
    margin: 0 auto;
}

.contact_txt {
    color: #777065;
    text-align: center;
    margin-bottom: 2rem;
}


.contact_txt p {
    border-bottom: 1px solid #777065;
    display: inline-block;
    margin: 0;
    font-size: 20px;
    letter-spacing: 1.5px;
    font-family: serif;
}

ul.contact_info {
    display: flex;
    justify-content: space-between;
    max-width: 620px;
    margin: 0 auto;
    width: 100%;
}

ul.contact_info li {
    width: 48%;
    border: 1px solid #777065;
    border-radius: 1rem;
    color: #777065;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.8rem 0.5rem;
    box-sizing: border-box;
    font-size: 1.4rem;
    flex-direction: column;
    font-family: serif;
    Line-height:160%;
}

ul.contact_info li:first-of-type {
    Background:#777065;
    color:#fff;
}

ul.contact_info li span {
    font-size: 14px;
    line-height: 160%;
    font-weight: normal;
}

.contact_link {
    max-width: 620px;
    margin: 3rem auto 0;
    width: 100%;
}

.contact_link a:first-of-type{
    Margin-bottom:1.5rem;
}

.contact_link a {
    width: 100%;
    display: block;
    position: relative;
    border-radius: 100px;
    text-align: center;
    color: #777065;
    text-decoration: none;
    font-size: 1.1rem;
    letter-spacing: 1px;
    box-shadow: 3px 3px 4px rgba(122, 114, 103, 0.6);
    padding: 1.3rem 3.5rem;
    box-sizing: border-box;
    font-family: serif;
    Transition:0.5s ease;
}

.contact_link a:hover{
    Opacity:1;
    Transform:translate(2px,2px);
    box-shadow: 1px 1px 2px rgba(122, 114, 103, 0.6);
}

.contact_link a:before {
    content: "";
    width: 2.5rem;
    height: 2.5rem;
    background: #777065;
    display: block;
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
    border-radius: 50%;
    Transition:0.5s ease;
}

.contact_link a:hover:before {
    background: #a7a195;
}

.contact_link a:after {
    content: "\f35d";
    Font-size: 1rem;
    Color: #fff;
    display: block;
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translate(-50%, -50%);
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
}


@media only screen and (max-width:768px){
section.contactArea {
    padding-top: 20px;
    padding-bottom: 20px;
    width: 95%;
    Margin:30px auto 0;
    border-radius: 2rem;
    border: 3px solid #a7a195;
    box-sizing: border-box;
    background: transparent;

}

.contact_txt p {
    font-size: 16px;
    letter-spacing: 1px;
    line-height: 160%;
}

.contact_txt {
    margin-bottom: 25px;
}

.contactBox {
    Padding: 30px 15px;
    width:100%;
}

ul.contact_info li {
    font-size: 17px;
    width:49%;
    padding: 10px 3px;
}

ul.contact_info li span {
    font-size: 11px;
    letter-spacing: 0px;
}

.contact_link {
    margin: 20px auto 0;
}

.contact_link a {
    font-size: 14px;
    letter-spacing: 0.5px;
    padding: 15px 25px;
}

.contact_link a:before {
    width: 30px;
    height: 30px;
    right: 0.5rem;
}

.contact_link a:after {
    Font-size: 14px;
    right: 0.5rem;
}

.contact_link a:first-of-type {
    Margin-bottom: 15px;
}
}
