/* reset */

@charset "utf-8";


html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    vertical-align:baseline;
    background:transparent;
}

html {overflow-y: scroll;}

h1, h2, h3, h4, h5, h6{font-size:100%; font-weight:normal;}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
  display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

a{color:#333;}

ul, ol{list-style:none;}

ol{
  list-style:decimal;
  padding-left: 1em;
}

img{vertical-align:bottom;}

address{
  font-style:normal;
}

main{display:block;}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="button"],
input[type="submit"],
input[type="radio"],
textarea,
select{
  font-family:"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, "游ゴシック", YuGothic, sans-serif;
  margin:0;
  padding:0;
  box-shadow:none;
  border-radius:0;
}

input,
textarea{
  -webkit-appearance: none;  
}

/* layout */

html {
    font-size: 62.5%;
    /* rem対策で基準を10pxに　10/16 = 0.625 */
}

body {
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, "游ゴシック", YuGothic, sans-serif;
    font-size: 2rem;
    /* 14px */
    color: #333333;
    line-height: 1.8;
    -webkit-text-size-adjust: 100%;
  min-width:1200px;
}

@media all and (-ms-high-contrast:none) {

    body,
    input[type="text"],
    input[type="password"],
    input[type="email"],
    input[type="tel"],
    input[type="button"],
    input[type="submit"],
    input[type="radio"],
    textarea,
    select,
    button {
        font-family: "メイリオ", Meiryo, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    }
}

/*.preload * {
    transition: none !important;
}*/

a {
    transition: .3s;
}

@media print,
screen and (min-width:641px) {
    a:hover {
        opacity: .5;
    }

    a[href^="tel:"]:hover {
        opacity: 1;
        cursor: pointer;
    }
}



a[href^="tel:"]:hover {
    opacity: 1;
}

a[href^="tel:"] {
    text-decoration: none;
}

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

img[src$=".svg"] {
    width: 100%;
}

.font_m {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: 700;
    color: #111;
}

main{
  position:relative;
  z-index:1;
}


/* グローバルヘッダー
--------------------------------------------------------------- */

#g_header {
    position: relative;
    height: 150px;
    background: #FFF;
    line-height: 1;
    z-index: 3;
}

#logo_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 105px;
}

#logo_flex {
    display: flex;
    flex-wrap: wrap;
}

#logo_flex ul li:not(:last-child) {
    margin-bottom: 5px;
}

#logo_flex .name {
    display: inline-block;
    width: 4em;
    margin-right: 10px;
}

#logo_flex ul a {
    display: inline-block;
    text-decoration: none;
    padding: .3em 1em;
    font-size: 1.6rem;
    background: #b3d6da;
    border-radius: 5px;
}

#g_logo {
    display: flex;
    align-items: center;
    width: 558px;
    margin-right: 50px;
}


/* グローバルメニュー
--------------------------------------------------------------- */

#g_nav {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(960px + 2em);
    margin: 0 auto;
    height: 45px;
  background:#fff;
}

#g_menu {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0;
}

#g_menu a {
    display: block;
    padding: 10px 1em;
    font-size: 1.8rem;
    text-decoration: none;
  border-radius:5px;
}

#g_menu a:hover{
  opacity:1;
}

#pos.fix{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  background:#fff;
}

@media screen and (min-width:641px){
  #pos.fix{
    min-width:1200px;
    box-shadow: 0 0 3px 3px rgba(0,0,0,0.3);
  }
  
  #g_menu a:hover{
    color:#fff;
    background-color:#346238;
  }
}


/* グローバルフッター
--------------------------------------------------------------- */

.btn_contact {
  position:relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    background: #FFEED6;
    padding:60px 40px;
    margin-bottom: 200px;
  z-index:2;
}

.area_content .btn_contact{
    margin:100px 0;
    line-height:1.4;
}

.btn_contact h4{
  width:100%;
  padding:0 0 40px 0;
  font-size:3rem;
  text-align:center;
}

.btn_contact a {
    text-decoration: none;
}

.btn_contact .telBox{
  width: calc(100% - 460px);
  text-align: left;
}

.btn_contact .tel {
    font-size: 2.6rem;
}

.btn_contact .tel:first-child .number{
  margin-bottom:10px;
}

.btn_contact .number {
    display: block;
}

.btn_contact .mail {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    width: 530px;
    background: #ff7f00 url(usr_img/common/ico_mail.svg) right 30px center / 72px auto no-repeat;
    color: #fff;
    font-size: 2.2rem;
    padding: 0 40px;
}

#g_footer {
    line-height: 1.4;
}

.list_tenpo {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.list_tenpo > li {
    width: 440px;
    margin-bottom: 70px;
}

.list_tenpo dt {
    font-size: 1.6em;
    line-height: 1;
    margin: .3em 0;
}

.list_tenpo dd {
    font-size: 1.1em;
}

.list_tenpo .link a {
    display: block;
    margin-top: .6em;
    font-size: 1.8rem;
    text-align: center;
    background: #ccece6;
    text-decoration: none;
    padding: 10px;
    line-height: 1;
}

.list_tenpo .link a:hover {
    opacity: 1;
    background-color: #333;
    color: #fff;
}

.list_tenpo_other {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 30px;
}

.list_tenpo_other > li {
    width: 440px;
    margin-bottom: 40px;
}

.list_tenpo_other dt {
    font-size: 1.1em;
    line-height: 1;
    margin: .3em 0;
}

.list_tenpo_other dd {
    font-size: .8em;
}

.list_tenpo_other .link a {
    display: block;
    margin-top: .5em;
}

.list_foot {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    font-size: 1.8rem;
}

.list_foot > li {
    margin: 0;
}

.list_foot > li:not(:last-child):after {
    content: "│";
    display: inline-block;
}

.list_foot > li a {
    padding: 0 1em;
}

#g_footer small {
    display: block;
    text-align: center;
    font-size: 1.4rem;
    margin: .6em 0 .5em;
}


/* 開園記念特典
--------------------------------------------------------------- */

.area_open{
  background:#fbe1df;
  padding:100px 0;
}

.area_open h3{
  background:#725e84;
  color:#fff;
  text-align:center;
  font-size:4.8rem;
  font-weight:500;
  font-family:'M PLUS Rounded 1c', sans-serif;
  line-height:1;
  padding:.3em;
  margin-bottom:.5em;
}

.area_open .date{
  font-size:3.8rem;
  text-align:center;
  line-height:1;
  margin-bottom:.5em;
}

.area_open .area_content section:not(:last-child){
  margin-bottom:55px;
}

