/*
Theme Name: 自然サイクル
Theme URL: http://sizencycle.jp
Description: 自然サイクル
Author: 自然サイクル
Version: 1.0
License URI: http://sizencycle.jp
*/

/* reset */
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

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;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
    font-weight: normal;
}

p {
    margin-bottom: 1rem;
}

.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{
    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;
}
/* reset end*/

/*　bootstrap　*/

.container{
    width:960px !important;
    margin:0 auto;
}
.containerB {
    width: 80%;
    margin: auto;
}


/* default */

*{
    margin:0;
    padding:0;
    line-height:1;
    box-sizing:border-box;
    font-weight: 200;
    outline:0;
}

html{
    height:100%;
    font-size:16px;
}

body{
    height:100%;
    /* font-family: 'NotoSansCJK', serif; */
    font-family: 'Noto Sans Japanese', 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, '游ゴシック体', 'ヒラギノ角ゴ Pro W3', 'メイリオ', sans-serif;
    color:#000000;
    font-size:1rem;
    font-weight: 200;
}

ul{
    list-style-type:none;
}

a,a:visited,a:hover,a:active{
    text-decoration:none;
    color:#000000;
}

h1,h2,h3,h4{
    margin:0;
    color:#009ad1;
}

button{
    cursor:pointer;
}

button:focus{
  outline:none;
}


/* common */

.my_container{
    height:100%;
}

a.detail_btn{
    display:block;
    width:230px;
    background-color:#ffffff;
    border:2px solid #009ad1;
    border-radius:5px;
    padding:1em;
    color:#009ad1;
    margin-top:40px;
    transition:.3s;
    transition-property:color,background-color,border;
}

a.detail_btn:hover{
  color:#ffffff;
  background-color:#009ad1;
  border:2px solid #ffffff;
}

.detail_btn:hover .fa-chevron-right{
  transition:.3s;
  transition-property:color;
  color:#ffffff;
}

.detail_btn .fa-chevron-right {
    float:right;
}

.bg_cream{
    background-color:#fbf2df;
}

.bg_lightblue{
  background-color:#ebf7fc;
}

/*　header　*/

header{
    background-color:white;
    position:fixed;
    width:100%;
    top:-100px;
    left:0;
    z-index:1000;
    border-bottom:1px solid #cccccc;
}

header.notfound{
    top: 0;
}

header .container .navbar {
    padding-left: 0;
    padding-right: 0;
}

header .container .navbar .nav-item .nav-link {
    font-weight: 300;
}

header > nav{
    padding:20px 50px !important;
    background-color:white !important;
}

.nav-link{
    color:#000000 !important;
    padding-right: 20px !important;
    padding-left: 20px !important;
    border-right:1px solid #d0e8f0;
}

.nav-link .fa-chevron-right{
  color:#009ad1 !important;
}

.nav-item span{
  cursor:pointer !important;
}

.navbar-nav li:first-of-type .nav-link {
  border-left:1px solid #d0e8f0;
}

#header_logo{
    width:260px;
    border-radius:10px;
    border:3px solid #009ad1;
    color: #fff;
    font-size:19px;
    font-weight:500;
    text-align:center;
    padding:7px 0;
    background-color: #009ad1;
}

#header_logo span{
    font-size:14px;
    font-weight:inherit;
    letter-spacing:7px;
    display:block;
}

#sp_menu_btn{
    border-color:transparent;
}

#hamburger{
  background-image:none !important;
  position:relative;
  width:30px;
  height:30px;
}

#hamburger span {
    display: block;
    background-color:#7b7b7b;
    width: 24px;
    height: 2px;
    position: absolute;
    left: 4px;
    transition: all 0.4s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
}

#hamburger span:first-child {
    top: 5px;
}

#hamburger span:nth-child(2) {
    margin-top: -1px;
    top: 50%;
}

#hamburger span:last-child {
    bottom: 5px;
}

#hamburger.active span:first-child {
    -webkit-transform: translateY(8px) rotate(45deg);
    -moz-transform: translateY(8px) rotate(45deg);
    -ms-transform: translateY(8px) rotate(45deg);
    transform: translateY(8px) rotate(45deg);
    background-color:#7b7b7b;
}

