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

/*
theme Name: rina_gallery
Author: mm
Description: オリジナルテーマ
version： 1.0.0
*/

html {
	font-size: 100%;
}

body {
	margin: 0;
	color: #000;
	overflow-y: scroll;
	font-family:'Old Standard TT', 
							"Yu Gothic Medium", 
							"游ゴシック Medium", 
							YuGothic, 
							"游ゴシック体", 
							"ヒラギノ角ゴ Pro W3",
							sans-serif;	
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  word-break: break-word;
}

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

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

ul {
	list-style: none;
	margin-block-start: 0em;
  margin-block-end: 0em;
  padding-inline-start: 0px;
}

li {
	line-height: 2.5;
}

/*アニメーションCSS----------*/
.fade{
	animation: fadeIn 2.5s ease 0s 1 normal;
}
@keyframes fadeIn {
  0% {opacity: 0}
  100% {opacity: 1} 
}

/*front-page SP----------*/
.title {
	letter-spacing: 0.2rem;
}
.title:first-letter {
	letter-spacing: 0.2rem;
  font-size:150%;
}

.top_content {
	text-align: center;
	margin-top: 60px;
}

/*hamburger SP----------*/
.hamburger {
	display: block;
	position: fixed;
	z-index: 100;
	right: 10px;
	top: 17px;
	width: 20px;
	height: 20px;
	text-align: center;
}

.hamburger span {
	display: block;
	position: absolute;
	width: 15px;
	height: 1px;
	left: 3px;
	transform: translateX(-50%);
	background-color: #000;
}

.bar_top{
	top: 5px;
}

.bar_mid{
	top: 10px;
	transform: translate(-50%,-50%);
}

.bar_bottom{
	top: 15px;
}

.hamburger.close .bar_top{
	transform: translate(-50%,5px) rotate(45deg);  
	transition: transform .3s;
}

.hamburger.close .bar_mid{
	opacity: 0;
	transition: opacity .3s;
}

.hamburger.close .bar_bottom{
	transform: translate(-50%,-5px) rotate(-45deg);
	transition: transform .3s;
}

/*header SP----------*/
.pc_header {
	display: none;
}

.sp_nav {
	display: none;
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	background: rgba(255,255,255,0.9);
	width: 100%;
	height: 100%;
	margin: 0 auto;
	padding-top: 80px;
}

.sp_nav li,
.pc_nav li {
	font-size: 12px;
	letter-spacing: 0.1rem;
	padding: 3px;
	margin-bottom: 10px;
	text-align: center;
}

.sp_title {
	font-size: 9px;
	letter-spacing: 0.2rem;
}

.sp_title:first-letter {
	letter-spacing: 0.2rem;
  font-size:140%;
}

/* galleyサブメニュー */
.nav_gallery {
	position: relative;
	color: #000;
	text-align: center;
	width: 35%;
	margin: 10px auto;
}

.gallery_list {
	display: none;
	text-align: center;
}

.gallery_item {
	font-size: 11px;
	letter-spacing:0.1rem;
	margin-bottom: 7px;
}

.gallery_item:last-child {
	margin-bottom: 20px;
}

/* galleyサブメニュー横線 */
.nav_gallery:before {
	content: "";
	position: absolute;
	top: 45%;
	right: 0px;
	width: 10px;
	height: 1px;
	background: #000;
	transform: translateY(-50%);
}

/* galleyサブメニュー縦線 */
.nav_gallery:after {
	content: "";
	position: absolute;
	top: 45%;
	right: 5px;
	width: 1px;
	height: 10px;
	background: #000;
	transform: translateY(-50%);
	transition: .3s;
}

/* galleyサブメニュー非表示 */
.nav_gallery.open:after {
	top: 22%;
	opacity: 0;
	transform: rotate(90deg);
}

a.disabled {
	pointer-events: none;
}

/*gallery SP----------*/
.gallery_content {
	margin: 20px 20px 0;
}

.side_container {
	display: none; 
}

.item_content {
	margin-top: 20px;
}

/*about contact SP----------*/
.main_content {
	width:250px;
	margin: 60px auto;
}

/*about SP----------*/
.pc_br {
	display: none;
}

.profile {
	margin-bottom: 35px;
}