.list_benefit{
  position:relative;
  display:flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.list_benefit.is_open:after{
  content:"";
  display:block;
  width:132px;
  height:132px;
  background:url(usr_img/common/bg_more.png) center center / contain no-repeat;
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  margin:auto;
}


/* 共通コンテンツ
--------------------------------------------------------------- */

.area_content {
    position: relative;
    width: 980px;
    margin: 0 auto;
}

.block_content {
    margin-bottom: 180px;
}


/* トップページ
--------------------------------------------------------------- */

#main_visual {
    box-sizing: border-box;
    position: relative;
    height: 860px;
    padding-top: 105px;
    
    line-height: 1;
    z-index: 2;
    overflow: hidden;
}

#main_visual:before{
  content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    z-index: -1;
    background: url(usr_img/top/bg_main.jpg) center center / cover no-repeat;
    transform: translateZ(0);
    animation: grow 20s  linear 10ms 1 forwards;
    transition:all 0.2s ease-in-out;
  
}

@keyframes grow{/*微差で拡大/縮小するアニメーション設定*/
    0% { transform:scale(1)}
    100% { transform:scale(1.2) rotate(0.1deg);}/* ※IE対策rotate(0.1deg) */
}

#main_visual h1 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    font-size: 4.3rem;
    font-weight: bold;
    color: #346238;
    margin-bottom: 80px;
}

#main_visual .section {
    font-size: 2.7rem;
    margin: 0 .5em;
}

#main_visual .schedule {
    background: #67855b;
    color: #fff;
    font-size: 2rem;
    font-weight: normal;
    padding: .3em 1em;
}

#main_visual h2 {
    text-align: center;
}

/* - 区画一覧 */

#kukaku {
    position: relative;
    width: 960px;
    margin: -190px auto 75px;
    z-index: 2;
}

#kukaku .btn_access {
    position: absolute;
    left: 520px;
    bottom: 0;
}

#kukaku .btn_access:hover a{
  opacity:1;
}

@media print,screen and (min-width:641px){
  
  #kukaku .btn_access{
    transition: .3s;
  }
  
  #kukaku .btn_access:hover{
    bottom:-20px;
  }
  
}

.kukaku_photo {
    display: flex;
    width: 960px;
    margin: 0 auto 95px;
    flex-wrap:wrap;
}

.kukaku_photo li img{
    width:192px;
    height:150px;
    object-fit:cover;
}

/* - お知らせ */

.block_info {
    background: #f7eedf;
    padding: 50px 0 80px;
    margin-bottom: 95px;
  display:flex;
  justify-content: center;
}

.block_info > .inr {
    width: 800px;
    margin: 0 30px 0 0;
}

.list_info li {
    font-size: 1.8rem;
    border-bottom: 1px dotted #000;
}

.list_info a {
    display: flex;
    flex-wrap: wrap;
    text-decoration: none;
    line-height: 1.2;
    padding: .7em 0;
}

.list_info .date {
    box-sizing: border-box;
    width: 270px;
    text-align: center;
}

.list_info .ttl {
    width: calc(100% - 270px);
}

/* - 選べる区画4タイプ */

.area_type_select{
    background: #f7eedf;
    padding: 45px 0 100px;
}

.is_low .area_type_select{
  margin:200px 0;
}

.area_type_select h3 {
    text-align: center;
}

.area_type_select ul {
    display: flex;
    justify-content: center;
}

/* - 被災者等用の専用区画 */

.area_victim {
    padding: 140px 0 190px;
}

.area_victim a {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0 auto;
    background: #dedbe6;
    padding: 35px;
    font-size: 2.4rem;
    border: 3px solid #cccccc;
    text-decoration: none;
    line-height: 1.4;
}

.area_victim a:after {
    content: ">>";
    height: 1em;
    position: absolute;
    right: 50px;
    top: 0;
    bottom: 0;
    margin: auto;
    display: block;
    font-size: 3rem;
    line-height: 1;
    transform: scale(0.7, 1);
}

.area_victim .ttl {
    box-sizing: border-box;
    background: #fff;
    padding: 10px 20px;
    font-weight: bold;
    font-size: 3.4rem;
    border: 3px solid #cbbddc;
    line-height: 1;
    margin-right: 15px;
}

.area_victim em {
    display: inline-block;
    font-style: normal;
    font-weight: bold;
    font-size: 1.41em;
}

/* - よくある質問 */

.area_qa {
  position:relative;
    background: #d6e6e6;
    padding: 50px 0;
  margin-top:200px;
}

.area_qa:before{
  position:absolute;
  top:-148px;
  right:calc(50% - 480px);
  content:"";
  display:block;
  width:390px;
  height:148px;
  background:url(usr_img/top/img_qa_message.png) center center / contain no-repeat;
}

.is_low .area_qa{
  margin-bottom:50px;
}

.list_qa {
    display:block;
    list-style: none;
    padding: 0;
}

.list_qa li {
    box-sizing: border-box;
    position: relative;
    line-height: 1.6;
    padding-left: 66px;
    margin-bottom: 80px;
}

.list_qa .num {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 66px;
    height: 66px;
    border-radius: 33px;
    font-size: 2.8rem;
    color: #fff;
    background: #4eb799;
    line-height: 1;
}

.list_qa dt {
  font-weight:bold;
    border-bottom: 2px solid #4eb799;
    padding:0 0 .2em 1em;
    margin-bottom: .2em;
}

.list_qa dd{
  padding-left:1em;
}

.list_qa a{
  color:#3333eb;
}

.btn_more {
    position: relative;
    box-sizing: border-box;
    display: block;
    width: 300px;
    color: #fff;
    font-size: 2.6rem;
    text-align: center;
    text-decoration: none;
    background: #4eb799;
    padding: 20px;
    margin: 0 auto;
    line-height: 1;
}

.btn_more:after {
    content: ">>";
    display: block;
    height: 1em;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    transform: scale(0.7, 1);
}

/* - アクセス */

.area_access {
    background: #f7eedf;
    padding: 100px 0;
}

.area_access .block_access {
    display: flex;
    justify-content: space-between;
    margin-top: 70px;
}

.area_access .add {
    margin-bottom: 1em;
}

.btn_gmap {
    display: inline-block;
    text-decoration: none;
    background: #ffcc00;
    padding: .4em 1em;
    margin-left: 1em;
    line-height: 1;
}

/* - コミコミ価格さらに免震・耐震工事 */

.area_equipment {
    position: relative;
    text-align: center;
}

.area_equipment > .area_content {
    padding: 65px 0 250px;
}

.area_equipment > .area_content:before {
    content: "";
    display: block;
    position: relative;
    left: 10px;
    width: 392px;
    height: 150px;
    background: url(usr_img/top/img_p_message_head.png) center center / contain no-repeat;
}

.area_equipment > .area_content:after {
    content: "";
    display: block;
    width: 506px;
    height: 150px;
    background: url(usr_img/top/img_p_message.png) center center / contain no-repeat;
    position: absolute;
    right: 0;
    bottom: 0;
}

.area_equipment .btn_performance {
    display: inline-block;
    margin-top: 50px;
    text-align: center;
}

