@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Roboto:400,700');

/* RESET
----------------------------------------------------------------------------------------------------*/
a,article,body,dd,div,dl,dt,em,form,footer,header,h1,h2,h3,h4,h5,h6,html,i,iframe,img,label,legend,li,nav,ol,p,section,main,span,table,tbody,tfoot,thead,time,tr,th,td,ul,video{font-family:inherit;font-size:100%;font-weight:inherit;font-style:inherit;vertical-align:baseline;white-space:normal;margin:0;padding:0;border:0;outline:0;background:transparent;line-height:1.6;text-align:left}textarea{font-family:inherit;font-size:100%;font-weight:inherit;font-style:inherit;vertical-align:baseline;margin:0;padding:0;border:0;outline:0;background:transparent;line-height:1.6;text-align:left}article,footer,header,nav,section,main{display:block}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}

/* ----------------------------------------------

 * 設定をしなおす

---------------------------------------------- */
body {
  margin: 0 auto;
  padding: 0;
  font-size: 16px;
  line-height: 1.6em;
  font-family: 'Roboto',"游ゴシック Medium", "Yu Gothic Medium","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  font-weight: 500;
  color: #535761;
  -webkit-text-size-adjust: 100%;
}

@media only screen and ( max-width : 768px ) {
  body {font-size: 14px;}
}

table {
  margin : 0;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
}

img {
  vertical-align: middle;
  border: none;
}


/* ----------------------------------------------

 * アンカータグの設定

---------------------------------------------- */
a {
  outline:none;
  color: #333;
}

a:hover {
  text-decoration: none;
}


a,a:hover,a:hover img {
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  text-decoration: none;
}

a:hover {
  filter: alpha(opacity=80);
  -moz-opacity:0.80;
  opacity:0.80;
}


/* ----------------------------------------------

 * 要素を左右中央寄せ

---------------------------------------------- */

.taC {
  text-align: center !important;
}

.taR {
  text-align: right !important;
}

.taL {
  text-align: left !important;
}



*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;*behavior:url(/scripts/boxsizing.htc)}.container{margin:0 auto}.clr:after,.col:after,.container:after,.group:after,.row:after{content:"";display:table;clear:both}.row{padding-bottom:0}.col{display:block;float:left;width:100%}@media (min-width:769px),print{.gutters .col{margin-left:2%}.gutters .col:first-child{margin-left:0}.gutters .colR:first-child{margin-right:0}.sp{display:none}}@media(max-width:768px){.sp_none{display:none !important;}}


img {
    max-width: 100%;
    height: auto;
    width /***/:auto;　/*IE8のみ適用*/
}

@media only screen and ( max-width : 768px ) {
  .sbox {
    margin-bottom: 20px;
  }
  .container {
    padding: 0 30px;
  }
  section {
    padding: 100px 0;
  }
}

@media only screen and ( max-width : 480px ) {
  .container {
    padding: 0 20px;
  }
}
@media only screen and ( max-width : 374px ) {
  .container {
    padding: 0 10px;
  }
}

@media print, screen and ( min-width : 769px ) {
  .sbox {
    margin-bottom: 25px;
  }
  .container {
    width: 1080px;
  }
  section {
    padding: 200px 0;
  }
}

/* ---------------------------------------------------------------------------------------------

　   HEADER

--------------------------------------------------------------------------------------------- */

#header {
  box-shadow: 0px 3px 15px rgba(0,0,0,0.2);
  z-index: 99;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
}
#gNav a:hover {
  color: #999;
}
nav li a {
  font-size: 13px;
  letter-spacing: 0.2em;
}
nav .sub-menu,.mean-container .mean-nav ul ul {
  background: #fff;
  background-image: linear-gradient(to top, #f0fff0 0%, #00ced1 100%);
}
@media only screen and ( max-width : 768px ) {
  #header {
    padding: 10px 0;
    height: 60px;
  }
  .h_logo {
    width: 200px;
    position: absolute;
    top: 18px;
    left: 10px;
    z-index: 100;
  }
  #gNav .nav {
    overflow-y: auto;
    height: 100vh;
  }
  .mean-nav .container {
    padding: 0;
  }
  nav li .fa {
    display: none;
  }
}

