@charset "UTF-8";
/*
Theme Name: 
Author: 一般社団法人SAVE TAKATA
Author URI: http://savetakata.org
Description: Visit Takata 2.0
*/

body {
  font-family:       -apple-system, BlinkMacSystemFont, Ariel, sans-serif;
}
/* −−−−−−−−−−ここまでFont-family指定−−−−−−−−−− */

/* ----------本体設定---------- */
html{
    font-size:          62.5%; /* 1rem = 10px */
}

body {
    width:              100%;
    height:             100%;
    background-color:   #fff;
    font-size:          1.6rem;
    position:relative;
    overflow-x: hidden;
}

#ar {
  direction: rtl;
}

/* 書式設定 */

h2,h3,h4,h5,h6,li,#lower_title{
    font-family: Georgia, sans-serif;
}

#rtp-lower_title{
    font-family: Georgia, sans-serif;
    white-space: nowrap;
}

#rtp_section02{
    text-align: center;
}

.year{
    display: block;
    font-family: Georgia, sans-serif;
    font-size: 1.12em;
    margin-bottom: 30px;
}

h2{
    margin:2em auto;
    text-align: center;
    font-weight: normal;
}

h3{
    margin:1.6em auto;
    text-align: center;
    font-weight: normal;
    
}
#rtp_section03 h3{
    width: 90%;
    max-width: 900px;
    text-align: left;
    font-size: 1.22em;
    margin: 0 auto 1.87em;
    padding-top: 1.56em
}

p{
    width:90%;
    max-width:900px;
    margin:0 auto 1.5em;
}

.article-container{
  margin-bottom: 3em;
}

/* ブロック設定 */
header{
    background-color:   #fff;
    position:relative;
}

#header__wrap{
    position:fixed;
    left:0;
    right:0;
    display: flex;
    flex-direction:     row;
    align-content: center;
    align-items: center;
    justify-content: space-between;
    width:100%;
    margin:0 auto;
    z-index: 3000;   
}

#logo a{
    position: absolute;
    top:0;
    left:20px;
    display: block;
    background-image: url(img/logo_m.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    z-index: 3000;
}

#page{
    position:relative;
}

section{
    padding-top: calc(100px - 2em);
    padding-bottom: calc(100px + 2em);
}    

#eat_section01,
#stay_section01,
#ttd_section01,
#tts_section01,
#access_section01{margin-top:50px;}

#access_section02,
#access_section03,
#access_section04,
#ttd_section04,
#eat_section05,
#stay_section03{
    margin:0 auto;
    padding-top:65px;
    padding-bottom:50px;
    margin-bottom:150px;
    width:90%;
    max-width: 1080px;
    background-color: #f2f2f2;
}

#access_section02 img,
#access_section03 img,
#access_section04 img{
    margin:0 auto;
    display: block;
    width:90%;
    max-width:600px;
    margin-bottom:50px;
}

,
#ttd_section04 img{
    margin:0 auto;
    display: block;
    width:90%;
    max-width:940px;
    margin-bottom:50px;
}

#access_section02 h2,
#access_section03 h2,
#access_section04 h2,
#ttd_section04 h2,
#eat_section05 h2,
#stay_section03 h2{
    margin:-80px auto 0;
    margin-bottom:80px;
    font-size: 2.4rem;
}
#access_section02 h3,
#access_section03 h3,
#access_section04 h3,
#ttd_section04 h3,
#eat_section05 h3,
#stay_section05 h3{
    margin:2em auto;
    font-size: 2.4rem;
}

#access_section03 a{
    color:#669;
}

#lower_title{
    display: flex;
    justify-content: center;
    align-items: center;
    width:200px;
    height: 40px;
    font-size:2.4rem;
    margin:-20px auto;
    background-position: bottom center;
    background-image: url(img/bg_lower_title.png);
    z-index: 50;
}
#rtp-lower_title{
    display: flex;
    justify-content: center;
    align-items: center;
    width:320px;
    height: 40px;
    font-size:2.4rem;
    margin:-20px auto;
    background-position: bottom center;
    background-image: url(img/bg_lower_title02.png);
    z-index: 50;
}