#hamburger.active span:nth-child(2) {
    opacity: 0;
}

#hamburger.active span:last-child {
    -webkit-transform: translateY(-10px) rotate(-45deg);
    -moz-transform: translateY(-10px) rotate(-45deg);
    -ms-transform: translateY(-10px) rotate(-45deg);
    transform: translateY(-10px) rotate(-45deg);
    background-color:#7b7b7b;
}

.overlay{
    width:100%;
    height:180px;
    background-color:rgba(0,0,0,0.7);
    position:absolute;
}

#tooltip_btn{
    cursor:pointer;
}

.tc{
    width:810px;
    background-color:#ffffff;
    border-radius:10px;
    padding:1.1rem 2rem;
    position:absolute;
    top:15px;
    left:-570px;
}

.tc_arrow{
    display:block;
    position:absolute;
    top:-13px;
    left:380px;
}

.tc h3{
    font-size:1.1rem;
    font-weight: 300;/*500;*/
    padding-bottom:5px;
    border-bottom:1px dotted #009ad1;
}

.tc a:hover{
    background-color:#fbf2df;
}

.tc_image{
    width:70px;
    height:70px;
    overflow:hidden;
}

.tc_caption{
    line-height:1.5;
    font-weight: 300;/*500;*/
}


/* top page */

.slide_logo{
  position:absolute;
  top:50%;
  left:50%;
  width:15%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  -o-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  z-index: 999;
}

.slide_logo img {
    width: 100%;
}
.slide_arrow{
  /*margin-top:-90px;*/
  position: absolute;/*relative;*/
   bottom: 60px;
   left: 50%;
  /*margin-bottom:60px;*/
  -webkit-transform: translateX(-50%);
     -moz-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
       -o-transform: translateX(-50%);
          transform: translateX(-50%);
 z-index: 999;
}

.slide_arrow .fa-chevron-down{
  color:white;
  font-size: 48px;/*30px;*/
}

#home section{
    padding:60px 0;
}

#home.menu_open {
    background: #fff;
    opacity: 0;
    pointer-events: none;
}

#home section h2{
    font-weight:500;
    text-align:center;
    font-size:1.5rem;
    letter-spacing:4px;
    margin-bottom:30px;
}

#home section h2 span{
    display:block;
    text-align:center;
    font-size:0.5em;
    margin-top:10px;
    color:#000000;
    letter-spacing:2px;
}

#home .service_section{
    background-image:url("images/bg_service.gif");
}

#home .service_item{
    background-color:#ffffff;
}

#home .service_item .image-box:hover{
  transition:.7s;
  transition-property:opacity;
  opacity:0.7;
}

#home .service_item h3{
    font-size:1.2rem;
    margin-bottom:1rem;
}

#home .service_item p{
    line-height:1.5;
}

#home .service_item p span{
    color: red;
}

#home .service_item .detail_btn{
    width:185px;
    background-color:#fba700;
    border:none;
    border-radius:0;
    padding:0.7rem 0.5rem;
    font-size:0.8rem;
    color:#ffffff;
    margin-top:0;
    border:2px solid #ffffff;
}

#home .service_item .detail_btn:hover{
  transition:.3s;
  transition-property:color,background-color,border-color;
  background-color:#ffffff;
  border:2px solid #fba700;
  color:#fba700;
}

#home .service_item .detail_btn:hover .fa-chevron-right{
  transition:.3s;
  color:#fba700;
  transition-property:color;
}

#home .service_item a.detail_btn {
    color:#ffffff;
}

.service_item_wrap {
    width: 30%;
}
.service_item_wrap:nth-of-type(3n - 1) {
    margin: auto;
}
@media (max-width: 991px) {
    .containerB {
        max-width: 560px;
    }
    .service_item_wrap {
        width: 100%;
        margin-bottom: 50px;
    }
    .service_item_wrap:nth-of-type(3n - 1) {
        margin: auto;
        margin-bottom: 50px;
    }
}
@media (min-width: 992px) {
    .fz-variable-h3 {
        font-size: calc(13 * 0.1rem + ((1vw - 992 / 100 * 0.1rem) * 100 * (19.2 - 13) / (1512 - 992)))!important;
    }
    .fz-variable-p {
        font-size: calc(10 * 0.1rem + ((1vw - 992 / 100 * 0.1rem) * 100 * (16 - 10) / (1512 - 992)));
    }
}