@media print, screen and ( min-width : 769px ) {
  #header {
    height: 80px;
  }
  .h_logo img {
    width: 300px;
  }
  #h_top {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #gNav ul {
    position: relative;
    display: flex;
  }
  #gNav li {
    position: relative;
    margin-right: 3em;
  }
  #gNav li:last-child {
    margin-right: 0;
  }
  #gNav li i {
    font-size: 16px;
    margin-left: 5px;
  }
  #gNav li a {
    position: relative;
    display: block;
    text-align: center;
    line-height: 80px;
  }
  #gNav .sub-menu {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
    display: block;
    position: absolute;
    top: 50px;
    left: 50%;
    margin-left: -100px;
    width: 200px;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
  }
  #gNav .sub-menu a {
    padding: 10px;
    display: block;
    border-bottom: none;
    padding: 20px;
    line-height: 1.2em;
  }
  #gNav .sub-menu a:hover:after {
    content: none;
  }
  #gNav .sub-menu li {
    display: block;
    font-size: 16px;
    padding: 0;
    margin: 0;
  }
  #gNav .sub-menu li:last-child {
    border-bottom: none;
  }
  #gNav ul > li:hover {
    -webkit-transition: all .5s;
    transition: all .5s;
  }
  #gNav ul > li:hover a,#gNav .current-menu-item a,#gNav .current-menu-parent a {
    color: #bfd0ff;
  }
  #gNav li:hover ul.sub-menu {
    top: 80px;
    visibility: visible;
    opacity: 1;
    z-index: 9999;
  }
  #gNav li ul li:after {
    content: none;
  }
 #gNav li:hover ul.sub-menu a {
    color: #111;
  }
  #gNav .sub-menu li a:hover {
    background: #fff;
  }
  #gNav .contact_btn a:hover {
    color: #fff;
  }
}

/* ---------------------------------------------------------------------------------------------

　   FOOTER

--------------------------------------------------------------------------------------------- */
#footer {
  background-image: linear-gradient(-20deg, #40e0d0 0%, #20b2aa 100%);
  font-size: 14px;
}
.f_logo,.f_logo p {
  text-align: center;
}
.copy {
  text-align: center;
}
@media only screen and ( max-width : 768px ) {
  #footer {
    padding: 40px 0;
  }
  .f_logo {
    padding: 0 20px;
    text-align: center;
  }
  .f_logo p {
    text-align: center;
  }
  .f_logo img {
    margin-bottom: 20px;
    width: 150px;
  }
}

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

@media print, screen and ( min-width : 769px ) {
  #footer {
    padding: 30px 0;
  }
  .f_logo {
  }
  .f_logo img {
    margin-bottom: 20px;
    width: 200px;
  }
  .f_logo {
  }
  .copy {
  }
}

/* ---------------------------------------------------------------------------------------------

　   CONTENTS

--------------------------------------------------------------------------------------------- */
#main p {
  word-break: break-all;
}

section {
  text-align: center;
}

#sec01 {
background-image: radial-gradient(rgba(255, 255, 255,0.3),rgba(255,255,255,1)),url(images/haikei.jpg);
background-repeat:  no-repeat;  /* 背景の繰り返し設定 */
background-position: center;
background-size: cover;  #background: #b0e0e6;
min-height: 100vh;
}

#sec02 {
 background: #ffffff;
}

#sec03 {
  background: #ffffff;
}
#sec04 {
  background: #ffffff;
}
#sec05 {
background: #ffffff; 
}

#sec06 {
background-image: radial-gradient(rgba(255, 255, 255,0.3),rgba(255,255,255,1)),url(images/gahag-0023284741-1.jpg);
background-repeat:  no-repeat;  /* 背景の繰り返し設定 */
background-position: center;
background-size: cover;  #background: #b0e0e6;
min-height: 100vh;
}
#sec07 {
  background: #ffffff;
}


.pict {
  width: 30%;
  margin-left: 3%;
}

.pict img {
  width: 100%;
  height:auto;
}
/*ジャンプ*/
a.anchor{
    display: block;
    padding-top: 100px;
    margin-top: -100px;
}

