﻿@charset "UTF-8";
@import url("html5reset-1.6.1.css");
@import url('https://fonts.googleapis.com/css?family=Cormorant+Unicase:500');

/* ↓レイアウト↓ */

*{
    line-height:150%;
}

body{
    color:#555;
    background-color:#fff;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, sans-serif;
}

.base{
    margin:0 auto;
    max-width:1000px;
}

/* ↓ハンバーガー↓ */
/*メニューボタン*/
.menu-btn {
    position: fixed;
    top: 5px;
    right: 3px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #00FFF;
}
/*メニューボタン文字*/
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #555;
    position: absolute;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}
#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
    background-color:#FFF
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
    background-color:#FFF
}
#menu-btn-check {
    display: none;
}
.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 80;
    background-color: #3584bb;
}
.menu-content ul {
    padding: 70px 10px 0;
}
/*メニューライン*/
.menu-content ul li {
    border-bottom: solid 1px #ffffff;
    list-style: none;
}
/*メニュー文字*/
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 15px;
    font-family: 'Cormorant Unicase', serif;
    box-sizing: border-box;
    color:#FFF;
    text-decoration: none;
    padding: 9px 15px 10px 0;
    position: relative;
}
/*メニュー矢印*/
.menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
}
/*メニュー背景*/
.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: #083AC9;
    transition: all 0.7s;/*アニメーション設定*/
}
#menu-btn-check:checked ~ .menu-content {
    left: 0;/*メニューを画面内へ*/
}

/* ↑ハンバーガー↑ */

.header{
    padding:10px;
    margin:20px 0px;
    display:flex;
    justify-content:center;
    align-items: center;
}

.header1{
    padding:10px;
}

.header2{
    padding:10px;
    text-align:center;
}

.footer{
    padding:10px;
    text-align:center;
}

.work{
    padding:10px;
    margin:50px 0px 20px 0px;
}

.menu{
    margin:20px 0px;
    display:flex;
    flex-wrap:wrap;
    justify-content:space-around;
    font-family: 'Cormorant Unicase', serif;
}

.gallery{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-around;
}

.colum{
    display:flex;
    flex-wrap:nowrap;
    justify-content:center;
    margin:15px 0px;
}

.box{
    margin:0px 5px;
}

.text{
    margin:5px;
    padding:20px;
    line-height:180%;
    border-color:#3569f3;
    border-style:double;
    border-width:3px;
}

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

/* ↓画像ポップアップ↓ */	
.tmb {	
width: 100%;	
}	
.tmb_img {	
width: 100%;	
height: auto;	
}	
.tmb_img:hover {	
cursor: pointer;	
}	
.popup {	
z-index: 10;	
position: fixed;	
top: 0;	
left: 0;	
width: 100%;	
height: 100%;	
transform: scale(0);	
background-color: rgba(0, 0, 0, 0.8);	
opacity: 0;	
transition: opacity 0.3s, transform 0s 0.3s;	
}	
.popup__btn {	
display: block;	
z-index: 13;	
position: absolute;	
top: 2vh;	
left: 1vh;	
width: 3vh;	
height: 3vh;	
cursor: pointer;	
}	
.popup__btn::before,	
.popup__btn::after {	
position: absolute;	
top: 50%;	
width: 100%;	
height: 2px;	
margin-top: -1px;	
background-color: #fff;	
content: '';	
}	
.popup__btn::before {	
transform: rotate(45deg);	
}	
.popup__btn::after {	
transform: rotate(-45deg);	
}	
.popup__btnarea {	
z-index: 12;	
position: absolute;	
top: 0;	
left: 0;	
width: 100%;	
height: 100%;	
}	
.popup__img {	
z-index: 11;	
position: absolute;	
top: 5%;	
left: 5%;	
width: 90%;	
height: 90%;	
}	
.popup__img img {	
width: 100%;	
height: 100%;	
object-fit: contain;	
}	
input[type="checkbox"] {	
display: none;	
}	
input[type="checkbox"]:checked ~ .popup {	
transform: scale(1);	
opacity: 1;	
transition: opacity 0.3s;	
}	
/* ↑画像ポップアップ↑ */	



/* ↓タグ↓ */

h1{
    font-size:160%;
    font-weight:normal;
    font-family: 'Cormorant Unicase','游明朝',serif;
}

h2{
    font-size:70%;
    font-weight:normal;
    margin:10px;
}

h3{
    font-size:20px;
    font-weight:normal;
    margin:25px 0px;
    font-family: 'Cormorant Unicase','游明朝',serif;
}

h3 span{
    background: #666;
    color: #fff;
    padding: 5px 10px;
    margin-right: 30px;
    position: relative;
}

h3 span:after {
    width: 0;
    height: 0;
    content: " ";
    position: absolute;
    top: 0px;
    left: 100%;
    border-width: 17px 10px;
    border-style: solid;
    border-color: #666;
    border-right-color: transparent;
}

h4{
    font-size:100%;
    font-weight:normal;
    margin:20px 0px;
    border-color:#3569f3;
    border-style:double;
    border-width:3px 0px;
    padding:3px;
    text-align:center;
}

h5{
    font-size:90%;
    font-weight:normal;
    margin:10px 0px;
    color:#8A6D4F;
}

h6{
    font-size:80%;
    font-weight:normal;
    margin:10px 0px;
    padding:3px;
    background-color:#e5e9f3;
    color:#000;
}

p{
    text-align:left;
    padding:5px 0px;
}