.bg{
    width:100%;
    height:190px;
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center;
}

.bg.header_temple{
    background-image:url('images/bg_header_temple.jpg');
}

.bg.header_about{
    background-image:url('images/bg_header_about.jpg');
}

.bg.header_news {
    background-image:url('images/bg_header_news.jpg');
}

.bg.flower{

    background-image:url('images/bg_flower.jpg');
}

.bg.sky{
    background-image:url('images/bg_sky.jpg');
}

#home .bg.flower{
    background-attachment: fixed;
}
#home .bg.sky{
    background-attachment: fixed;
}

#home .about_section p{
    line-height:2;
}


#home .news_section ul *{
    font-size:1em;
}

#home .news_list{
    padding: 1em 0;
    border-color:#009ad1;
    transition:.5s;
    transition-property:background-color;
}

.news_list time{
    color:#cccccc;
    transition:.5s;
    transition-property:color;
    font-size:0.9rem !important;
}

#home .news_list h4{
    margin:0;
}

.news_list:hover{
    background-color:#ebf7fc;
}

.news_list:hover time,.news_list:hover h4{
    color:#009ad1;
}

#home .about_section .bn img {
	width: 30%;
	height: auto;
}

/* page */

.page_title{
    height:180px !important;
}

.section_title{
    color: #009ad1;
    font-size:1.3rem;
    padding-bottom:20px;
    margin-bottom:45px;
    border-bottom:1px dashed #009ad1;
    text-align:center;
}

.page_title h2{
    font-weight: 300;/*500;*/
    text-align:center;
    font-size:1.5rem !important;
    letter-spacing:4px;
    color:#ffffff;
}

.page_title h2 span{
    display:block;
    text-align:center;
    font-size:0.5em;
    margin-top:10px;
    color:#ffffff;
    letter-spacing:2px;
}

#page section{
    margin-top:70px;
}

#page section:last-of-type{
    margin-bottom:120px;
}

#page section p{
    line-height:2;
}

#page section p span{
   color: red;
}

#page .service_images{
  height:330px;
  overflow:hidden;
}

#page section h2{
    color: #009ad1;
    font-size:1.3rem;
    padding-bottom:20px;
    margin-bottom:45px;
    border-bottom:1px dashed #009ad1;
    text-align:center;
}

#page .access_section h2{
    width:100%;
    background-color:#009ad1;
    color:#ffffff !important;
    margin-bottom:45px;
}

#page .access_section .row .row{
    border:2px solid #009ad1;
    padding-bottom:60px;
}

#page .access_section h3{
    font-size:1.4rem;
    color:#000000;
}

#page .access_section p{

}

#page .access_section h3 span{
    display:inline-block;
    font-size:1rem;
    margin-bottom:0.6rem;
}

#page .access_section .detail_btn{
    margin-top:0;
    color:#009ad1;
    border-radius:10px;
    font-weight:500;
}

#page .access_section .detail_btn:hover{
  transition:.3s;
  transition-property:color,background-color;
  color:#ffffff;
}

#page .access_section #googlemap{
    width:100%;
    height:200px;
    margin-top:40px;
    margin-bottom:40px;
}

#page .access_section a.detail_btn.contact_btn{
    display:block;
    width:550px;
    margin:0 auto;
    text-align:center;
    background-color:#fe732a;
    border-radius:10px;
    font-size:1.2rem;
    border:none;
    padding:1em;
    color:#ffffff;
    border:2px solid transparent;
}

#page .access_section a.detail_btn.contact_btn:hover{
  transition:.3s;
  transition-property:color,background-color,border;
  color:#fe732a;
  border-color:#fe732a;
  background-color:#ffffff;
}

#page .access_section a.detail_btn.contact_btn:hover .fa-chevron-right{
  transition:.3s;
  transition-property:color;
  color:#fe732a;
}