/*料理画像*/
#photo_container{
    text-align:center;
    margin:0 auto;
}
#thumbnail{
    overflow: hidden;
    width: 100%;
     text-align:center;    
}
#thumbnail li{
    float: left;
        ：
}
#thumbnail li img{
    width: 100%;
    opacity: 0.5;
    filter: alpha(opacity=50); 
}
#thumbnail li.current img{
    opacity: 1;
    filter: alpha(opacity=100);
}
#main_photo{
    position: relative;
    height: 500px;
        ：
}
#main_photo img{
    position: absolute;
    top:0;
    width: 100%;
}
/*料金テーブル*/

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 14px;
}
table th {
  width: 22%;
  background: #c0c0c0;
  border: 1px solid #ccc;
  box-sizing: border-box;
  padding: 15px;
  vertical-align: middle;
  font-weight: bold;
  text-align: center;
}
table td {
  background: #rgba(255,0,0,0.0);
  border: 1px solid #ccc;
  box-sizing: border-box;
  padding: 15px;
  vertical-align: top;
  text-align: left;
}
@media all and (max-width: 767px) {
  table th, table td {
    display: block;
    width: 100%;
    border-bottom: none;
  }
  table tr:last-child td:last-child {
    border-bottom: 1px solid #ccc;
  }
}

/*------------------------------------------------------------
base
------------------------------------------------------------*/

body {
  font-family: YuGothic, "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: .025em;
  line-height: 1.8;
  margin: 0;
}
.section {
  max-width: 1024px;
  margin: 0 auto;
  padding: 50px 10px;
}
.section p._a {
  font-size: 12px;
  font-weight: bold;
  margin: 30px 0 0;
}
.section p._a .link {
  display: inline-block;
  color: #rgba(255,0,0,0.0);
  padding-left: 1.3em;
  text-indent: -1.3em;
}
.section p._a .link:before {
  content: '';
  display: inline-block;
  width: 5px;
  height: 5px;
  border-top: 2px solid #607D8B;
  border-right: 2px solid #607D8B;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-right: 10px;
}

/*テーブル*/
/* 大枠ボックス */
.layer{
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 0 auto;
}

/* 背景画像の読み込み */
.layer-bg{
background-image: radial-gradient(rgba(255, 255, 255,0.3),rgba(255,255,255,1)),url(images/IMGP3243.jpg);
background-repeat:  no-repeat;  /* 背景の繰り返し設定 */
background-position: center;
background-size: cover;  #background: #b0e0e6;
min-height: 100vh;
  
}

/* 重ねる文字の基本設定 */
.layer-txt{
  text-shadow: 1px 1px 4px rgba(0,0,0,0.4);
  color: #2f4f4f;
  letter-spacing: 0.4rem;
}

/* SP向けの設定 */
@media screen and (max-width: 600px) {
  .layer-txt{
   font-size: 1.4rem;
   padding: 4rem 0;
  }
}

/* PC向けの設定 */
@media screen and (min-width: 601px) {
  .layer-txt{
    font-size: 2rem;
    padding: 8rem 0;
  }
}
/*見出し1*/
h1 {
  position: relative;
  padding: 1em 0;
}
h1::before,
h1::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 6px;
  box-sizing: border-box;
}
h1::before {
  top: 0;
  border-top: 2px solid #ccc;
  border-bottom: 1px solid #ccc;
}
h1::after {
  bottom: 0;
  border-top: 1px solid #ccc;
  border-bottom: 2px solid #ccc;
}
/*写真枠*/
.frame333 {
	display: inline-block;
	transform: rotate(5deg);
}
.frame1 {
	display: inline-block;
	position: relative;
       
       
}
.frame1:after {
	position: absolute;
	display: inline-block;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
	transform: rotate(3deg); /* 回転させる */
	background: #fff;
	z-index: -1;
       text-align: center;
}
/*写真エフェクト*/
.effect123 img{
    border-radius: 50%;
}

