/* スマートフォン用のスタイル記述 */
@media screen and (max-width: 750px) {
    img {
        max-width: 100%;
        height: auto;
    }

    /*#container*/
    #outline {
        width: 100%;
    }

    /*～以下、画面の横幅が750pxまでの場合のスタイル記入～*/

    * {
        margin: 0;
        padding: 0;
    }

    h2 {
        font-size: 2.5rem;
		margin: 1em ;
    }

    h3 {
        width: 100%;
        padding: .2rem;
        margin: 1em auto 1.5em auto;
    }

    p.msg {
        font-size: 1.6rem;
    }

    p,
    th,
    td,
    input {
        font-size: 1.6rem;
    }
    
	.input_address,
    .input_mail {
        width: 100%;
	}
	
    dt,
    dd {
        font-size: 1.4rem;
    }

    .inner {
        width: 100%;
        margin: auto;
    }

    .btnB {
        font-size: 2rem;
    }

    .section {
        margin: 10rem auto;
    }

    .first_section {
        margin-top: 0
            /*5rem*/
             !important;
    }

    .second_section,
    .type2 {
        margin: auto !important;
    }

    .type2 dl {
        width: 100%;
        margin: 0 0 2em 0;
        /*←横向き対応に変更*/
        /*width:120%;margin:0 -10% 2em -10%;*/
        float: none !important;
        clear: both;
    }

    .type2 dt {
        width: 100%;
        float: none !important;
        padding: 0;
    }

    .type2 dt img {
        width: 100%;
    }

    .type2 dd.title {
        border-bottom: 1px solid #000;
        float: left;
        width: 100%;
        float: none !important;
        padding: 0;
    }

    .btn_tel {
        position: absolute;
        top: 20px;
        right: 0;
        padding: 0.25em;
        background: #fff;
        display: block !important;
    }

    .btn_tel a {
        color: #000;
        text-decoration: none;
        font-size: 1.5em;
    }




    /*header*/
    header {
        width: 100%;
    }

    header .inner {
        /*height:70px;border-top:1px solid #ccc;border-bottom:1px solid #ccc;*/
    }

    header h1 {
        /*height:60px;*/
        width: 100%;
        float: none;
    }

    header h1 a {
        /*height:70px;*/
    }

    header nav ul {
        flex-wrap: wrap;
        padding: 0.5em;
        position: relative;
        display: none;
    }

    h1 img {
        height: 50px;
        margin: 0em 0.5em;
    }

    /*sp_topimg以下にメニューを置けるよう対応*/

    nav.sp_headernav {
        display: block;
    }

    nav.sp_headernav ul {
        flex-wrap: wrap;
        padding: 0.5em;
        position: relative;
        display: flex;
        height: auto;
        margin: 2em 1em;
    }

    nav.sp_headernav ul li {
        width: 33%;
        height: auto;
        text-align: center;
        margin: 0;
        /*border:5px double #fff; border-radius:0.5em;padding:0;background:#00a2d0;*/
        display: flex;
        align-items: center;
        justify-content: center;
    }

    nav.sp_headernav ul li:hover {
        background: #00a2d0;
    }

    nav.sp_headernav ul li:nth-child(even) {}

    nav.sp_headernav ul li a {
        color: #fff;
        text-decoration: none;
    }


    /*スマホ用メイン画像表示してスライドショー非表示*/
    #slide {
        display: none !important;
    }

    #slide_sp {
        width: 100vw;
        height: 155vw;
        /*←スライドショー画像が100:49の場合*/
        margin: 0;
        position: relative;
        z-index: 9;
        display: block !important;
    }

    #slide_sp img {
        width: 100vw;
        height: 160vw;
        /*←スライドショー画像が100:49の場合*/
        margin: 0;
        position: absolute;
        left: 0;
        top: 0;
    }

    #sp_img {
        display: block !important;
    }

    #pc_img {
        display: none !important;
    }

    /*main*/
    main {
        width: 100%;
        padding: 0
            /*2em*/
            2em;
        margin: auto;
    }

    #slide {
        width: 100%;
        height: auto;
    }

    /*画面横幅100％*/
    .fullwide {
        display: block;
        margin-right: calc(50% - 50vw);
        margin-left: calc(50% - 50vw);
    }
	p.img-100vw {
  overflow: visible;
  margin-top: -30px;
 margin-bottom: 3px;
  font-size: 0;
}

p.img-100vw img {
  width: 100vw;
}
	.p_small {
  font-size: 1.35rem;
    }

    .col3 {
        display: block;
    }
    .col3b .list .p_small {
  font-size: 1.35rem;
    }
    .col3 dl {
        width: 100%;
        margin: 2em 0;
    }

    .col3 .list {
        width: 100%;
        margin: 2em 0;
    }

    .col3b {
        width: 100%;
        margin: 0;
        /*←横向き対応に変更*/
        /*width:120%;margin:0 -10%;*/
    }

    /*2021.10.26追加*/
    .col3b .list {
        width: 49%;
        margin: 1em 0 1em 0;
        /*margin:0 0.25%;*/
        /*padding:1em;*/
    }

    .col3b .list:nth-child(odd) {
        margin: 1em 2% 1em 0;
    }

    .col2 {
        display: block;
    }

    .col2 .list,
    .col2b .list {
        width: 100%;
    }

    .col2b {
        width: 100%;
        margin: 0;
        display: inline-block;
        flex-wrap: nowrap;
        /*←横向き対応に変更*/
        /*width:120%;margin:0 -10%;*/
    }

    .col2b .list p {
        width: 98%;
        margin: 0 0.66%;
        /*padding:1em;*/
    }

    .col2b .list img,
    .col2b .list video {
        width: 100%;
    }

    .col2g p,
    .col2f p,
    .slider p {
        font-size: 1.3rem;
    }

    .col2g h4,
    .col2f h4,
    .slider h4 {
        font-size: 1.6rem;
    }

    .movie {
        padding-bottom: 0;
    }

    .movie .inner .col2f {
        display: block;
    }

    .movie .inner .col2f .list,
    .movie-text {
        width: 90%;
        margin: 0 auto;
    }

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

    #about table {
        float: none;
        width: 100%;
    }

    #about iframe {
        width: 100%;
        margin: auto auto 4em auto;
    }


    h2.msg2 {
        font-family: sans-serif;
        color: #e78110;
        font-size: 4rem;
        border: none;
        margin-top: 8rem;
    }

    p.msg3 {
        color: #000;
        width: 80%;
        font-size: 1.2em;
        margin-top: 2em;
    }