#page  .access_section #caution {
  margin-top: 40px;
  text-indent:-1em; margin-left:1em;
}

/*　news archive */

#news{
    margin-bottom:90px;
}

#news .page_title{
    margin-bottom:50px;
}

#news *{
    font-size:1rem;
}

#news h2{
    font-size:1.3rem;
}

#news h3{
    color:#000000;
    font-size:1rem;
    border-bottom:1px solid #000000;
    font-weight:500;
    padding-bottom:3px;
    letter-spacing:4px;
    margin-bottom:1em;
}

.news_left{
  max-width: 55%;
  margin-left: 8%;
  margin-right: 3%;
}

.news_list{
    border-bottom:1px dashed #cccccc;
}

.news_list time{
    color:#cccccc;
    line-height:1.5;
}

.news_list h4{
    margin-top:0.6em;
    color:#000000;
    line-height:1.5;
    font-weight:normal;
}

.recent_news h4{
    color:#000000;
    margin-bottom:1em;
    line-height:1.5;
    font-weight:normal;
}

.recent_news h4:hover{
  color:#009ad1;
  transition:.3s;
  transition-property:color;
}

.past_news ul li{
    display:block;
    margin-bottom:1em;
}

.page-numbers{
    margin-top:50px;
    margin-bottom:50px;
    width:100%;
    display:flex;
    display:-webkit-flex;
    justify-content:center;
}

.page-numbers li{
    margin:0 5px;
}

.page-numbers li a, .page-numbers li span{
    border-radius:5px;
    border:1px solid #009ad1;
    width:40px;
    height:40px;
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    -webkit-justify-content: center;
    align-items: center;
    -webkit-align-items: center;
}

.page-numbers li a.prev,
.page-numbers li a.next,
.page-numbers li.single-pager a{
  width:auto;
  padding-left:10px;
  padding-right:10px;
}

.page-numbers li a:hover{
    color:#009ad1;
    background-color:#ebf7fc;
}

.page-numbers li span.current{
    background-color:#009ad1;
    color:#ffffff;
}

.page-numbers li span.dots{
    background-color:transparent;
    border:none;
    color:#000000;
    padding-right:0;
    padding-left:0;
}


/* news single */

#news h3.news_single_title{
    color:#000000;
    font-size:1.5rem;
    border:none;
    margin:0;
    font-weight:normal;
    line-height:1.5;
}

#news time.news_single_date{
    display:inline-block;
    margin:20px 0 40px;
    color:#cccccc;
}

.news_content,
.news_content p{
    line-height:1.5;
}

.news_content img{
    max-width:100% !important;
    height:auto !important;
    margin-top:1rem;
    margin-bottom:1rem;
}


/* contact */

/* for Webkit */
.form-control::-webkit-input-placeholder{
    color: #cccccc;
}

/* for Firefox */
.form-control::-moz-placeholder{
    color: #cccccc;
}

/* for Firefox 18以前 */
.form-control:-moz-placeholder{
  color: #cccccc;
}

/* for Windows IE */
.form-control:-ms-input-placeholder{
  color: #cccccc;
}

select{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
select::-ms-expand {
    display: none;
}

.select-box > select{
  background-color: rgba(255,255,255,0.1) !important;
  position: relative;
  z-index: 2;
}

.select-box .fa-chevron-down{
  color:#cccccc;
  position: absolute;
  top: 0.7rem;
  right: 2rem;
}

[class^="error-"]{
    color:red;
    display: none;
    font-size:13px;
    margin-top:10px;
    margin-left:1em;
}

#contact .page_title{
    margin-bottom:70px;
}

#contact .form-group {
    padding-top:20px;
    padding-bottom:20px;
    border-bottom:1px solid #cccccc;
    margin-bottom:0;
}

#contact .form-group:nth-of-type(-n+4) label {
    position: relative;
}

#contact .form-group:nth-of-type(-n+4) label:after {
    background: #e8341a;
    color: #fff;
    content: "必須";
    display: block;
    font-size: 10px;
    padding: 2px 20px;
    position: absolute;
        right: 0;
        top: 10px;
}

#contact .form-group.family_stupa {
    align-items: baseline;
}