.effect111 img {
    border-radius: 15px;
}
/* ふんわり　枠　1 */
.kakomi-kage1 {
 margin: 2em auto;
 padding: 1em;
 width: 90%;
 color: #555555; /* 文字色 */
 background-color: #ffffff; /* 背景色 */
 box-shadow: 0 0 10px 10px #f5f5f5; /* 影 */
}
.topmoji{
 font-size: 16px;
 text-shadow: 2px 3px 3px silver;
 white-space: pre-line;
}
.box {
  display:flex;
  flex-direction: column;
  padding: 20px;
}

.text {
  width: 100%;
  text-align: center;
}

.pict {
  width: 100%;
  text-align: center;
  min-height: 0%;
}

.pict img {
  max-width: 100%;
  height:auto;
}
.box:nth-child(even) {
  background-color: #f1f1f1;
  padding: 20px;
}

@media (min-width:768px) {
  body {
    padding: 0px;
  }
  .box {
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 0px;
  }
  .box:nth-child(even) {
    flex-direction: row-reverse;
  }
  
  .text {
    text-align: left;
  }
  .box:nth-child(even) .text {
    text-align: right;
  }
  .pict {
    width: 30%;
  }
  .pict img {
    width: 100%;
    height:auto;
  }
  .box:nth-child(even) .pict {
    margin-left: 0;
    margin-right: 3%;
  }
}

h2 {
color: #ffffff;
background-color: #48d1cc;
border-bottom: solid 6px #5f9ea0;
border-radius: 10px;
box-shadow: 0 4px 5px rgba(0, 0, 0, .4);
padding: 10px;
text-align: center;
}

.box{
  background: #fff;
  padding: 1em 2em;
  width: 80%;
  margin: 15px auto;
  box-shadow: 5px 5px 20px 5px rgba(0,0,0,0.7);
}
.box_inner{
  background-image:
    linear-gradient(
      90deg,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0) 50%,
      #ffff 50%,
      #ffff 50%
    ),
    linear-gradient(
      180deg,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0) 97%,
      #999 97%,
      #999 100%
    );
  background-size:
    8px 100%,
    100% 2em;
  line-height:2;
}
.box_inner h4,
.box_inner p{
  margin-bottom:2em;
  font-size: 1em;
}

h4 {
  border-bottom: 6px double #000;
}
.img-002 {
  display: flex;
  flex-wrap: wrap;
  border: 2px solid;
  border-color: #fff;
  padding-top : 1% ;
  padding-bottom : 1% ;
  padding-left : 1% ;

}

.img-002-contents {
  padding: 5px;
  width: 49%;
  background-color: #f5f5f5;

}

.img-002-contents img {
    width: 100%;
  }

.img-002-contents:not(:nth-child(2n+2)) {

}

.img-002-contents:nth-child(n+3) {
  margin-top: 10px;
}

@media not all and (min-width: 750px) {
  .img-002-contents {
    width: 100%;
  }

  .img-002-contents img {
    width: 100%;
  }

  .img-002-contents:not(:nth-child(2n+2)) {
    margin-right: 0;
  }

  .img-002-contents:nth-child(n+1) {
    margin-top: 10px;
  }
}

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

.item {
  padding: 30px;
  width: 32%;
  background-color: #fff;
}

.item:not(:nth-child(3n+3)) {
  margin-right: 2%;
}

.item:nth-child(n+4) {
  margin-top: 30px;
}

@media not all and (min-width: 768px) {
  .item {
    width: 100%;
  }

  .item:not(:nth-child(3n+3)) {
    margin-right: 0;
  }

  .item:nth-child(n+2) {
    margin-top: 30px;
  }
}
.wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.item {
  padding: 30px;
  width: 32%;
  background-color: #fff;
}

@media not all and (min-width: 768px) {
  .item {
    width: 100%;
  }

  .item:not(:last-child) {
    margin-bottom: 30px;
  }
}
.frame img {
	border-radius: 10px;
}