/* - 墓石工事の流れ */

.area_flow {
    background: #f2fae4;
    padding: 100px 0;
    margin-bottom: 140px;
}

.area_flow h2 {
    text-align: center;
    margin-bottom: 100px;
}

.list_flow {
    box-sizing: border-box;
    position: relative;
    list-style: none;
    width: 854px;
    padding: 0;
    margin: 0 auto;
    z-index: 2;
}

.list_flow li {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 10px 0 0 190px;
    line-height: 1.6;
}

.list_flow li:not(:last-child) {
    margin-bottom: 115px;
}

.list_flow li h3 {
    color: #00441b;
    font-weight: bold;
    font-size: 2.8rem;
}

.list_flow li .txt {
    width: 360px;
}

.list_flow li figure {
    width: 260px;
}

.list_flow li .num {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.list_flow:before {
    box-sizing: border-box;
    content: "";
    width: 26px;
    height: calc(100% - 160px);
    background: #fff;
    border-left: 8px solid #d9f0b0;
    border-right: 8px solid #d9f0b0;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 56px;
    margin: auto;
    z-index: -1;
}


/* 墓石ページ
--------------------------------------------------------------- */

#h_type_ttl {
    padding: 40px 0 0;
    text-align: center;
    background-repeat: repeat;
}

.area_boseki,
.block_gallery {
    background-repeat: repeat;
}

.area_boseki.is_ichioshi {
    background-image: url(usr_img/type_common/bg_ichioshi.jpg) !important;
}

.block_boseki {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 940px;
    margin: 0 auto;
    padding: 70px 0;
    color: #fff;
}

.block_boseki .img {
    position: relative;
    min-width: 590px;
    text-align: center;
}

.block_boseki .label {
    position: absolute;
    top: -40px;
    right: -20px;
    overflow: hidden;
    z-index: 1;
}

.block_boseki h2 {
    margin-bottom: .7em;
}

.block_boseki .description {
    box-sizing: border-box;
    width: 310px;
    padding: 30px 25px;
    background:#333 repeat;
    line-height: 1.4;
}

.block_boseki .data {
    margin-top: 1em;
    font-size: 1.8rem;
}

.block_boseki .data h3:before {
    content: "<";
}

.block_boseki .data h3:after {
    content: ">";
}

.block_boseki .price {
    margin: .3em 0;
}

.block_gallery{
  padding: 40px 0;
}

.block_gallery ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 900px;
    margin: 0 auto;
}

.block_gallery li {
    position: relative;
  background:#fff;
}

.block_gallery li:after {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 5px;
    margin: auto;
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 14px 0 14px;
    border-color: #9e383d transparent transparent transparent;
}

.h_boseki {
    color: #fff;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: 500;
    background-repeat: repeat;
    padding: .2em 1em;
    margin-bottom: .4em;
}

.h_boseki em {
    font-style: normal;
    font-size: 1.3em;
}

/* - 各カラータイプ AE */

.is_ae #h_type_ttl {
    background-image: url(usr_img/type_ae/bg_main_ttl.jpg);
}

.is_ae .area_boseki {
    background-image: url(usr_img/type_ae/bg_item.jpg);
}

.is_ae .block_boseki .description {
    background-image: url(usr_img/type_ae/bg_description.jpg);
}

.is_ae .block_gallery {
    background-image: url(usr_img/type_ae/bg_gallery.jpg);
}

.is_ae .h_boseki {
    background-image: url(usr_img/type_ae/bg_description.jpg);
}

.is_ae .block_gallery li:after {
    border-color: #9e383d transparent transparent transparent;
}


/* - 各カラータイプ BF */

.is_bf #h_type_ttl {
    background-image: url(usr_img/type_bf/bg_main_ttl.jpg);
}

.is_bf .area_boseki {
    background-image: url(usr_img/type_bf/bg_item.jpg);
}

.is_bf .block_boseki .description {
    background-image: url(usr_img/type_bf/bg_description.jpg);
}

.is_bf .block_gallery {
    background-image: url(usr_img/type_bf/bg_gallery.jpg);
}

.is_bf .h_boseki {
    background-image: url(usr_img/type_bf/bg_description.jpg);
}

.is_bf .block_gallery li:after {
    border-color: #007aad transparent transparent transparent;
}


/* - 各カラータイプ C */

.is_c #h_type_ttl {
    background-image: url(usr_img/type_c/bg_main_ttl.jpg);
}

.is_c .area_boseki {
    background-image: url(usr_img/type_c/bg_item.jpg);
}

.is_c .block_boseki .description {
    background-image: url(usr_img/type_c/bg_description.jpg);
}

.is_c .block_gallery {
    background-image: url(usr_img/type_c/bg_gallery.jpg);
}

.is_c .h_boseki {
    background-image: url(usr_img/type_c/bg_description.jpg);
}

.is_c .block_gallery li:after {
    border-color: #ff6600 transparent transparent transparent;
}


/* - 各カラータイプ 芝生 */

.is_shiba #h_type_ttl {
    background-image: url(usr_img/type_shiba/bg_main_ttl.jpg);
}

.is_shiba .area_boseki {
    background-image: url(usr_img/type_shiba/bg_item.jpg);
}

.is_shiba .block_boseki .description {
    background-image: url(usr_img/type_shiba/bg_description.jpg);
}

.is_shiba .block_gallery {
    background-image: url(usr_img/type_shiba/bg_gallery.jpg);
}

.is_shiba .h_boseki {
    background-image: url(usr_img/type_shiba/bg_description.jpg);
}

.is_shiba .block_gallery li:after {
    border-color: #6ba600 transparent transparent transparent;
}


/* 墓石ページ 個別クラス - アイリスNEO
--------------------------------------------------------------- */

.style_neo {
    position: relative;
    width: 898px;
    margin: 0 auto 50px;
}

.style_neo .box {
    background: rgba(255, 255, 255, .6);
    line-height: 1.4;
}

.style_neo .box .num {
    position: absolute;
    top: -20px;
    left: -20px;
}

.style_neo .block_head {
    position: relative;
    margin-bottom: 50px;
}

.style_neo .type1 {
    position: relative;
    width: 370px;
}

.style_neo .type1 .inr {
    padding: .5em 1em;
}

.style_neo .type2 {
    position: absolute;
    top: 0;
    right: 0;
    width: 450px;
}

.style_neo .type3 {
    position: absolute;
    width: 450px;
    right: 0;
    bottom: 0;
}

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

.style_neo .wrap figure {
    width: 250px;
}

.style_neo .wrap .inr {
    box-sizing: border-box;
    width: calc(100% - 250px);
    display: flex;
    align-items: center;
    padding: 1em;
}

.style_neo .type4 {
    position: relative;
    padding: 35px;
}