.sec_img{
    background-size:cover;
    background-position: top center;
}

.arrow{
    width:100vw;
    background-size:auto;
    background-position: bottom center;
    background-image: url(img/bg_arrow_white.png);
}

.sec_img > .arrow{
    min-height:580px;
}

#top_mbview > .arrow{
    min-height:100vh;
}

.lower_top{
    width:100vw;
    min-height:430px;
    background-size:cover;
    background-position: top center;
}

.lower_img{
    display: block;
    width:90%;
    max-width:1080px;
    background-size:cover;
    background-position: top center;
    margin: 0 auto;
}
@media screen and (max-width: 579px) {
  #rtp_section02 img {
      width: 90%;
      height: 0;
      padding-top: calc(340/ 580 * 100%);
      background: url("img/res-lower_img01.jpg") center center / cover no-repeat;
  }
  #rtp_section03 img {
      width: 90%;
      height: 0;
      padding-top: calc(340/ 580 * 100%);
      background: url("img/res-lower_img02.jpg") center center / cover no-repeat;
  }
}

#top_bg01{background-image: url(img/top_01.jpg);}
#top_bg02{background-image: url(img/top_02.jpg);}
#top_bg03{background-image: url(img/top_03.jpg);}
#top_bg04{background-image: url(img/top_04.jpg);}

#about_bg00 {background-image: url(img/about_00.jpg);}
#eat_bg00   {background-image: url(img/eat_00.jpg);}
#stay_bg00  {background-image: url(img/stay_00.jpg);}
#ttd_bg00   {background-image: url(img/ttd_00.jpg);}
#tts_bg00   {background-image: url(img/tts_00.jpg);}
#access_bg00{background-image: url(img/access_00.jpg);}
#rtp_bg00   {background-image: url(img/rtp_00.jpg);}

iframe{
    width: 100%;
    max-width: 1080px;
    min-height: 480px;
}

dl,dt,dd {box-sizing: border-box;}

dl {
    width:90%;
    margin:0 auto;
    background: #ddd;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    border-left: 1px solid #ccc;
}

dt,dd {
    padding: 10px 10px 0 10px;
    border-top: 1px solid #ccc;
}
dt {
    width: 40%;
    float: left;
}
dd {
    background: #fff;
    margin-left: 40%;
    padding-bottom: 10px;
    border-left: 1px solid #ccc;
}
dd:after {
    content: '';
    display: block;
    clear: both;
}

#photo_section01{
    margin:0 auto;
    width:90%;
    max-width:1080px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:flex-start;
    align-items: center;
}
    
#photo_section01 h3{
    text-align: left;
    font-family: initial;
    margin:10px 0 5px;
}
#photo_section01 p{
    margin:0;
}
    .pic{
        width:240px;
        height:400px;
        margin-right:30px;
    }
    .pic-thumb{
        position: relative;
        display: block;
        width:100%;
        min-width:240px;
        height:240px;
        background-size:cover;
        background-position: center center;
    }
    .pic-thumb:before{
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      display: inline-block;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 32px 32px 0 0;
      border-color: #fff transparent transparent transparent;
    }         
    .pic-thumb:after{
      content: '';
      position: absolute;
      right: 0;
      bottom: 0;
      display: inline-block;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 0 32px 32px;
      border-color: transparent transparent #fff transparent;
    }
    .pic-archive-list{
        width: 90%;
        max-width: 1080px;
        height: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .pic-archive{
        width:320px;
        height:320px;
    }
    
    .pic-archive-thumb{
        position: relative;
        display: block;
        width:100%;
        min-width:320px;
        height:320px;
        background-size:cover;
        background-position: center center;
    }
    .pic-archive-thumb:before{
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      display: inline-block;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 48px 48px 0 0;
      border-color: #fff transparent transparent transparent;
    }         
    .pic-archive-thumb:after{
      content: '';
      position: absolute;
      right: 0;
      bottom: 0;
      display: inline-block;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 0 48px 48px;
      border-color: transparent transparent #fff transparent;
    } 

.pic01{background-image: url(img/photo_01.jpg);}
.pic02{background-image: url(img/photo_02.jpg);}
.pic03{background-image: url(img/photo_03.jpg);}
.pic04{background-image: url(img/photo_04.jpg);}
.pic05{background-image: url(img/photo_05.jpg);}
.pic06{background-image: url(img/photo_06.jpg);}
.pic07{background-image: url(img/photo_07.jpg);}
.pic08{background-image: url(img/photo_08.jpg);}
.pic09{background-image: url(img/photo_09.jpg);}
.pic10{background-image: url(img/photo_10.jpg);}

footer{
    position: relative;
    z-index:10;
    margin-top:100px;
}

#concierge_image{
    position: absolute;
    top:-80px;
    width:160px;
    height:160px;
    background-image: url(img/concierge.png);
    background-position: top center;
    white-space: nowrap;
    z-index:100;
}