/* container */
.wrapper{
    width:100%;
    background-color:#fafafa;
}
.wrapper .container{
    max-width:1000px;
    margin:0px auto;
    padding:80px 0px;
}
/* content */
@media (min-width: 992px) {
    .wrapper .container .content {
        display: flex;
        align-items: center;
        justify-content: center;
    }
}
/* PC時のみ順番を入れ替える */
@media (min-width: 992px) {
    .wrapper .content {
        flex-direction:row-reverse;
    }
}
.wrapper .content-item {
    width:100%;
}
@media (min-width: 992px) {
    .wrapper .content-item {
        width:50%;
    }
}
.wrapper .image{
    display:block;
    max-width:100%;
    margin:0px auto;
}
.wrapper .text{
    padding:50px;
}
.wrapper .text .heading{
    margin:0px 0px 40px 0px;
    font-size: 24px;
    font-weight: normal;
    text-align: center;
}

/* レスポンシブテンプレートでの画像の横並びとスマホで解除 */
.two-pic {
    margin: auto;
    text-align: center;
    width: 100%;
}
.left-pic {
    display: inline-block;
    padding: 10px;
}
.right-pic {
    display: inline-block;
    padding: 10px;
}

.effect img{
    border-radius: 50%;
}

.resp {
	margin: 0;
	font-size: clamp(14px, 3vw, 20px);
}



/* トリプル　囲み枠 */
.kakomi-triple1 {
 position: relative;
 border: 1px solid #007b43; /*左枠線*/
 width: 90%;
 margin: 2em auto;
 padding: 20px 15px 15px 20px;
 z-index: 0;
}
.kakomi-triple1::before,
.kakomi-triple1::after {
 position: absolute;
 content: '';
 width: 100%;
 height: 100%;
}
.kakomi-triple1::before {
 border: 1px solid #3eb370; /*中枠線*/
 bottom: -4px;
 right: -4px;
 z-index: 1;
}
.kakomi-triple1::after {
 border: 1px solid #7ebea5; /*右枠線*/
 bottom: -7px;
 right: -7px;
 z-index: 2;
}


.flex {
  display: flex;
}
.flex .left {
  width: 40%;
}
/*
align-content: space-between;
均等配置にして上下を揃える
*/
.flex .right {
  width: 60%;
  display: flex;
  align-content: space-between;
  flex-wrap: wrap;
}
/*
「width: calc(100%/3);」で横幅を3等分した後、
「padding-left: 12px;」で左側にパディングを設定
*/
.flex .right li {
  width: calc(100%/3);
  padding-left: 12px;
}

*/----------------
.contents {
     width: 100%;
     max-width: 1200px;
     margin: auto;
 }
 .contents img {
     width: 100%;
 }
 .text-center {
     text-align: center;
 }
 .flexbox {
     display: flex;
     text-align: center;
 }
 .box1 {
     width: 55%;
     margin: auto;
 }
 .box2 {
     width: 45%;
     margin: auto;
 }
 .box3 {
     width: 45%;
     margin: auto;
 }
 .box4 {
     width: 45%;
     margin: auto;
 }
 .box5 {
     width: 45%;
     margin: auto;
 }
 @media screen and (max-width: 767px) {
     .flexbox {
         display: block;
     }
     .flexbox .box1 {
         width: 100%;
         margin: 0 auto;
     }
     .flexbox .box2 {
         width: 100%;
         margin: 0 auto;
     }
      .flexbox .box3 {
         width: 100%;
         margin: 0 auto;
     }
       .flexbox .box4 {
         width: 100%;
         margin: 0 auto;
     }
       .flexbox .box5 {
         width: 100%;
         margin: 0 auto;
     }
 }

*/----------------
img.image-circle1 {
  width: 300px;
  height: 300px;
  object-fit: none;
  border-radius:10%;
  object-position:85% 20%;
}

img.image-circle2 {
  width: 300px;
  height: 300px;
  object-fit: none;
  border-radius:50%;
  object-position:85% 20%;
}


.material-symbols-outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 48
}
/*mapレスポンシブ*/
.gmap {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}
/*画像の高さを揃える*/
.example3{
    display: flex;
}
.example3 img{
    object-fit: cover;
    width: calc(100%/3);
}

/*画像に文字を載せる*/
.example{
    background: url(images/cloudDSC03676.jpg) no-repeat center center / cover;
    height: 100%;
    width: 100%;
    color: #FFF;
    font-size: 90%;
    font-weight: bold;
}

.example img{
    max-width: 100%;
    height: auto;
    text-align: center;
}
.example2{
    text-align: center;


    padding: 5px;
}