.list_floorseries {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    font-size: 1.8rem;
    margin-top: 1em;
  margin-bottom:-45px;
}

.list_floorseries li{
  position:relative;
  margin-bottom:45px;
}

.list_floorseries li .zoom{
  position:absolute;
  right:-10px;
  bottom:-10px;
}

/* 墓石ページ 個別クラス - プリエール
--------------------------------------------------------------- */

.style_priere{
    position: relative;
    width: 898px;
    margin: 0 auto 50px;
}

.style_priere .box {
  padding:25px;
    background: rgba(255, 255, 255, .6);
    line-height: 1.4;
}

.style_priere .box .h_boseki{
  margin-bottom:1em;
}

.list_priere_color{
  display:flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width:810px;
  margin:0 auto;
}

.list_priere_color li{
  width:162px;
  text-align:center;
  font-size:1.6rem;
  line-height:1.2;
}

.list_priere_color figure{
  margin-bottom:.8em;
}


/* よくある質問ページ
--------------------------------------------------------------- */

.is_qa #h_type_ttl{
  background-image: url(usr_img/qa/bg_main_ttl.jpg);
}

.is_qa .area_qa{
  margin:0;
}

.is_low .area_qa:before,
.is_qa .area_qa:before{
  content:normal;
}


/* お知らせページ
--------------------------------------------------------------- */

.is_info #h_type_ttl{
  background-image: url(usr_img/qa/bg_main_ttl.jpg);
}

.area_info{
  padding:100px 0;
}

.style_post h2{
  font-weight:bold;
  font-size:1.8em;
  padding-bottom:.3em;
  border-bottom:2px solid #666;
  margin-bottom:.3em;
  line-height:1.4;
}

.style_post h3{
  font-weight:bold;
  font-size:1.4em;
  margin-bottom:.3em;
  line-height:1.4;
}

.style_post .date{
  font-size:.8em;
  text-align:right;
  margin-bottom:.5em;
}

.style_post .content{
  padding:0 0 3em;
}

.style_post .listlink{
  text-align:center;
}


/* 各種パーツ - 見出し
--------------------------------------------------------------- */

.h_type1 {
    text-align: center;
    font-size: 3.5rem;
    margin-bottom: 2.5em;
}

.h_type2 {
    text-align: center;
    font-size: 2.8rem;
    letter-spacing: .1em;
    margin-bottom: 1.5em;
}


/* 各種パーツ - テーブル
--------------------------------------------------------------- */

.tbl_type1 {
    width: 100%;
}

.tbl_type1 th,
.tbl_type1 td {
    text-align: left;
    vertical-align: top;
    font-weight: normal;
    padding: .5em 0;
}

.tbl_type1 th {
    width: 5em;
    padding-right: 1em;
}

.tbl_type2 {
    width: 100%;
    border-collapse: separate;
    border-spacing: 4px;
    font-size: 1.8rem;
}

.tbl_type2 th,
.tbl_type2 td {
    text-align: center;
    vertical-align: middle;
    font-weight: normal;
    line-height: 1.3;
}

.tbl_type2 th {
    background: #cccccc;
    padding: .6em 0;
}

.tbl_type2 td {
    background: #e6e6e6;
    padding: 0;
    height: 66px;
}

.tbl_type2 .note {
    display: block;
    font-size: .6em;
    text-align: left;
    margin: 1em 0 0 1em;
}

.tbl_type2 .box_type {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.tbl_type2 .box_type > div {
    padding-left: 49px;
}

.tbl_type2 .type {
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    padding: 0 1em;
    background: #CCC;
}

.tbl_type2 .type.is_a {
    background-color: #cbbddc;
}

.tbl_type2 .type.is_b {
    background-color: #badbe8;
}

.tbl_type2 .type.is_c {
    background-color: #feec99;
}

.tbl_type2 .type.is_d {
    background-color: #ccea97;
}

.tbl_type2 .type.is_e {
    background-color: #fccdcf;
}

.tbl_type2 .type.is_f {
    background-color: #fccdcf;
}


/* アニメーション フラグ
--------------------------------------------------------------- */

.anime_flg,
.anime_flg_turn{
    position:relative;
    opacity:0;
    transition:.7s;
}

.anime_flg.is_fade{
    transition:1.2s;
}

.anime_flg.is_fade_slow{
    transition:2.4s;
}

.anime_flg.is_slide_left,
.anime_flg_turn.is_slide_left{
    transform: translate(-100px,0); 

}

.anime_flg.is_slide_bottom{
  transform: translate(0,100px); 
}

.anime_flg.on,
.anime_flg_turn.on{
    opacity: 1.0;
    transform: translate(0,0);   
}

.toContact{
  position:fixed;
  right:15px;
  bottom:15px;
  display:inline-block;
  /* background-color:#fdcc8a; */
  background-color:#ff7f00;
  text-decoration:none;
  text-align:center;
  padding:15px;
  z-index:100;
  color:#FFF;
  line-height: 1.4;
}

.toContact img {
  width:20px;
}


/* 固定メニュー用 アンカー位置調整 header+45px
--------------------------------------------------------------- */

#anc_about{margin-top:calc(-1 * (45px + 45px)); padding-top:calc(45px + 45px);}
#anc_plan{margin-top:-45px; padding-top:45px;}
#anc_access{margin-top:-45px; padding-top:45px;}
#anc_equipment{margin-top:-45px; padding-top:45px;}
#anc_tenpo{margin-top:calc(-1 * (45px + 45px)); padding-top:calc(45px + 45px);}

.anchor_block {
    margin-top: -95px;/* 45 + 50 */
    padding-top: 95px;
}

/* layout_sp */

@media screen and (max-width:640px){
  
body {
    font-size: 1.3rem;
    color: #333333;
    line-height: 1.8;
    -webkit-text-size-adjust: 100%;
  min-width:0;
}

a:hover {
    opacity: .7;
}

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

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="button"],
input[type="submit"],
textarea,
select {
    font-size: 1.6rem;
}


/* グローバルヘッダー
--------------------------------------------------------------- */

#g_header {
    height: 36.5vw;
}

#logo_wrap {
    display: block;
    height: 22.18vw;
}

#logo_flex {
    display: block;
}

#logo_flex ul {
    display: flex;
    justify-content: center;
    align-items: center;
}

#logo_flex ul li {
    display: flex;
    align-items: center;
    margin: 0;
}

#logo_flex ul li:not(:last-child) {
    margin: 0;
}

#logo_flex ul li:first-child {
    margin-right: 10.93vw;
}

#logo_flex .name {
    width: 4em;
    margin-right: 1.56vw;
}

#logo_flex ul a {
    padding: .3em 1em;
    font-size: 2.5vw;
    border-radius: .78vw;
}

#g_logo {
    display: flex;
    align-items: center;
    height: 14.53vw;
    width: 87.18vw;
    margin: 0 auto 0;
}