.profile_item h4,
.profile_item_en h4 {
	letter-spacing: 0.1rem;
	margin-bottom: 0.7rem;
	line-height: 1.2;
	font-weight: lighter;
}
.profile_item h4 {
	font-size: 12px;
}

.profile_item_en h4{
	font-size: 13px;
}

.profile_item,
.profile_item_en  {
	padding-bottom: 15px;
}

.profile_item p {
	font-size: 9px;
	margin-bottom: 0.7rem;
}

.profile_item_en p {
	font-size: 10px;
	letter-spacing: 0.1rem;
	margin-bottom: 0.7rem;
}

/*contact SP----------*/
.contact_item {
	padding-bottom: 10px;
}

.contact_item p {
	font-size: 9px;
	margin-bottom: 0.7rem;
}

form, label {
	font-size: 9px;
	line-height: 1.5rem;
}

input, textarea {
	font-size: 11px;
	line-height: 1rem;
	border: 1px solid #999;
	display: block;
}

input {
	width: 250px;
}

textarea {
	width: 250px;
	height: 150px;
	margin-bottom: 15px;
}


/*blog SP----------*/
.like_content {
	width:350px;
	margin: 60px auto;
}

/*PC--------------------------------------------------------------*/
@media screen and (min-width: 768px) , print{
.wrapper {
	width: 1080px;
	max-width: 100%;
	margin: 0 auto;
	padding:0 40px;
}

/*front-page PC----------*/
.top_content {
	margin-top: 40px;
}

/*hamburger PC----------*/
.hamburger, .sp_header {
	display: none;
}

/*header PC----------*/
.pc_header {
	display: block;
}

.pc_header_content {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
}

.pc_nav {
	display: flex;
	padding: 30px 0;
}

.pc_nav li {
	font-size: 10px;
	letter-spacing: 0.1em;
	margin-right: 40px;
}

.pc_nav li a,
.side_nav li a {
	position: relative;
	display: inline-block;
	text-decoration: none;
	color: #000;
}

.pc_nav li a::after,
.side_nav li a::after{
	position: absolute;
	bottom: -3px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #333;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform .2s;
}

.pc_nav li a:hover::after,
.side_nav li a:hover::after {
	transform: scale(1, 1);
}

h1 {
	font-size: 13px;
	letter-spacing: 0.2rem;
}

h1:first-letter {
	letter-spacing: 0.2rem;
  font-size:150%;
}
	


/*gallery PC----------*/
.gallery_content {
	display: flex;
	justify-content: space-between;
	margin: 40px auto;
}

.item_content {
	width: 89%;
	margin-top: 0;
}

/*sidebar PC----------*/
.side_content {
	width: 5%;
}

.side_container {
	display: block; 
}

.side_nav li {
	font-size: 11px;
	letter-spacing: 0.1em;
	padding-bottom: 15px;
}

/*about contact PC----------*/
.main_content,
.like_content {
	margin-top: 40px;
}

/*about PC----------*/
.mobile_br {
	display: none;
}

.pc_br {
	display: block;
}

.profile {
	margin-bottom:45px;
}

.profile_item h4 {
	padding-top: 35px;
}

.profile_item h4,
.profile_item_en h4{
	font-size: 12px;
	letter-spacing: 0.1rem;
	font-weight: lighter;
	line-height: 1.2;
}
	
.profile_item,
.profile_item_en {
	padding-bottom: 10px;
}

.profile_item p {
	font-size: 9px;
	font-weight:lighter;
	line-height: 1.3;
}

.profile_item_en p {
	font-size: 10px;
	letter-spacing: 0.1rem;
	line-height: 1.3;
}

/*contact PC----------*/
.main_content {
	font-size: 10px;
}
	
input {
	width: 250px;
}

textarea {
	width: 300px;
	height: 150px;
}
	
/*sp_title PC----------*/
.sp_title {
  display: none;
}
}

/*contactform 7----------*/
.wpcf7 form.sent .wpcf7-response-output ,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output{
  border: none;
	color:  #dc3232;
}
.wpcf7 form.init .wpcf7-response-output {
    display: none;
}
.wpcf7 form .wpcf7-response-output {
	margin: 0 !important;
	padding: 0 !important;
}

div.wpcf7 .ajax-loader {
    display: none !important;
}