#contact form[name="confirm_form"] .form-group {
    align-items: center;
}

#contact form[name="confirm_form"] .form-group:nth-of-type(-n+4) label:after {
    top: 50%;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
         -o-transform: translateY(-50%);
            transform: translateY(-50%);
}

#contact label{
    color:#009ad1;
}

#contact input[type=text],
#contact textarea{
    border-radius:0 !important;
}

#contact input[type=text]::placeholder {
    font-weight: 100;
}

.contact_form_btn,a.contact_form_btn{
    display:inline-block;
    color:#ffffff;
    background-color:#009ad1;
    width:300px;
    height:50px;
    line-height:50px;
    border:none;
    margin-bottom:60px;
    margin-top:20px;
    text-align:center;
    cursor:pointer;
}

.contact_form_btn > a {
    color:#ffffff;
}

#contact .radio_box {
    display: flex;
        align-items: center;
}

#contact .radio_box input[type="radio"] {
    width: auto;
    margin-right: 1em;
}

#contact .radio_box span {
    margin-right: 2em;
}

#contact .radio_box p {
    color: red;
    font-size: 14px;
    margin-bottom: 0;
}
.thanks_message{
    font-size:1.8rem;
    text-align:center;
    line-height:1.5;
}

.thanks_message > span{
    display:block;
    font-size:1rem;
    line-height:1.5;
    margin:45px 0;
}

.thanks_tel{
    height:90px;
    border:1px solid #56b2db;
    color:#56b2db;
    font-weight:500;
    text-align:center;
}

.thanks_tel_number{
    font-size:3rem;
}

/*inquiry*/

.inquiry .page_title,
.compleat .page_title {
    margin-bottom: 70px;
}
.compleat .comp__container {
    margin-bottom: 70px;
}
.compleat .comp__container .comp_text {
    margin: 0 auto;
    text-align: center;
}

.inquiry #contact_form ul .contact__col {
    border-bottom: 1px solid #ccc;
    display: flex;
    padding: 20px 0;
}

.inquiry #contact_form ul .contact__col .contact__col__left {
    display: flex;
        align-items: center;
        justify-content: space-between;
    margin-right: 15px;
    width: 200px;
}

.inquiry #contact_form ul .contact__col:last-of-type .contact__col__left {
    align-self: flex-start; 
}

.inquiry #contact_form ul .contact__col--your-address .contact__col__left {
    align-self: flex-start; 
}

.inquiry #contact_form ul .contact__col .contact__col__right {
    width: 585px;
}

.inquiry #contact_form ul .contact__col .contact__col__right input[type="text"],
.inquiry #contact_form ul .contact__col .contact__col__right input[type="email"] {
    color: #495057;
    font-size: 1rem;
    line-height: 1.5;
    padding: .375rem .75rem;
    width: 466.66px;
}

.inquiry #contact_form ul .contact__col .contact__col__right input[type="text"]::placeholder,
.inquiry #contact_form ul .contact__col .contact__col__right input[type="email"]::placeholder,
.inquiry #contact_form ul .contact__col .contact__col__right textarea::placeholder {
    color: #ccc;
}

.inquiry #contact_form ul .contact__col--your-address .contact__col__right input[type="text"] {
    margin-bottom: 1rem;
}

.inquiry #contact_form ul .contact__col--your-address .contact__col__right .postal-code {
    display: block;
    width: 266.66px;
}


.inquiry #contact_form ul .contact__col--your-address .contact__col__right .postal-code input[name="postal-code"] {
    width: 100%;
}

.inquiry #contact_form ul .contact__col--your-address .contact__col__right input[name="your-address2"] {
    margin-bottom: 0;
}

.inquiry #contact_form ul .contact__col .contact__col__right textarea {
    border: 1px solid #ccc;
    color: #495057;
    font-size: 1rem;
    line-height: 1.5;
    padding: .375rem .75rem;
    width: 518.33px;
}

.inquiry #contact_form label {
    color: #009ad1
}

.inquiry #contact_form .require {
    background: rgb(232, 52, 26);
    color: #fff;
    font-size: 10px;
    line-height: 1.5;
    padding: 2px;
    text-align: center;
    width: 60px;
}