/* グローバルメニュー
--------------------------------------------------------------- */

#g_nav {
    justify-content: space-between;
    width: 100%;
    height: calc(100% - 22.18vw);
}

#g_menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin: 0;
}

#g_menu li {
    box-sizing: border-box;
    border-right: .3vw solid #fff;
}

#g_menu li:nth-of-type(1),
#g_menu li:nth-of-type(2),
#g_menu li:nth-of-type(3) {
    width: 33.3%;
    border-bottom: .3vw solid #fff;
}

#g_menu li:nth-of-type(4),
#g_menu li:nth-of-type(5),
#g_menu li:nth-of-type(6),
#g_menu li:nth-of-type(7) {
    width: 25%;
}

#g_menu li:nth-of-type(3),
#g_menu li:nth-of-type(7) {
    border-right: 0;
}

#g_menu a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 7.5vw;
    padding: 0;
    font-size: 2.81vw;
    background: #F2F2F2;
    border-radius:0;
}
  
#pos.fix #g_menu a {
  height:5vh;
}


/* グローバルフッター
--------------------------------------------------------------- */

.btn_contact {
    padding: 3.125vw 4.68vw;
    margin-bottom: 15.625vw;
}
  
.area_content .btn_contact{
    margin:15.625vw 0;
}
  
.btn_contact .telBox{
  width:100%;
}
  
.btn_contact h4{
  font-size: 6.15vw;
  padding-bottom:3.125vw;
}

.btn_contact .tel {
    display: block;
    width: auto;
    margin-bottom: .5em;
    font-size: 5vw;
}

.btn_contact .number {
    display: block;
    font-weight: bold;
    font-size: 7vw;
    margin-bottom:20px;
}
  
.btn_contact .toForm{
  width:48%;
}

.btn_contact .mail {
    display: block;
    width: auto;
    color: #fff;
    font-size: 3.43vw;
    padding: 3.90vw 6.25vw;
    line-height: 1;
    background-size: 10.93vw auto;
    background-position: right 5.46vw center;
}

#g_footer {
    line-height: 1.4;
}

.list_tenpo {
    display: block;
}

.list_tenpo > li {
    width: 67.75vw;
    margin: 0 auto 8.59vw;
}

.list_tenpo dt {
    font-size: 5vw;
    line-height: 1;
    margin: .3em 0;
}

.list_tenpo dd {
    font-size: 3.43vw;
}

.list_tenpo .link a {
    margin-top: .6em;
    font-size: 3.125vw;
    padding: 3.9vw 0;
}

.list_tenpo_other {
    margin-bottom: 0;
}

.list_tenpo_other > li {
    width: calc(50% - 5px);
    margin-bottom: 2em;
}

.list_tenpo_other dt {
    font-size: 3.43vw;
    line-height: 1;
    margin: .3em 0;
}

.list_tenpo_other dd {
    font-size: 2.5vw;
}

.list_foot {
    font-size: 2.81vw;
}

.list_foot > li a {
    padding: 0 1em;
}

#g_footer small {
    font-size: 2.18vw;
    margin: .6em 0 .5em;
}


/* 開園記念特典
--------------------------------------------------------------- */

.area_open{
  padding:8.59vw 0;
}

.area_open h3{
  font-size:7.5vw;
  padding:.3em;
  margin-bottom:7.81vw;
}

.area_open .date{
  font-size:5vw;
  margin-bottom:7.81vw;
}

.area_open .area_content section:not(:last-child){
  margin-bottom:12.5vw;
}

.list_benefit{
  display:block;
  width:71.87vw;
  margin:0 auto;
}

.list_benefit li:not(:last-child){
  margin-bottom:7.81vw;
}

.list_benefit.is_open li:not(:last-child){
  margin-bottom:19vw;
}

.list_benefit.is_open:after{
  width:20.62vw;
  height:20.62vw;
}


/* 共通コンテンツ
--------------------------------------------------------------- */

.area_content {
    width: auto;
    padding: 0 10px;
    margin: 0;
}

.block_content {
    margin-bottom: 60px;
}


/* トップページ
--------------------------------------------------------------- */

#main_visual {
    height: 117.18vw;
    padding-top: 9.37vw;
}

#main_visual h1 {
    font-size: 6.71vw;
    margin-bottom: 8.59vw;
}

#main_visual .section {
    font-size: 4.21vw;
    margin: 0 .5em;
}

#main_visual .schedule {
    font-size: 3.12vw;
    padding: .3em 1em;
    margin-top: 3.9vw;
}

#main_visual h2 {
    text-align: center;
    padding: 0 2vw;
}

/* - 区画一覧 */

#kukaku {
    width: auto;
    margin: -18vw 0 5.46vw;
    padding: 0 10px;
}

#kukaku .btn_access {
    width: 12.5vw;
    left: 53.12vw;
    bottom: 0;
}

.kukaku_photo {
    width: 100%;
    margin: 0 auto 15.6vw;
    flex-wrap:wrap;
}
  
.kukaku_photo li{
    width:33vw;
}
  
.kukaku_photo li img{
  width:33vw;
  height:22vw;
}

/* - お知らせ */

.block_info {
    padding: 6.25vw;
    margin-bottom: 15.6vw;
  display:block;
}

.block_info > .inr {
    width: auto;
  margin:0 0 20px 0;
}

.list_info li {
    font-size: 1.2rem;
}

.list_info a {
    display: flex;
    flex-wrap: wrap;
    text-decoration: none;
    line-height: 1.2;
    padding: .7em 0;
}

.list_info .date {
    box-sizing: border-box;
    width: 21vw;
    text-align: center;
}

.list_info .ttl {
    box-sizing: border-box;
    width: calc(100% - 21vw);
    padding-left: 1em;
}

/* - 選べる区画4タイプ */

.area_type_select {
    padding: 6.25vw 0 9.37vw;
}

.is_low .area_type_select{
  margin:9.37vw 0;
}


/* - 被災者等用の専用区画 */

.area_victim {
    padding: 6.25vw 0 26.56vw;
}

.area_victim a {
    display: block;
    padding: 3.9vw 16.87vw 3.9vw 6.25vw;
    font-size: 3.75vw;
    border-width: .46vw;
}

.area_victim a:after {
    right: 4.68vw;
    top: 0;
    bottom: 0;
    font-size: 4.68vw;
}

.area_victim .ttl {
    display: block;
    text-align: center;
    padding: 10px 20px;
    font-size: 5.31vw;
    border-width: .46vw;
    margin: 0 0 .2em;
}

.area_victim em {
    font-size: 1.41em;
}


/* - よくある質問 */

.area_qa {
    padding: 9.37vw 1.56vw;
  margin-top:100px;
}

.area_qa:before{
  top:-22.81vw;
  right:10px;
  width:60vw;
  height:22.81vw;
}

