@charset "utf-8";
/* CSS Document */

/* --------------------------------------------- */
/* ▼モバイルファースト (全環境に共通のデザイン) */
/* --------------------------------------------- */

body {
    padding-top: 65px; /* ヘッダーの後ろに要素が隠れないようにするため */
	font-family: "A-OTF UD Shin Maru Go", "MotoyaLMaru", "Hiragino Maru Gothic", "TBChibiRGothicplusK", "TsukuARdGothic-Regular", "TsukuBRdGothic-Regular", "HCP Maru Gothic", "WadalabChumarugo2004emojijp", "Migu 1C", "M+ 1p", "VL PGothic", Meiryo, sans-serif;
}

.top {
	width: 100%;
	height: auto;
	margin-bottom: 40px;
}
.top_slider {
	widows: 100%;
	height: 300px;
	overflow: hidden;
	position: relative;
	max-width: 100%;
}

.top_slider div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	opacity: 0;
	animation-name: slide-fade;
	animation-duration: 35s;
	animation-iteration-count: infinite;
}

.top_slider div img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

@keyframes slide-fade {
	0%{
		opacity: 0;
	}
	10%{
		opacity: 1;
	}
	90%{
		opacity: 1;
	}
	100%{
		opacity: 0;
		z-index: 0;
	}
}
.top_slider div:first-of-type{
	background-image: url("../img_sp/top/_topview_01.png");
}
.top_slider div:nth-of-type(2){
	background-image: url("../img_sp/top/_topview_02.png");
	animation-delay: 5s;
}
.top_slider div:nth-of-type(3){
	background-image: url("../img_sp/top/_topview_03.png");
	animation-delay: 10s;
}
.top_slider div:nth-of-type(4){
	background-image: url("../img_sp/top/_topview_04.png");
	animation-delay: 15s;
}
.top_slider div:nth-of-type(5){
	background-image: url("../img_sp/top/_topview_05.png");
	animation-delay: 20s;
}
.top_slider div:nth-of-type(6){
	background-image: url("../img_sp/top/_topview_06.png");
	animation-delay: 25s;
}
.top_slider div:last-of-type{
	background-image: url("../img_sp/top/_topview_07.png");
	animation-delay: 30s;
}










.news {
	width: 90%;
	height: 200px;
	margin: 0 auto;
	margin-bottom: 40px;
}



