@charset "UTF-8";
/*tml {
    
}
body {
    color: #2b2a27;
    font-family: heisei-maru-gothic-std, sans-serif;
    font-style: normal;
    font-size: 18px;
    font-weight: 300;
    line-height: 1.7;
}
*/

h2 {
    font-family: ta-kotodama-r, sans-serif;
    font-size: 2.5rem;
    margin-bottom: 56px;
}


h3 {

    font-size: 2.6rem;
    margin-bottom: 56px;
}
h3 span {
    display: inline-block;
}
.area_about > h3 {
    margin-top: 180px;
    margin-left: 70px;
}




/*メインビジュアル画像に文字載せ*/
.mainvisual {
    width: 100%;
    min-height: 776px;
    background:url("../img/mainvisual_2.jpg") no-repeat;
    background-size: cover;
    position: relative;
}
.mainvisual p {
    height: 600px;
    writing-mode: vertical-rl;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    line-height: 280%;
    font-family: ta-kotodama-r, sans-serif;
    font-size: 36px;
    color: #fff;

}
.mainvisual img {
    width: 100%;
}
.area_about_title {
    padding-top: 100px;
    padding-left: 10vw;
}

.area_title {
    background:url( "../img/bg_about_top.png") no-repeat;
    background-size: 100%;
    min-height: 561px;
    padding-top: 80px;
    z-index: 1;
	
}
.area_title_txt {
    text-align: center;
	margin-top: 120px;
	padding: 0 70px;
	
	
}
h2 {
    font-size: 2.5rem;
}

/*英語見出し*/
.title_eigo {
    font-family: tornac, sans-serif;
    color:#343249;
    font-size: 450%;
    line-height: 0.8em;
    /*文字を傾ける*/
    transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    -webkit-transform: rotate(-10deg);
    margin-bottom: 40px;
}

.area_about_title > h2 {
    padding-top: 60px;
    margin-left: 40px;
}


/*新着お知らせ*/
.topics {
   margin-bottom: 50px;

}
.topics dl {
    padding: 15px 0;
    border-bottom: 1px solid #ccc;
    }
    
    .topics dt {
    padding-bottom: 5px;
    }
    
    @media screen and (min-width: 768px) {
    .topics dt {
    clear: left;
    float: left;
    width: 10%;
    }
    .topics dd {
    margin-left: 11%;
    }
    }

/*私たちについて*/
.area_title {
    background:url( "../img/bg_about_top.png") no-repeat;
    background-size: 100%;
}
.area_about_inner {
    display: flex;
    padding: 0px 50px;
}
.area_about_inner img {
    width: 45vw;
}
.area_about_inner p { 
    padding-left: 50px;
    line-height: 2em;
}
.area_about_bg_btm {
    margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}

.area_about_bg_btm img {
    display: block;
	width: 100%;
	height: auto;
}
.flex_img {
    display: flex;
    
}
.flex_img img {
    width: 33.333%;
}
/*shopページの写真に使用*/
.flex_img2 {
    display: flex;
    
}
.flex_img2 img {
    width: 50%;
}
.area_toudokei {
    display: flex;
    padding: 0px 50px;
}
.area_toudokei {
    margin-top: 150px;
}
.area_toudokei_img img {
    width: 45vw;
}

.area_toudokei_txt p {
    padding-right: 50px;
    line-height: 2em;
}

.area_insta {
    display: flex;
    flex-wrap: wrap;
	margin: 0 auto;
	padding: 0 70px;
	justify-content: space-between;
    
}
.area_insta_inr {
    
    width: 32%;
}
/*3の倍数以外の子要素には右余白*/
.area_insta_inr:not(nth-child(3n+3)) {
    margin-right: 2%;
}
/*4つ目以降の子要素に上余白*/
.area_insta_inr:nth-child(n+4) {
    margin-top: 30px;
}

/*メディアクエリ インスタ用*/
@media screen and (max-width: 1250px) {
    /* スクリーンサイズが1250px以下の場合に適用 */
    .area_insta {
		justify-content: space-between;
		
    }
    .area_insta_inr {
    width: 48%;
    max-width:600px;
    }

    /*2の倍数以外の子要素には右余白*/
    .area_insta_inr:not(nth-child(2n+2)) {
    margin-right: 2%;
    }
    /*3つ目以降の子要素に上余白*/
    .area_insta_inr:nth-child(n+3) {
    margin-top: 30px;
    }

}


/*インスタ横幅調整用メディアクエリ*/
@media screen and (max-width: 899px){
    .instagram-media{
      width:414px !important;
      max-width: 100% !important;
      min-width: initial !important;
    }
}
 


/*メディアクエリ*/
@media screen and (max-width: 848px) {
    /* スクリーンサイズが848px以下の場合に適用 */
    .mainvisual {
        width: 100%;
        min-height: 776px;
        background:url("../img/mainvisual_sp.jpg") no-repeat;
        background-size: cover;
        position: relative;
    }
    
    .title_eigo {
        margin-bottom: 5px;
        font-size: 40px;
    }
    /*.area_about_title >*/ h2 {
        padding-top: 30px;
    }
    /*.area_about >*/ h3 {
        margin-top: 80px;
    }
    .area_about_inner {
        flex-direction: column;
    }
    .area_about_inner p {
        padding:0;
        line-height: 2em;
    }

    .area_toudokei_txt p {
        padding:0;
        line-height: 2em;
    }
    .area_about_inner img{
        width: 100%;
        margin-bottom: 30px;
    }
    .flex_img {
        flex-direction: column;
    }
    .flex_img img {
        text-align: center;
        width: 100%;
        margin: 60px auto 30px;
    }
    /*shopページの写真に使用*/
    .flex_img2 {
        flex-direction: column;
    }
    .flex_img2 img {
        text-align: center;
        width: 100%;
        margin: 60px auto 30px;
    }
    .area_toudokei {
        flex-direction: column;
    }
    .area_toudokei img {
        width: 100%;
        margin: 30px auto;
    }
    .area_insta {
        flex-direction:column;
        align-items: center;
	margin: 0 auto;
	padding: 0 10px;
    }    
   .area_insta_inr {
		width:90%;
	   	max-width: 678px;
   }


       
    
}


@media screen and (max-width: 375px) {
    /* スクリーンサイズが375px以下の場合に適用 */

   
    .mainvisual {
        min-height: 474px;
    }
    .mainvisual p {
        font-size: 24px;
        height: 345px;
    }
    /*.area_title_txt {
        padding: 50px 10px 0px 10px;
    }*/
    .area_title_txt > h2 {
        margin: 0;
        padding: 0;
        font-size: 26px;
    }
    /*.area_about >*/ h3 {
        margin: 0;
        padding: 0 10px;
        font-size: 24px;
        margin: 20px auto;
        text-align: center;
    }
    /*英語見出し*/
    .area_about_title .title_eigo {
        font-family: tornac, sans-serif;
        font-size: 20px;
        line-height: 0.8em;
        margin-bottom: 20px;
        color: #fff;
    }
    h2 {
        margin-bottom: 20px;
        font-size: 22px;
    }
    .area_about_title > h2 {
      
    }
    h3 {
        margin-bottom: 20px;
    }
    .area_about_inner{
        padding: 0px 10px;
    }


    .area_toudokei {
        padding: 0px 10px;
    }
    .area_toudokei_txt h3 {
        margin: 0;
        padding: 0 10px;
        font-size: 24px;
        margin: 20px auto;
        text-align: center;
    }

}