.is_low .area_qa{
  margin-bottom:9.37vw;
}

.list_qa li {
    width: auto;
    padding-left: 39px;
    margin-bottom: 53px;
}

.list_qa .num {
  top:.2em;
    width: 39px;
    height: 39px;
    border-radius: 20px;
    font-size: 1.6rem;
}

.list_qa dt {
    border-bottom: 2px solid #4eb799;
    padding-bottom: .2em;
    margin:0 0 .2em;
}

.btn_more {
    width: 46.87vw;
    font-size: 4vw;
    padding: .7em;
}

.btn_more:after {
    right: 3.12vw;
    margin: auto;
}

/* - アクセス */

.area_access {
    padding: 9.37vw 0;
}

.area_access .block_access {
    display: block;
    width: 72.58vw;
    margin: 7.81vw auto 0;
}

.area_access .add {
    text-align: center;
}

.area_access figure {
    margin-top: 1em;
}

.btn_gmap {
    display: block;
    width: 48.38vw;
    text-decoration: none;
    background: #ffcc00;
    padding: .8em 1em;
    margin: 0 auto;
}

/* - コミコミ価格さらに免震・耐震工事 */

.area_equipment {}

.area_equipment > .area_content {
    padding: 7.81vw 0 31.25vw;
}

.area_equipment > .area_content:before {
    left: 3.9vw;
    width: 60.93vw;
    height: 23.43vw;
}

.area_equipment > .area_content:after {
    width: 77.5vw;
    height: 23.12vw;
    right: 4.06vw;
}

.area_equipment .btn_performance {
    display: block;
    width: 67.18vw;
    margin: 14.84vw auto 0;
    text-align: center;
}

/* - 墓石工事の流れ */

.area_flow {
    padding: 15.62vw 0;
    margin-bottom: 12.5vw;
}

.area_flow h2 {
    width: 62.5vw;
    margin: 0 auto 15.62vw;
}

.list_flow {
    width: auto;
    font-size: 3.12vw;
}

.list_flow li {
    padding: 1.56vw 0 0 29.68vw;
}

.list_flow li:not(:last-child) {
    margin-bottom: 8.75vw;
}

.list_flow li h3 {
    font-size: 4.37vw;
}

.list_flow li .txt {
    width: 62.5vw;
}

.list_flow li .sp_order {
    display: flex;
    order: 2;
}

.list_flow li figure {
    display: flex;
    order: 1;
    width: 40.62vw;
    margin-bottom: 3vw;
}

.list_flow li .num {
    width: 21.87vw;
}

.list_flow:before {
    width: 4.06vw;
    height: calc(100% - 40vw);
    border-width: 1.25vw;
    top: 0;
    left: 9vw;
    bottom: auto;
}


/* 墓石ページ
--------------------------------------------------------------- */

#h_type_ttl {
    padding:4.68vw 3.9vw;
}

.area_boseki,
.block_gallery {
    background-repeat: repeat;
}

.block_boseki {
    width:auto;
    margin:0;
    padding:7.81vw 0;
}

.block_boseki .img {
  order:2;
  width:auto;
    min-width: 0;
  max-width:93.75vw;
  height:75vw;
  margin:0 auto;
}

.block_boseki .img > img{
  width:auto;
  height:100%;
}

.block_boseki .label {
    top: -3.12vw;
    right:0;
  width:20.31vw;
}

.block_boseki h2 {
  width:43.75vw;
    margin:0 auto .7em;
}

.block_boseki .description {
  order:1;
    width: 70.31vw;
    padding: 4.68vw;
  margin:0 auto 9.37vw;
}

.block_boseki .data {
  display:flex;
  flex-wrap: wrap;
  align-items: center;
    margin-top: .8em;
    font-size: 3.12vw;
}

.block_boseki .data h3{
  width:100%;
  margin-bottom:.1em;
}


.block_boseki .price{
    margin:0 .5em 0 0;
}

.block_boseki .price img{
  width:auto;
  height:9.37vw;
}

.block_gallery{
  padding:7.81vw 14.06vw;
}

.block_gallery ul {
    width:100%;
    margin: 0 auto -5.93vw;
}

.block_gallery li {
    position: relative;
  width:31.25vw;
  margin-bottom:5.93vw;
}

.block_gallery li:after {
    bottom:.78vw;
    border-width: 1.56vw 2.18vw 0 2.18vw;
    border-color: #9e383d transparent transparent transparent;

}

.h_boseki {
    padding: .2em 1em;
    margin-bottom: .4em;
  text-align:center;
}

.h_boseki em {
    font-style: normal;
    font-size: 1.3em;
}


/* 墓石ページ 個別クラス - アイリスNEO
--------------------------------------------------------------- */

.style_neo {
    width:70.93vw;
    margin: 0 auto 12.5vw;
}

.style_neo .box:not(:last-child){
  margin-bottom:5.46vw;
}

.style_neo .box .num {
  width:7.81vw;
    position: absolute;
    top: -3.12vw;
    left: -3.12vw;
}

.style_neo .block_head {
    position: relative;
    margin-bottom:5.46vw;
}

.style_neo .type1 {
    width:auto;
}

.style_neo .type1 .inr {
    padding: .5em 1em;
}

.style_neo .type2 {
    position:relative;
    top: auto;
    right: auto;
    width:auto;
}

.style_neo .type3 {
    position:relative;
    width:auto;
    right:auto;
    bottom:auto;
}

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

.style_neo .wrap figure {
    width:39.06vw;
}

.style_neo .wrap .inr {
    width: calc(100% - 39.06vw);
    padding: 1em;
}

.style_neo .type4 {
    position: relative;
    padding:4.68vw 5.46vw;
}

.list_floorseries {
    font-size:2.81vw;
    margin: 1em 0 -1.8em;
}

.list_floorseries li{
  width:28vw;
  margin-bottom:1.8em;
}

.list_floorseries li .zoom{
  width:10vw;
  right:-2.5vw;
  bottom:-2.5vw;
}
  

/* 墓石ページ 個別クラス - プリエール
--------------------------------------------------------------- */

.style_priere{
    width:auto;
  padding:0 14.06vw;
    margin:0 0 12.5vw;
}

.style_priere .box {
  padding:3.9vw 5.46vw 7.8vw;
    background: rgba(255, 255, 255, 1);
    line-height: 1.4;
}

.style_priere .box .h_boseki{
  margin-bottom:1.5em;
}

.list_priere_color{
  width:auto;
  margin:0 auto -10vw;
}

.list_priere_color li{
  width:25.62vw;
  font-size:2.5vw;
  margin-bottom:10vw;
}

.list_priere_color figure{
  margin-bottom:.8em;
}


/* お知らせページ
--------------------------------------------------------------- */

.area_info{
  padding:7.81vw 0;
}

.area_info .date{
  font-size:.9em;
}