.inquiry #contact_form {
    width: 800px;
}

.inquiry #contact_form  .submit-button,
.inquiry #contact_form  .back-button {
    text-align: center;
}

.inquiry #contact_form  .submit-button input[type="submit"],
.inquiry #contact_form  .back-button input[type="button"] {
    color: #ffffff;
    display: block;
    margin: 0 auto;
    width: 300px;
    height: 50px;
    line-height: 50px;
    border: none;
    margin-top: 20px;
    text-align: center;
    cursor: pointer;
}

.inquiry #contact_form  .submit-button input[type="submit"] {
    background: #009ad1;
}
.inquiry #contact_form  .back-button input[type="button"] {
    background: #6c757d
}

.wpcf7-not-valid-tip {
    color: red;
    font-size: 13px;
    margin-top: 10px;
    margin-left: 1em;
}

.wpcf7-not-valid-tip:before {
    content: "\f071";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
}
.wpcf7c-conf {
    background: #fff;
    border: none;
}

/* about */

#about .container section:nth-of-type(3) .col-lg-8.col-md-12.offset-lg-2 {
    box-sizing: border-box;
    flex: 0 0 644px;
    margin: 0 auto;
    max-width: 100%;
    padding: 0;
}

#about section{
    margin-bottom:50px;
}

#about .numbering{
  margin-left:1em;text-indent:-1em;
  margin-bottom:0 !important;
}

#about h3{
    color:#000000;
    font-size:1.25rem;
    font-weight:500;
}

#about .page_title{
    margin-bottom:70px;
}

#about .section_title>span{
    font-size:0.7em;
}

.about_caption, .about_caption *{
    line-height:2;
}

#about dl dt{
    font-size:1.2rem;
    font-weight:500;
    letter-spacing:2px;
}

#about dl.business_dl dt{
    font-size:1.1rem;
    margin-top:2rem;
    font-weight:500;
}

#about .company_name p{
    padding-bottom:0.5em;
    border-bottom:1px solid #cccccc;
}

#about .company_name span{
    float:right;
}

#about img.japan_map{
  width:100%;
  height:auto;
  object-fit: cover;
  object-position: center;
}


/* link */

#link .container section:nth-of-type(3) .col-lg-8.col-md-12.offset-lg-2 {
    box-sizing: border-box;
    flex: 0 0 644px;
    margin: 0 auto;
    max-width: 100%;
    padding: 0;
}

#link section{
    margin-bottom:50px;
}

#link h3{
    color:#000000;
    font-size:1.25rem;
    font-weight:500;
}

#link .page_title{
    margin-bottom:70px;
}

#link .section_title>span{
    font-size:0.7em;
}

#link dl dt{
    font-size:1.2rem;
    font-weight:500;
    letter-spacing:2px;
}

#link dl.link_dl dt{
    font-size:1.1rem;
    margin-top:2rem;
    font-weight:500;
}

#link .site_name p{
    padding-bottom:0.5em;
    border-bottom:1px solid #cccccc;
    line-height: 160%;
}

#link .site_name span{
    float:right;
}

/* 404 */
.error404 .my_container h1.pagetitle {
    font-size: 24px;
    padding-top: 85px;
    text-align: center;
}
.error404 .my_container .pagebody {
    padding: 50px 0;
}
.error404 .my_container .error404__text {
    text-align: center;
}


/* footer */

footer section{
    padding:50px 0;
    background-color:#56b2db;
    letter-spacing:1px;
}

footer .container .row li p a {
    font-weight: 100;
}

footer section a,footer section a:visited{
    color:#ffffff;
}

footer section a:hover{
    color:#ffffff;
}

footer .copyright{
    font-size:0.8rem;
    padding:1em 0;
    background-color:#009ad1;
    color:#ffffff;
}

a.mail_btn, a.mailbtn:visited{
    display:inline-block;
    width:480px;
    background-color:#fba700;
    padding:1em;
    font-size:1.5rem;
    font-weight: 200;
    color:#ffffff;
    text-align:center;
    transition:.3s;
    border:3px solid transparent;
    transition-property:color,background-color;
}