#concierge{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100vw;
    padding-bottom:50px;
    background-color:#f2f2f2;
    background-image: url(img/bg_arrow_dgray.png);
    background-position: bottom center;
}

#concierge h2{
    margin-top:130px;
}

#copyrights{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height:120px;
    color:#fff;
    background-color: #808080;
}


.social{
  width:100px;
  height:36px;
  display:flex;
  justify-content:space-around;
  margin-bottom: 10px;
}

.social img{
  width:36px;
  height:auto;
}

a{
    text-decoration:    none;
    color:              #000;
}
li{list-style:          none;}

.container {
    width:              100%;
    max-width:          1280px;
    height:             100%;
    background-color:   #999;
}
.sitewidth {
    width:              90%;
    margin:             0 auto;
    box-sizing:         border-box;
    background-color:   #fff;
}

.flexbox {
    display:            flex;
    flex-direction:     column;
    justify-content:    flex-start;
    align-items:        flex-start;
    align-content:      flex-start;
    width: 140px;
}

@media screen and (min-width: 415px) {
  .res-br {
      display: none;
  }
}

/* ----------各デバイス向け設定----------*/
@media screen and (max-width:969px) {
    /*　【スマホ】画面サイズが320pxから799pxまではここを読み込む　*/
    
    body {
        font-size:          1.6rem;
        /* 320px時にfont-size:10px;で可変 */
    }
    #header__wrap{
        height:             70px;
        justify-content:    space-between;
        
    }
    #logo a{
        margin:10px 0 0 20px;
        width:119px;
        height:50px;
        background-image: url(img/logo_m.png);
        z-index: 9999;
    }
    #top_pcview{
        display: none;
    }
    
    #top_mbview{
        min-width:100vw;
        min-height:100vh;
        background-size:cover;
        background-position: top center;
        background-color: #000;
    }
    
    #photo_section01{
        justify-content: space-around;
    }
    
    .pic{
        width:240px;
        height:400px;
        margin-right:0px;
    }
    
    footer{
        justify-content:    space-between;
    }
    
    /* 携帯版メニュー ここから */
    
    /* ハンバーガーメニュー */
    #navToggle span {
        z-index:            1000;
        display:            block;
        position:           absolute;/*to div*/
        width:              100%;
        -webkit-transition: .35s ease-in-out;
        -moz-transition:    .35s ease-in-out;
        transition:         .35s ease-in-out;
        border-bottom:      solid 2px #333;
    }
    #navToggle span:nth-child(1) {top:0}
    #navToggle span:nth-child(2) {top:12px}
    #navToggle span:nth-child(3) {top:24px}
    .openNav .navToggle{
        background-image:   url(img/menu_button_on.png);
        z-index:            2000;
    }
    /*---------- メニュー部 ----------*/
    #mainNav{
        display:            flex;
        flex-direction:     column;
        justify-content:    center;
        align-content:      center;
        align-items:        center;
        position:           absolute;
        width:              100%;
        height:             70vh;
        top:                -100vh; /* heightぶんマイナス */
        right:              0;
        margin:             0 auto;
        background-color:   rgba(255,255,255,0.9);
        -webkit-transition: .5s ease-in-out;
        -moz-transition:    .5s ease-in-out;
        -o-transition:      .5s ease-in-out;
        transition:         .5s ease-in-out;
        z-index:            1000;
    }
    #mainNav ul{
        flex-direction:     column;
    }
    #mainNav li{
        list-style:         none;
        width:              100%;
        min-width:          90px;
        max-width:          568px;
        height:             60px;
        padding-top:        2.1rem;
        font-size:          1.2rem;
        border-bottom:      1px #fff solid;
        
        background-image: url(img/menu_bg.png);
        background-position: center center;
        text-align: center;
    }
    #mainNav .link{
        list-style:         none;
        width:              100%;
        min-width:          130px;
        max-width:          568px;
        height:             60px;
        padding-top:        2.1rem;
        font-size:          1.2rem;
        border-bottom:      1px #fff solid;
        
        background-image: url(img/link-menu_bg.png);
        background-position: center center;
        text-align: center;
    }
    #mainNav li:hover{
        background-image: url(img/menu_bg_on.png);
    }
    #mainNav .link:hover{
        background-image: url(img/link-menu_bg_on.png);
        width: 130px;
    }
    #mainNav li a{
        display:            block;
        color:              #333;
    }
  #mainNav .link a{
        display:            block;
        color:              #333;
        width: 130px;
    }
    #mainNav li:last-child{
        border-bottom:      0px;
    }
    
    #langNav{
        display:            flex;
        flex-direction:     row;
        justify-content:    center;
        align-content:      center;
        align-items:        center;
        position:           absolute;
        width:              100%;
        height:             30vh;
        top:                -30vh; /* heightぶんマイナス */
        right:              0;
        margin:             0 auto;
        background-color:   rgba(255,255,255,0.9);
        -webkit-transition: .5s ease-in-out;
        -moz-transition:    .5s ease-in-out;
        -o-transition:      .5s ease-in-out;
        transition:         .5s ease-in-out;
        z-index:            1000;
    }
    #langNav ul{
        width:90%;
        max-width:420px;
        flex-direction: row;
        font-size:0.75vw;
        background-image: url(img/lang_bg.png);
        background-size: contain;
    }
    #langNav li a{
        display: table-cell;
        text-align: center;
        vertical-align: middle;
        width:70px;
        height:20px;
    }
    
    #langNav li:first-child a,
    #langNav li:last-child  a{
        vertical-align: top;
    }
    
    #langNav li:after{
    }
    
    #langNav li:last-child:after{
        content:''
    }
    #langNav li a:hover,
    #langNav li a.current{
        font-weight:bold;
    }
    
    /* 切り替えスイッチ */
    #navToggle{
        position:           absolute;
        display:            block;
        top:                20px;
        right:              5%;
        width:              40px; /*menu_buttonのサイズ*/
        height:             30px;
        background-image:   url();
        background-position:bottom center;
        background-size:    contain;
        overflow:           hidden;
        text-indent:        100%;
        white-space:        nowrap;
        -webkit-transition: .5s ease-in-out;
        -moz-transition:    .5s ease-in-out;
        -o-transition:      .5s ease-in-out;
        transition:         .5s ease-in-out;
    }
    #navToggle div {        position:relative}
    #navToggle {            display: block}
    
    /* 切り替え変形処理 */
    .openNav #navToggle span:nth-child(1) {
        border-bottom:      solid 2px #999;
        top: 13px;
        -webkit-transform:  rotate(-45deg);
        -moz-transform:     rotate(-45deg);
        transform:          rotate(-45deg)
        }
    .openNav #navToggle span:nth-child(2),
    .openNav #navToggle span:nth-child(3) {
        border-bottom:      solid 2px #999;
        top: 13px;
        -webkit-transform:  rotate(45deg);
        -moz-transform:     rotate(45deg);
        transform:          rotate(45deg)
    }
    /* クリック時スクロール量・高さ */
    .openNav #mainNav {
        -moz-transform:     translateY(100vh);
        -webkit-transform:  translateY(100vh);
        transform:          translateY(100vh);
    }
    .openNav #langNav {
        -moz-transform:     translateY(100vh);
        -webkit-transform:  translateY(100vh);
        transform:          translateY(100vh);
    }
    /*---------- メニュー ここまで ----------*/
    
    #page{
        margin:             0 auto;
        width:              100vw;
        flex-direction:     column;
        align-content:      center;
        align-items:        center;
        justify-content:    center;
    }
    #footer__wrap,#footNav ul{
        flex-direction:     column;
    }
}/* 【スマホ】画面サイズが320pxから767pxまでははここまでを読み込む　*/