/* 各種パーツ - 見出し
--------------------------------------------------------------- */

.h_type1 {
    font-size: 5.46vw;
    margin-bottom: 12.5vw;
}

.h_type2 {
    font-size: 4.37vw;
    letter-spacing: .1em;
    margin-bottom: 1em;
}


/* 各種パーツ - テーブル
--------------------------------------------------------------- */

.tbl_type1 th,
.tbl_type1 td {
    padding: .2em 0;
}

.tbl_type2 {
    font-size: 2.6vw;
    border-spacing: .62vw;
}

.tbl_type2 th,
.tbl_type2 td {
    line-height: 1.4;
}

.tbl_type2 th {}

.tbl_type2 td {
    height: 9.37vw;
}

.tbl_type2 .box_type > div {
    padding-left: 7.2vw;
}

/* アニメーション フラグ
--------------------------------------------------------------- */

.anime_flg.is_slide_bottom{
  transform: translate(0,50px); 
}
  
.anime_flg.on,
.anime_flg_turn.on{
    opacity: 1.0 !important;
    transform: translate(0,0) !important;   
}
  
.toContact{
  right:0px;
  bottom:0px;
  padding:10px;
  line-height: 1.4;
  border-radius:5px 0 0 0;
}

.toContact img {
  display:none;
}
  

/* 固定メニュー用 アンカー位置調整 header+22.18vw
--------------------------------------------------------------- */

#anc_about{margin-top:calc(-1 * (22.18vw + 7vw)); padding-top:calc(22.18vw + 7vw);}
#anc_plan{margin-top:-22.18vw; padding-top:22.18vw;}
#anc_access{margin-top:-22.18vw; padding-top:22.18vw;}
#anc_equipment{margin-top:-22.18vw; padding-top:22.18vw;}
#anc_tenpo{margin-top:calc(-1 * (22.18vw + 7vw)); padding-top:calc(22.18vw + 7vw);}

.anchor_block {
    margin-top: -22.18vw;
    padding-top: 22.18vw;
}
  
}

/* library */

.pc_only_block{display:block;}
.pc_only_inline{display:inline;}

.sp_only_block{display:none;}
.sp_only_inline{display:none;}

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

.pc_only_block{display:none;}
.pc_only_inline{display:none;}

.sp_only_block{display:block;}
.sp_only_inline{display:inline;}

}

/* margin
--------------------------------------------------------------- */
.mauto{margin:0 auto;}.m0{margin:0;}.mb0{margin-bottom:0;}.mb1em{margin-bottom:1em;}.mb2em{margin-bottom:2em;}.mb5{margin-bottom:5px;}.mb10{margin-bottom:10px;}.mb15{margin-bottom:15px;}.mb20{margin-bottom:20px;}.mb25{margin-bottom:25px;}.mb30{margin-bottom:30px;}.mb35{margin-bottom:35px;}.mb40{margin-bottom:40px;}.mb50{margin-bottom:50px;}.mb300{margin-bottom:300px;}.mleft0{margin-left:0;}.mleft5{margin-left:5px;}.mleft10{margin-left:10px;}.mleft15{margin-left:15px;}.mleft20{margin-left:20px;}.mleft25{margin-left:25px;}.mleft30{margin-left:30px;}.mleft35{margin-left:35px;}.mright0{margin-right:0;}.mright5{margin-right:5px;}.mright10{margin-right:10px;}.mright15{margin-right:15px;}.mright20{margin-right:20px;}.mright25{margin-right:25px;}.mright30{margin-right:30px;}.mright35{margin-right:35px;}.mtop0{margin-top:0;}.mtop5{margin-top:5px;}.mtop10{margin-top:10px;}.mtop15{margin-top:15px;}.mtop20{margin-top:20px;}.mtop25{margin-top:25px;}.mtop30{margin-top:30px;}.mtop35{margin-top:35px;}

/* padding
--------------------------------------------------------------- */
.p0{padding:0;}.p5{padding:5px;}.p10{padding:10px;}.p15{padding:15px;}.pb0{padding-bottom:0;}.pb5{padding-bottom:5px;}.pb10{padding-bottom:10px;}.pb15{padding-bottom:15px;}.pb20{padding-bottom:20px;}.pb25{padding-bottom:25px;}.pb30{padding-bottom:30px;}.pb35{padding-bottom:35px;}.pleft0{padding-left:0;}.pleft5{padding-left:5px;}.pleft10{padding-left:10px;}.pleft15{padding-left:15px;}.pleft20{padding-left:20px;}.pleft25{padding-left:25px;}.pleft30{padding-left:30px;}.pleft35{padding-left:35px;}.pleft40{padding-left:40px;}.pleft45{padding-left:45px;}.pright0{padding-right:0;}.pright5{padding-right:5px;}.pright10{padding-right:10px;}.pright15{padding-right:15px;}.pright20{padding-right:20px;}.pright25{padding-right:25px;}.ptop0{padding-top:0;}.ptop5{padding-top:5px;}.ptop10{padding-top:10px;}.ptop15{padding-top:15px;}.ptop20{padding-top:20px;}.ptop25{padding-top:25px;}.ptop30{padding-top:30px;}.plr10{padding:0 10px;}.plr70{padding:0 70px;}

/* position
--------------------------------------------------------------- */
.txtleft{text-align:left;}.txtcenter{text-align:center;}.txtright{text-align:right;}.fleft{float:left;}.fright{float:right;}.clearfloat{clear:both;}