a.mail_btn:hover{
    background-color:#ffffff;
    color:#fba700;
    border:3px solid #fba700;
}

.bg.temple{
    background-image:url('images/bg_temple.jpg');
}


/* bxslider */

.bx-wrapper{
    border:none;
    box-shadow:none;
    background-color:none;
    margin-bottom:0;
}

ul.top_slideshow{
    width:100%;
    height:100vh;
}

ul.top_slideshow li{
    height:100vh;
    width:100%;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
}

ul.top_slideshow, ul.top_slideshow * {
    -webkit-transition: initial;
       -moz-transition: initial;
        -ms-transition: initial;
         -o-transition: initial;
            transition: initial;
}

/* デスクトップ　*/
@media (max-width: 991px) {

    html{
        font-size:14px;
    }

    header .container{
        max-width:100% !important;
        padding-left:0 !important;
        padding-right:0 !important;
        width:100% !important;
    }

    #sp_menu_btn{
      margin-right:1rem;
  }

  #header_logo{
      margin-left:1rem;
      margin-bottom:.5rem;
  }

  .navbar{
      padding-right:0;
      padding-left:0;
      padding-bottom:0;
  }

  .navbar-nav{
    /*margin-top:1rem;*/
}

.navbar-nav li{
    border-top:1px solid #cccccc;
    padding:1rem 0;
    background-color:#ebf7fc;
}

.navbar-nav li.br{
    border-right:1px solid #cccccc;
}

.navbar-nav li a.bt{
    border-top:1px solid #cccccc;
}

.nav-item{
    width:50%;
    padding:0 1rem;
}

.nav-link{
    border-right:none !important;
    padding-left:1rem !important;
    padding-right:0 !important;
}

#page .service_images{
  height:290px;
}

.news_left{
  max-width: 63%;
  margin-left: 0;
  margin-right: 3%;
}

}
/* ユーティリティ */
.ta_C {
    text-align: center;
}

/* タブレット */
@media (max-width: 767px) {

    header > nav {
        padding-left: 15px !important;
        padding-right: 0 !important;
    }

    .mail_btn {
        width: 320px !important;
    }

    .contact_btn {
        width: 320px !important;
    }

    #page .access_section{
        border:none;
    }

    #page .service_images{
      height:auto;
      overflow:auto;
  }

  #news h3.news_single_title{
      font-size:1.4rem;
  }

  .news_left{
      max-width: 100%;
      margin-left: 0;
      margin-right: 0;
  }
	#home .about_section .bn {
	}
	#home .about_section .bn img {
		width: 50%;
		height: auto;
	}

  footer section{
      padding-top:3rem;
      padding-bottom:1rem;
  }

}