.c-carousel {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
.c-carousel__activator-main {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
.c-carousel__main {
  overflow: hidden;
  position: relative;
}

.c-carousel__main-track {
  display: flex;
  white-space: nowrap;
  transition: transform 0.3s ease-out;
}
.c-carousel__main-item {
  flex-shrink: 0;
  width: 100%;
}
.c-carousel__main-image {
  display: block;
  width: 100%;
}

.c-carousel__main-control-item {
  display: none;
}
.c-carousel__btn-prev-main, .c-carousel__btn-next-main {
  position: absolute;
  top: 50%;
  right: 5px;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  transform: translateY(-50%);
  background-color: #000;
  border-radius: 50%;
  transition: opacity 0.3s;
  cursor: pointer;
}
.c-carousel__btn-prev-main {
  right: auto;
  left: 5px;
}

.c-carousel__activator-main:nth-child(1):checked ~ .c-carousel__main .c-carousel__main-control-item:nth-child(1) {
  display: block;
}
.c-carousel__activator-main:nth-child(2):checked ~ .c-carousel__main .c-carousel__main-control-item:nth-child(2) {
  display: block;
}
.c-carousel__activator-main:nth-child(3):checked ~ .c-carousel__main .c-carousel__main-control-item:nth-child(3) {
  display: block;
}

.c-carousel__activator-main:nth-child(1):checked ~ .c-carousel__main .c-carousel__main-track {
  transform: translateX(calc(-100% * 0));
}
.c-carousel__activator-main:nth-child(2):checked ~ .c-carousel__main .c-carousel__main-track {
  transform: translateX(calc(-100% * 1));
}
.c-carousel__activator-main:nth-child(3):checked ~ .c-carousel__main .c-carousel__main-track {
  transform: translateX(calc(-100% * 2));
}


.newsmore {
	float: right;
	margin-top: 10px;
	color: #232323;
	text-decoration: none;
}

.newsmore img {
	width: 30px;
}










.about {
	width: 100%;
	padding: 40px 0;
	overflow: hidden;
	background-image: url("../img_sp/top/_profile_bg.png");
	background-size: 100% 100%;
	margin-bottom: 40px;
}

.about img {
	width: 25%;
	margin-left: 5%;
	float: left;
}

.about_text {
	width: 60%;
	margin-right: 5%;
	float: right;
}

.about_text h3 {
	font-size: 16px;
	line-height: 24px;
	font-weight: bold;
	letter-spacing: 1px;
	margin-bottom: 15px;
}

.about_text p {
	font-size: 12px;
	line-height: 16px;
	margin-bottom: 15px;
	text-align: justify;

}

.about_text a  {
	width: 95px;
	font-size: 12px;
	color: #000;
	text-decoration: none;
	float: right;
}

.about_text a img {
	width: 25px;
	top: 3px;
	float: right;
	position: relative;
}



/*メニューここから*/

.photo_menu {
	width: 90%;
	margin: 80px auto;
}

.contents_title {
	width: 40%;
	margin: 0 auto 25px;
	text-align: center;
}

.contents_title img {
	width: 40px;
	margin-bottom: 8px;
}

.contents_title h1 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 8px;
}

.contents_title h2 {
	font-size: 14px;
}

.menu_list {
	width: 100%;
	margin: 0 auto;
}

.menu_list li {
	width: 30%;
	margin-right: 5%;
	float: left;
}

.menu_list li a {
	color: #000;
	text-decoration: none;
}

.menu_list li:nth-child(3n){
	margin-right: 0;
}

.menu_list li img {
	width: 100%;
}

.menu_list li p {
	font-size: 12px;
	text-align: center;
	margin-top: 3px;
	margin-bottom: 15px;
}

.menu_wedding {
	width: 100%;
}

.menu_wedding img {
	width: 100%;
}

.menu_wedding p {
	font-size: 12px;
	text-align: center;
	margin-top: 3px;
}
/*メニューここまで*/





/*ギャラリーここから*/

.gallery {
	width: 100%;
	padding: 80px 0;
	background-color: #F7F8F8;
	overflow: hidden;
}

.gallery_list {
	width: 90%;
	margin: 0 auto;
}

.gallery_list li {
	width: 30%;
	margin-right: 5%;
	margin-bottom: 5%;
	float: left;
}

.gallery_list li:nth-child(3n){
	margin-right: 0;
}

.gallery_list li img {
	width: 100%;
}

.gallery_list li p {
	font-size: 12px;
	text-align: center;
	margin-top: 3px;
	margin-bottom: 15px;
}

/*ギャラリーここまで*/





/*------------------------------------------------
 type-btn 
------------------------------------------------*/
.type-btn {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding: 20px 20px 50px;
}

.type-btn li {
    background: #ccc;
    margin: 0 10px;
    padding: 10px;
    cursor: pointer;
    border-radius: 4px;
}

.type-btn li.active {
    background: #555;
    color: #fff;
}

@media only screen and (max-width: 480px) {
    .type-btn {
        justify-content: space-between;
    }

    .type-btn li {
        width: 48%;
        text-align: center;
        margin: 0 0 10px 0;

    }
}

/*------------------------------------------------
 grid 
------------------------------------------------*/
.grid {
	width: 90%;
	margin: 0 auto;
    position: relative;
}

.grid .item {
    display: block;
    position: absolute;
    width: 33%;
    z-index: 0;
}

.grid .item .item-content {
    position: relative;
    width: 100%;
    height: 100%;
}

.grid .item .item-content img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

@media only screen and (max-width: 768px) {
    .grid .item  {
        width: 49.5%;
    }
}


/*------------------------------------------------
fancybox
------------------------------------------------*/
.fancybox-thumbs {
    background: transparent !important;
}

.fancybox-thumbs__list a:before {
    border: 6px solid #FA999B;
}


/*------------------------------------------------
デザイン調整用
------------------------------------------------*/
ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

h1 {
    text-align: center;
}







/* -------------------------------------------- */
/* ▼タブレット用デザインとして付け足すデザイン */
/* -------------------------------------------- */
@media (min-width: 768px) {

	body {
		display: none;
	}
	
}
/* ------------------------------------ */
/* ▼PC用デザインとして付け足すデザイン */
/* ------------------------------------ */
@media (min-width: 1024px) {

	body {
		display: none;
	}
}