/* font
--------------------------------------------------------------- */
.bd{font-weight:bold;}.uline{text-decoration:underline;}.red{color:#FF0000;}.gold{color:#7F7611;}.green{color:#046B42;}.fsize11{font-size:11px;}.fsize12{font-size:12px;}.fsize13{font-size:13px;}


/* table
--------------------------------------------------------------- */
.vtop{vertical-align:top;}.vbottom{vertical-align:bottom;}.vmiddle{vertical-align:middle;}

/* clearfix
--------------------------------------------------------------- */
.cf:after{content:"";display:block;clear:both;}

/*
-------------------------------------------------------------------------------
 Responsive style
-------------------------------------------------------------------------------
*/

/* Responsive margin
--------------------------------------------------------------- */
.mb5rd{margin-bottom:5px;}.mb10rd{margin-bottom:10px;}.mb15rd{margin-bottom:15px;}.mb20rd{margin-bottom:20px;}.mb25rd{margin-bottom:25px;}.mb30rd{margin-bottom:30px;}.mb35rd{margin-bottom:35px;}.mb40rd{margin-bottom:40px;}.mb50rd{margin-bottom:50px;}.mb300rd{margin-bottom:300px;}.mleft5rd{margin-left:5px;}.mleft10rd{margin-left:10px;}.mleft15rd{margin-left:15px;}.mleft20rd{margin-left:20px;}.mleft25rd{margin-left:25px;}.mleft30rd{margin-left:30px;}.mleft35rd{margin-left:35px;}.mright5rd{margin-right:5px;}.mright10rd{margin-right:10px;}.mright15rd{margin-right:15px;}.mright20rd{margin-right:20px;}.mright25rd{margin-right:25px;}.mright30rd{margin-right:30px;}.mright35rd{margin-right:35px;}.mtop5rd{margin-top:5px;}.mtop10rd{margin-top:10px;}.mtop15rd{margin-top:15px;}.mtop20rd{margin-top:20px;}.mtop25rd{margin-top:25px;}.mtop30rd{margin-top:30px;}.mtop35rd{margin-top:35px;}

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

/* SP Responsive margin
--------------------------------------------------------------- */
.mb5rd{margin-bottom:2.5px;}.mb10rd{margin-bottom:5px;}.mb15rd{margin-bottom:7.5px;}.mb20rd{margin-bottom:10px;}.mb25rd{margin-bottom:12.5px;}.mb30rd{margin-bottom:15px;}.mb35rd{margin-bottom:17.5px;}.mb40rd{margin-bottom:20px;}.mb50rd{margin-bottom:25px;}.mb300rd{margin-bottom:150px;}.mleft5rd{margin-left:2.5px;}.mleft10rd{margin-left:5px;}.mleft15rd{margin-left:7.5px;}.mleft20rd{margin-left:10px;}.mleft25rd{margin-left:12.5px;}.mleft30rd{margin-left:15px;}.mleft35rd{margin-left:17.5px;}.mright5rd{margin-right:2.5px;}.mright10rd{margin-right:5px;}.mright15rd{margin-right:7.5px;}.mright20rd{margin-right:10px;}.mright25rd{margin-right:12.5px;}.mright30rd{margin-right:15px;}.mright35rd{margin-right:17.5px;}.mtop5rd{margin-top:2.5px;}.mtop10rd{margin-top:5px;}.mtop15rd{margin-top:7.5px;}.mtop20rd{margin-top:10px;}.mtop25rd{margin-top:12.5px;}.mtop30rd{margin-top:15px;}.mtop35rd{margin-top:17.5px;}
  
}


/* Responsive padding
--------------------------------------------------------------- */
.p5rd{padding:5px;}.p10rd{padding:10px;}.p15rd{padding:15px;}.pb5rd{padding-bottom:5px;}.pb10rd{padding-bottom:10px;}.pb15rd{padding-bottom:15px;}.pb20rd{padding-bottom:20px;}.pb25rd{padding-bottom:25px;}.pb30rd{padding-bottom:30px;}.pb35rd{padding-bottom:35px;}.pleft5rd{padding-left:5px;}.pleft10rd{padding-left:10px;}.pleft15rd{padding-left:15px;}.pleft20rd{padding-left:20px;}.pleft25rd{padding-left:25px;}.pleft30rd{padding-left:30px;}.pleft35rd{padding-left:35px;}.pleft40rd{padding-left:40px;}.pleft45rd{padding-left:45px;}.pright5rd{padding-right:5px;}.pright10rd{padding-right:10px;}.pright15rd{padding-right:15px;}.pright20rd{padding-right:20px;}.pright25rd{padding-right:25px;}.ptop5rd{padding-top:5px;}.ptop10rd{padding-top:10px;}.ptop15rd{padding-top:15px;}.ptop20rd{padding-top:20px;}.ptop25rd{padding-top:25px;}.ptop30rd{padding-top:30px;}.plr10rd{padding:0 10px;}.plr70rd{padding:0 70px;}


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

/* SP Responsive padding
--------------------------------------------------------------- */
.p5rd{padding:2.5px;}.p10rd{padding:5px;}.p15rd{padding:7.5px;}.pb5rd{padding-bottom:2.5px;}.pb10rd{padding-bottom:5px;}.pb15rd{padding-bottom:7.5px;}.pb20rd{padding-bottom:10px;}.pb25rd{padding-bottom:12.5px;}.pb30rd{padding-bottom:15px;}.pb35rd{padding-bottom:17.5px;}.pleft5rd{padding-left:2.5px;}.pleft10rd{padding-left:5px;}.pleft15rd{padding-left:7.5px;}.pleft20rd{padding-left:10px;}.pleft25rd{padding-left:12.5px;}.pleft30rd{padding-left:15px;}.pleft35rd{padding-left:17.5px;}.pleft40rd{padding-left:20px;}.pleft45rd{padding-left:22.5px;}.pright5rd{padding-right:2.5px;}.pright10rd{padding-right:5px;}.pright15rd{padding-right:7.5px;}.pright20rd{padding-right:10px;}.pright25rd{padding-right:12.5px;}.ptop5rd{padding-top:2.5px;}.ptop10rd{padding-top:5px;}.ptop15rd{padding-top:7.5px;}.ptop20rd{padding-top:10px;}.ptop25rd{padding-top:12.5px;}.ptop30rd{padding-top:15px;}.plr10rd{padding:0 5px;}.plr70rd{padding:0 35px;}

}

/* Error */

.error {
  margin: 100px 0 0 0;
  padding: 0;
  width: 500px;
  text-align: right;
}

.error-box {
  margin: 0;
  padding: 15px;
  font-size: 14px;
  text-align: left;
  border: solid 1px #888888;
  background-color: #ffffff;
}

@media screen and (max-width:640px){
 
  .error{
    width:90%;
    margin:100px auto 0;
  }
  
}

/* eh専用css */

.is_qa .area_qa{
  margin:0 0 180px;
}

@media screen and (max-width:640px){
  
  .is_qa .area_qa{
  margin:0 0 60px;
}
  
}

/* add - 新規追加 */

.event2022{
  position:absolute;
  top:75vw;
  left:5vw;
  animation:updown 3s infinite ease-in-out alternate;
  z-index:100;
  max-width:30vw;
}

@keyframes updown {
100% {
  transform:translateY(20px);
}
}

@media print,screen and (min-width:641px){
  
    #main_visual.is-v2{
      height:960px;
    }
  
  .event2022{
    top:50px;
    right:calc(50% - 550px);
    left:auto;
  }

}
  
  #main_visual.is-v2:before {
    background-image:url(usr_img/top/bg_main2.jpg);
  }
  
  #main_visual.is-v2 h1{
    color:#000;
    text-shadow:
      #fff 1px 1px 3px, #fff -1px 1px 3px,
          #fff 1px -1px 3px, #fff -1px -1px 3px;
    margin-bottom:1em;  
  }

.kukaku_photo br{display:none;}

.tweet{
  width:370px;
  max-height:350px;
  overflow:auto;
}


.is_output footer,
.is_output main,
.is_output .toContact{
  display:none;
}

.event2023spring{
text-align:center;
  margin-bottom:3em;
}