.buck {
  padding: 2em 2em;
  box-sizing: border-box;
  background: #F5F5F5;
	  background-size:contain;
	 background-image:url("../img2/buck1sp.jpg");
	 background-repeat: no-repeat,no-repeat;
	background-position: 50%  50%;
  /*←ベースカラー（薄）変更はここ*/
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  /*飛び出し用*/
  position: relative;
  overflow: hidden;
}
.buck .inner {
  padding: 0 2rem;
}
    .gabion {
        background-size: contain !important;
        padding: 5px 0 !important;
    }

    .tel {
        width: 90%;
        margin: 1em auto;
        border-radius: 1em;
        background: #fff;
        text-align: center;
        padding: 0.5em;
        border: 2px solid #F27105;
    }

    .tel a {
        text-decoration: none;
        /*color:#000;*/
        font-size: 2rem;
    }

    .tel strong {
        font-size: 2.7rem;
    }

    #contact {
        padding: 50px 2em;
    }

    #contact table {
        margin: 0;
        width: 90vw;
    }

    .btnB {
        width: 80vw;
    }

    .fullwide-img {
        width: 100vw;
        margin-top: 2rem;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }

    .slider {
        width: 80%;
    }


    .bgcntB,
    .sample1 {
        padding: 4em 2em;
    }

    /*footer*/
    footer {
        background: #F27105;
        /*←ベースカラー（濃）変更はここ*/
        padding-bottom: 50px;
    }

    footer nav ul {
        display: flex;
        flex-wrap: wrap;
        padding: 0 0.5em;
        width: 100%;
        height: auto;
        justify-content: space-around;
        margin: 1em 0;
    }

    footer nav ul li,
    footer nav ul li:last-child {
        width: 32%;
        text-align: center;
        border: 2px solid #fff;
        border-radius: 0.5em;
        padding: 0;
        margin: 2px 0;
    }

    footer nav ul li a {
        color: #fff;
        font-size: 1.3rem;
        padding: 1rem .1rem;
    }

    .footer_logo {
        text-align: center;
        width: 100vw;
        display: block;
        margin: 4em auto auto auto;
    }

    .footer_logo img {
        width: 60%;
    }

    /*2ページ目用*/
    .food_list {
        width: 80%;
        margin: 1em auto;
    }

    /*固定フッターボタン*/
    .fortop {
        display: none;
    }


    /*デフォルトで非表示にする*/
    #footer-fix {
        opacity: 0;
        visibility: hidden;
        display: block;
        width: 100%;
        position: fixed;
        bottom: 0;
        text-align: center;
        background: #eee;
        padding: 1px 0 0 0;
        font-size: 14px;
        transition: .3s;
    }

    /*このクラスが付与されると表示する*/
    .active {
        opacity: 0.9 !important;
        visibility: visible !important;
    }

    #footer-fix p {
        padding: 0;
    }

    #footer-fix #footer-fix-menu {
        text-align: center;
        padding: 0;
        display: table;
        width: 100%;
    }

    #footer-fix #footer-fix-menu li {
        display: table-cell;
        width: 18%;
        background: #eee;
        padding: 0;
        margin: 0;
        height: 50px;
        position: relative;
        vertical-align: middle;
        border: 1px solid #ffffff;
        font-size: 2rem;
    }


    #footer-fix #footer-fix-menu li:hover {
        opacity: 0.9;
    }

    #footer-fix #footer-fix-menu li a {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        font-size: 2rem;
    }

    #service h3 {
        font-size: 1.6rem;
        color: #fff;
        width: 110%;
        margin: 2em -5%;
        background: #F27105;
        text-align: center;
        padding: 0.5em;
    }

	h5 {
  padding: 0.3em 1em;/*文字の上下 左右の余白*/
  color: #494949;/*文字色*/
  background: #f4f4f4;/*背景色*/
  border-left: solid 5px #F27105;/*左線*/
  border-bottom: solid 3px #d7d7d7;/*下線*/
  font-size: 1.8em;
 margin: 1em auto;
}
		h6 {
  border-bottom: solid 3px #FFEC62;
  position: relative;
  font-size:1.9em;
  margin: 2em auto;		
}
	h7 {
  background: linear-gradient(transparent 70%, #a7d6ff 70%);
	font-size: 2em;
}

.top { display: none;
}
.video {display: block;
        margin-right: calc(50% - 50vw);
        margin-left: calc(50% - 50vw);
	width: 100%;
}
.p2 {font-size: 10px;
	}
	
.gmap {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}