em{
    background: linear-gradient(transparent 60%, #fff799 60%);
    font-style:normal;
}

strong{
    font-weight:normal;
    background: linear-gradient(transparent 85%, #93B881 85%);

}

small{
    font-size:70%;
}

big{
    font-size:130%;
}

ins{
    background-color:#ffe4e1;
}

i{
    font-style:italic;
}

a:link{
    color:#8C95F5;
    text-decoration:none;
}

a:visited{
    color:#7a5798;
    text-decoration:none;
}

a:hover{
    background-color:#fff;
    text-decoration:underline;
}

h1 a:link{
    color:#555;
    text-decoration:none;
}

h1 a:visited{
    color:#555;
}

blockquote{
    position:relative;
    padding:10px 10px 10px 50px;
    box-sizing border-box;
    background:#f1f1f1;
    border-left:6px double #ccc;
    box-shadow:1px 1px 3px -1px #888;
    margin:15px;
    font-size:90%;
}

blockquote:before{
    display:inline-block;
    position:absolute;
    top:15px;
    left:15px;
    vertical-align: middle;
    content:'\00275e';
    color:#ccc;
    font-size:30px;
}

li{
    padding:5px;
    margin:0px 0px 0px 20px;
}

ul{
    margin:10px 0px;
}

ol{
    margin:10px 0px;
}

dl{
    padding-left:3px;
    margin:10px 0px;
}

dt{
    padding-left:5px;
}

dd{
    padding-left:10px;
}

address{
    font-size:80%;
    font-family: 'Cormorant Unicase','游明朝',serif;
}

cite{
    font-size:smaller;
}


/* ↓classタグ↓ */

.item{
    text-align:center;
    margin:5px;
    padding:5px;
    font-size:larger;
}

.item2{
    background-color:#fff;
    margin:5px;
    padding:5px;
    font-size:70%;
    text-align:center;
    width:28%;
    box-shadow:1px 1px 3px -1px #888;
}

.item3-1{
    padding:3px;
    font-size:90%;
    text-align:center;
    width:70%;
    background-color:#eee;
}

.item3-2{
    padding:3px;
    font-size:70%;
    text-align:left;
    width:130%;
}

.list1{
    list-style-type:circle;
}

.list2{
    list-style-type:upper-roman;
}

.hr1{
    margin:5px 0px;
    border-top: 1px #ccc;
    border-bottom: 1px #fff;
    border-style:solid;
}

.hr2{
    margin:5px 0px;
    border-top: 1px #aaa;
    border-style:dashed;
}

.hr3{
    margin:5px 0px;
    height:50px;
    border-width:0px;
}

.p1{
    padding:5px;
    margin:5px 0px;
    font-size:90%;
    background-color:#fafafa;
}

.p2{
    border-style:double;
    border-width:3px;
    border-color:#999;
    padding:3px;
    margin:5px 0px;
    font-size:90%;
}

.p3{
    border-style:dashed;
    border-width:1px;
    border-color:#999;
    padding:5px;
    margin:5px 0px;
    font-size:90%;
}

.dl1{
}

.dt1{
    font-weight:bold;
    margin:10px 0px 10px -10px;
}

.dt1span{
    color:#3bc0f5;
}

.dt1:before{
    font-size:110%;
    padding:0px 3px;
    content:'✑';
}

.dd1{
    font-size:90%;
    border-style:double;
    border-width:0px 0px 0px 3px;
    border-color:#3569f3;
    margin:0px 5px;
    padding:3px 5px;
}

.memo{
    background-color:#fff;
    font-size:80%;
    padding:0px 10px;
    height:150px;
    overflow:auto;
    margin:5px 10px;
    box-shadow:1px 1px 3px -1px #888;
}

.img1{
    box-shadow:1px 1px 3px -1px #888;
}

.counter{
    font-family:,Arial;
}

.pagetop{
    position: fixed;
    bottom: 10px;
    right: 14px;
}
 
.pagetop a{
    display: block;
    text-decoration: none;
}
 
.pagetop:hover{
    opacity: 0.7 ;
}


/*↓ディスプレイ764px以下用↓*/

@media screen and (max-width:764px) 

{
    
.base{
    width:auto;
    margin:0px 5px;
}

.box{
    margin:0px;
}

.header{
    width:auto;
    margin:5px;
    flex-direction:column;
}

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

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

.menu{
    display: flex;
    flex-direction:row;
    width:auto;
    margin:0px;
    font-size:90%;
}

.gallery{
    flex-direction:column;
    width:auto;
    margin:0px;
}

.colum{
    flex-direction:column;
    width:auto;
    margin:10px 0px;
}

.item2{
    width:95%;
}

.item3-1{
    width:95%;
    padding:6px;
}

.item3-2{
    width:95%;
}

.item a{
    display:block;
}

.item a:hover{
    background-color:#eee;
    margin:-5px;
    padding:5px;
}

h1{
    font-size:150%;
}

}


/* PC：横並び（初期設定） */
.container {
  display: flex;
  justify-content: space-around; /* 要素間の余白調整 */
  gap: 10px; /* 画像間の隙間 */
}
.container img {
  width: 100%; /* 親要素の幅に合わせて縮小 */
  height: auto; /* 比率を維持 */
}

/* スマホ：縦並び（画面幅764px以下） */
@media screen and (max-width: 764px) {
  .container {
    flex-direction: column; /* 縦方向に変更 */
  }
}