/* スマホ */
@media (max-width: 575px) {
    .bg.temple{
        height: auto;
        padding: 5vh;
    }
    .navbar-light .navbar-brand {
        margin: 0 auto 0 0 !important;
    }
    #header_logo{
      font-size:15px;
      width:180px;
  }

  #header_logo span{
      font-size:11px;
  }

  .slide_logo{
    width: 50vw;
    }

    .slide_logo img {
        width: 100%;
    }
    #home .bg.flower{
        background-attachment: scroll;
    }

    #home .bg.sky{
        background-attachment: scroll;
    }

    .container{
        width:100% !important;
    }

    #contact .form-group{
        border:none;
        padding-top:10px;
        padding-bottom:10px;
    }

    #contact .form-group:nth-of-type(-n+4) label:after {
        top: 50%;
        left: 10em;
        right: initial;
        -webkit-transform: translateY(-50%);
           -moz-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
             -o-transform: translateY(-50%);
                transform: translateY(-50%);
    }
    #contact .container .family_stupa .radio_box {
        flex-wrap: wrap;
    }

    #contact .container .family_stupa .radio_box p {
        margin-bottom: 0;
        margin-top: 1vh;
        width: 100%;
    }

    #contact .container .row p {
        margin-bottom: 1em;
    }

    #contact .container .row li.col-md-3:last-of-type p:last-of-type {
        margin-bottom: 0;
    }

    footer section{
      padding-bottom: 3rem;
    }
    footer.menu_open {
        background: #fff;
        opacity: 0;
        pointer-events: none;
    }

    .thanks_message{
        font-size:1.4rem;
    }

    #page .access_section .row .row{
        border:none;
    }

    .nav-item{
        width:100%;
    }

    .navbar-nav li{
        padding-left:0 !important;
        border-right:none !important;
    }

    #news h3.news_single_title{
      font-size:1.2rem;
    }

    .page_title{
      height:90px !important;
      margin-bottom:3rem !important;
    }
    #page.menu_open {
        background: #fff;
        opacity: 0;
        pointer-events: none;
    }
    #page section{
      margin-top:2rem;
    }

    #page section:first-of-type{
      margin-top:0 !important
    }

    #page section:last-of-type{
      margin-bottom:0 !important;
    }
    #page .access_section .detail_btn {
        margin: 4vh auto 0;
        width: 80vw;
    }
    .section_title,
    #page section h2{
      margin-bottom:1rem !important;
    }
    #top_about .col-md-12.text-center {
        text-align: left !important;
    }
	#home .about_section .bn {
        text-align: center !important;
	}
	#home .about_section .bn img {
		width: 60%;
		height: auto;
		margin: 0 auto;
	}
    .page-numbers{
      margin-top:1rem;
      margin-bottom:1rem;
    }

    #news time.news_single_date{
      margin-top:1rem;
      margin-bottom:1.5rem;
    }

    #sp_menu_btn{
      position:absolute;
      top:20px;
      right:0;
    }
    .mail_btn {
        width: 80vw !important;
    }

    .contact_btn {
        width: 80vw !important;
    }
    .pc_only {
        display: none;
    }



}
.imgbox img {
    width: 100%;
    display: block;
}
.imgbox.ecoaction21_img img {
    width: 215px;
    margin: auto;
}

.mg-a {
    margin: auto;
}
.definitionlist {
    
}
.definitionlist .definitionlist-item {
    display: flex;
}
.definitionlist .definitionlist-item .definitionlist-item-dt {
    position: relative;
    line-height: 2;
    width: 15%;
    text-align-last: justify;
    text-justify:inter-ideograph;
}
.definitionlist .definitionlist-item .definitionlist-item-dt::after {
    content: ':';
    position: absolute;
    top: 0;
    left: calc(100% + 0.75em);
    width: 1em;
    height: 1em;
}
.definitionlist .definitionlist-item .definitionlist-item-dd {
    line-height: 2;
    width: 85%;
    margin-left: 1.75em;
}
@media (max-width: 575px) {
    .definitionlist .definitionlist-item {
        display: block;
        margin-bottom: 20px;
    }
    .definitionlist .definitionlist-item .definitionlist-item-dt {
        width: 100%;
        text-align-last: auto;
    }
    .definitionlist .definitionlist-item .definitionlist-item-dt::after {
        display: none;
    }
    .definitionlist .definitionlist-item .definitionlist-item-dd {
        width: 100%;
        margin-left: 0;
    }
}
.ecoaction21_caption, .ecoaction21_caption * {
    line-height: 2;
}
.tablebox {
    
}
.tablebox .table {
    border-collapse: collapse;
}
.tablebox .table tr {
    
}
.tablebox .table tr.tr-blue th {
    background-color: #395daa;
    color: #ffffff;
}
.tablebox .table tr.tr-blue td {
    background-color: #d9dce8;
}
.tablebox .table tr.tr-green th {
    background-color: #00ac84;
    color: #ffffff;
}
.tablebox .table tr.tr-green td {
    background-color: #d5e8e1;
}
.tablebox .table tr th,
.tablebox .table tr td {
    border: 1px solid #000000;
}
.tablebox .table tr th {
    position: relative;
    width: 20%;
}
.tablebox .table tr th p {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: 90%;
}
.tablebox .table tr td {
    width: 80%;
}
.tablebox .table tr td p {
    margin-bottom: 0;
}
@media (max-width: 575px) {
    .tablebox .table tr th {
        width: 30%;
    }
    .tablebox .table tr td {
        width: 70%;
    }
}

.indent1 {
    padding-left: 1em;
    text-indent: -1em;
}