@media screen and (min-width:970px) {
/*　【PC】画面サイズが768pxからはここを読み込む　*/

    body {
        font-size:          1.6rem;
        overflow-x: hidden;
    }    
    
    .sitewidth{
        max-width:          900px;
    }
    
    #header__wrap,#page,#footer__wrap{
        display: flex;
        justify-content:    space-between;
    }
    
    #header__wrap{
        position:fixed;
        left:0;
        right:0;
        display: flex;
        flex-direction:     row;
        align-content: center;
        align-items: center;
        justify-content: space-between;
        width:100%;
        max-width:1080px;
        margin:20px auto;
        z-index: 100;
        height:80px;
    }
    
    
    #logo a{
        width:166px;
        height:70px;
        background-image: url(img/logo.png);
    }
    
    #mainNav{
        position: absolute;
        top:40px;
        right:0;
        width:auto;
        border: none;
    }
    
    #mainNav ul,#footNav ul{
        display: flex;
        flex-direction:     row;
    }
    #mainNav ul{
        margin:0 auto;
        width:100%;
        height: 50px;
        flex-wrap:          nowrap;
    }
    #mainNav li {
        list-style:         none;
        min-width:          90px;
        height:             20px;
        
    }
    #mainNav li a{
        display:            block;
        height:             20px;
        color:              #333;
        font-size:          1.2rem;
        padding-top:4px;
        background-image: url(img/menu_bg.png);
        background-position: center center;
        text-align: center;
    }
    #mainNav .link a{
        display:            block;
        height:             20px;
        color:              #333;
        font-size:          1.2rem;
        width: 130px;
        padding-top:4px;
        background-image: url(img/link-menu_bg.png);
        background-position: center center;
        text-align: center;
    }
    #mainNav li a:hover{
        background-image: url(img/menu_bg_on.png);
    }
    #mainNav .link a:hover{
        background-image: url(img/link-menu_bg_on.png);
        width: 130px;
    }
    #mainNav li a.current{
        background-image: url(img/menu_bg_on.png);
        background-position: center center;
        text-align: center;
    }
    #mainNav .link a.current{
        background-image: url(img/link-menu_bg_on.png);
        background-position: center center;
        text-align: center;
        width: 130px;
    }
    
    #langNav{
        position: absolute;
        top:10px;
        right:0;
    }
    
    #langNav ul{
        width:420px;
        flex-direction: row;
        font-size:0.75em;
        background-image: url(img/lang_bg.png);
        background-size: contain;
    }
    
    #langNav li a{
        display: table-cell;
        text-align: center;
        vertical-align: middle;
        width:70px;
        height:20px;
    }
    
    #langNav li:first-child a,
    #langNav li:last-child  a{
        vertical-align: top;
    }
    
    #langNav li:after{
    }
    
    #langNav li:last-child:after{
        content:''
    }
    #langNav li a:hover,
    #langNav li a.current{
        font-weight:bold;
    }
    
    #page{
        display: flex;
        flex-direction:     column;
    }
    
    #top_bg01{
        display: flex;
        justify-content: center;
        color:#fff;
        width:100%;
        min-width:100vw;
        height:100vh;
        background-position: center center;
        background-size: cover;
    }
    
    #top_pcview{
        background-image: url(img/bg_arrow_white.png);
        background-position: bottom center;
    }
    
    #top_mbview{
        display: none;
        width:0;
        height:0;
    }
    
    video{
        position: relative;
        right: 0;
        bottom: 0;
        min-width: 100vw;
        min-height: 100%;
        width: auto;
        height: auto;
        opacity: 1.0;
        z-index: -100;    
    }
    
    section{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-content: center;
        align-items: center;
        width:100vw;
        background-color: #fff;
    }
    
    #footer__wrap{
        display: flex;
        flex-direction:     column;
        justify-content:    space-around;
        justify-content:    center;
        align-content:      center;
        align-items:        center;
    }

}/*  【PC】画面サイズが768pxからはここまでを読み込む　*/