/*
Theme Name: 田中通信
Theme URI: 
Author:  田中通信
Author URI: 
Description: The WordPress Theme for 田中通信
Version: 2.0
*/

/*================================================
 *  CSSリセット
 ================================================*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin: 0;padding: 0;border: 0;outline: 0;font-size: 100%;vertical-align: baseline;background: transparent;font-weight: normal;}body{line-height: 1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display: block}ul{list-style: none}blockquote,q{quotes: none}blockquote:before,blockquote:after,q:before,q:after{content: none}a{margin: 0;padding: 0;font-size: 100%;vertical-align: baseline;background: transparent}del{text-decoration: line-through}abbr[title],dfn[title]{border-bottom: 1px dotted;cursor: help}table{border-collapse: collapse;border-spacing: 0}hr{display: block;height: 1px;border: 0;border-top: 1px solid #ccc;margin: 1em 0;padding: 0}input,select{vertical-align: middle}


/*================================================
 *  共通
 ================================================*/

html,body {
    font-size:62.5%;
    font-feature-settings : "palt";
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}
body {
    line-height: 1.5714;
    position: relative;
}
main {
    font-size: 1.6rem;
    padding-top: 80px;
}
img {
	max-width: 100%;
    height: auto;
}
hr {
    height:0;
    margin: 0 0 50px 0;
    border: 1px solid #000000;
}

.page-navi li {
    padding: 30px 20px 0 20px;
    flex: 1;
}
.page-navi a {
    background-color: #FFFFFF;
    border: 1px solid #000000;
    border-radius: 5px;
    display: block; 
    font-size: 1.8rem;
    line-height: 1;
    font-weight: bold;
    text-align: center;
    padding: 18px;
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
    box-sizing: border-box;
}
.page-navi a:hover {
    background-color: #CCCCCC;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}
.page-navi a i {
    padding:0 0.25em;
    font-size: 1.4rem;
}

@media screen and (min-width: 768px) {
    main {
        padding-top: 100px;
    }
    .page-navi {
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
    }
}

/*================================================
 *  ヘッダー
 ================================================*/

header {
    width: 100%;
    box-sizing: border-box;
    position: fixed;
    top:0;
    z-index: 10;
}
header .container {
    position: relative;
    box-sizing: border-box;
    height: 80px;
}
h1 {
    width: 180px;
    height: 60px;
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;
}
#gnav button {
	display: block;
}
#gnav nav li {
	margin-bottom: 1em;
    text-align: center;
}
#gnav nav li a {
}

@media screen and (max-width:1199px) {
    #gnav .drawer-menu {
        padding: 80px 20px 20px 20px;
    }
}

@media screen and (min-width:1200px) {
    header {
    }
    header .container {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100px;
        padding: 0 100px;
    }
    h1 {
        width: 180px;
        height: 60px;
        position: static;
        transform: none;
    }
    #gnav {
        width: calc(100% - 180px);
        height: 100%;
    }
    #gnav .drawer-nav {
        height: 100%;
    }
    #gnav button {
        display: none;
    }
    #gnav .drawer-menu {
        display: flex;
        justify-content: flex-end;
        height: 100%;
    }
    #gnav .drawer-menu .menu-left-container {
        box-sizing: border-box;
        height: 100%;
    }
    #gnav .drawer-menu .menu-right-container {
        box-sizing: border-box;
        height: 100%;
    }
    #gnav #menu-left {
        display: flex;
        justify-content:flex-end;
        height: 100%;
    }
    #gnav #menu-right {
        display: flex;
        justify-content:flex-start;
        height: 100%;
    }
    #gnav #menu-left>li {
        display: flex;
        align-items: center;
    }
    #gnav #menu-right>li {
        display: flex;
        align-items: center;
    }
    #gnav nav li {
        margin: 0 1em;
        margin-bottom: 0;
    }
}


/*================================================
 *  トップページ 
 ================================================*/


/* トピック
===================================*/

#infomation {
    padding-bottom: 30px;
}
#infomation h2 {
  overflow: hidden;
  text-align: center;
  font-size: 3.0rem;
  margin: 0 auto 10px auto;
}
#infomation .container {
    margin-left: auto;
    margin-right: auto;
    padding-top: 20px;
    margin-bottom: 30px;
}
#infomation .instagram-postlist {
    margin-bottom: 20px;
}
#infomation .instagram-postlist .postlist-pc {
    display: none;
}

.news-postlist {
    margin: 55px auto 50px auto;
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 20px;
}
.news-postlist .post {
	 width:250px;
	 margin:0 15px 25px 15px;
}
.news-postlist .post dt {
}
.news-postlist .post dt img {
    width: 100%;
    height: 180px;
	object-fit:cover;
} 
.news-postlist .post dd {
    font-size: 1.6rem;
    font-weight: 600;
}
.news-postlist .post dd p{
    line-height: 1.75;
}
.news-postlist .post dd a {
    display: inline;
    padding-bottom: 5px;
    border-bottom: 1px dotted #000000;
}
.news-postlist .post dd .postdate {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.linklist {
    text-align: center;
}
.linklist a {
    text-align: center;
    display: inline-block;
    line-height: 1;
    padding: 0.7em 3em;
    border: 2px solid #000;
}

#instagram {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    padding-bottom: 150px;
}
#instagram h2 {
    overflow: hidden;
    text-align: center;
    font-size: 3.0rem;
    margin: 0 auto 50px auto;
}

#instagram .eapps-instagram-feed-posts-grid-load-more-container {
    text-align: center;
}
#instagram .eapps-instagram-feed-posts-grid-load-more {
    display: inline-block;
    width: auto;
    height: auto;
    border-radius: 0;
    line-height: 1;
    padding: 0.7em 3em;
    border: 2px solid #000;
    font-size: 1.6rem;
}

@media screen and (min-width: 768px){
    
    #infomation {
        padding-bottom: 100px;
    }
    #infomation .container {
        margin-left: auto;
        margin-right: auto;
        padding-top: 55px;
        margin-bottom: 55px;
    }
    #infomation .instagram-postlist .postlist-pc {
        display: block;
    }
    #infomation .instagram-postlist .postlist-sp {
        display: none;
    }
}

/* footer
===================================*/

.copyright {
    margin: 0;
    padding: 30px 10px;
    font-size: 1.0rem;
    text-align: left;
}
#pageTop {
    font-size: 3.0rem;
    position: absolute;
    bottom: 0px;
    right: 10px;
}
#pageTop a {
    color: #FFFFFF;
}
@media screen and (min-width:480px) {
     .copyright {
        font-size: 1.2rem;
        text-align: center;
    }
}

/*================================================
 *  お知らせ
 ================================================*/

#news {
    padding-top: 50px;
    margin-bottom: 60px;
}
#news .container {
    max-width: 1096px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px;
    box-sizing: border-box;
}
.entryposts {
    width: 100%;
}
.entryposts article {
    border: 1px solid #CCCCCC;
    padding: 20px;
    margin-bottom: 37px;
    box-sizing: border-box;
}
#news aside {
    border: 1px solid #CCCCCC;
    box-sizing: border-box;
} 
.postdata {
    padding-top: 30px;
}
.postdate {
    font-size: 1.6rem;
    margin-bottom: 0.5em;
}
.post-title {
    font-size: 1.8rem;
    font-weight: 600;
    border-bottom: 1px dotted #000000;
    padding-bottom: 8px;
}
.post-summary {
    font-size: 1.5rem;
}

.entryposts .post-summary p {
    margin-bottom: 2em;
} 
.entryposts .post-summary .postph {
    width: 300px;
    height: auto;
    margin-bottom: 1em;
}
.postlink {
    text-align: center;
}
.postlink a {
    display: inline-block;
    padding: 1em 2em;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1;
}
#news aside h3 {
    text-align: center;
    line-height: 100px;  
}
#news aside .news-post {
    border-bottom: 1px solid #CCCCCC;
    box-sizing: border-box;
    padding: 25px 20px 25px 30px;
}
#news aside .news-post:last-of-type {
    border-bottom: none;
}
#news aside .news-post dt {
    margin-bottom: 0.25em;
}

@media screen and (min-width:480px){
    
    #news {
        margin-bottom: 130px;
    }
    .entryposts article {
        border: 1px solid #CCCCCC;
        padding: 50px;
        margin-bottom: 37px;
        box-sizing: border-box;
    }
    .postlink a {
        display: inline-block;
        padding: 1em 3em;
        color: #FFFFFF;
        line-height: 1;
    }

}

@media screen and (min-width: 768px){
  
    .entryposts {
        width: 736px;
        margin-right: 20px;
    }
    #news .container {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }
    #news aside {
        width: 230px;
        border: 1px solid #CCCCCC;
        box-sizing: border-box;
    }
}

.pg-nav {
    overflow: hidden;
    padding-top: 20px;
    padding-bottom: 50px;
}
.pg-nav .wp-pagenavi {
	display: flex;
	justify-content: center;
	font-size: 1.4rem;
}
.pg-nav ul {
    display: flex;
    justify-content: center;
    align-items: center;
}
.pg-nav li {
    padding: 0 6px;
}
.pg-nav a, .pg-nav span {
	 display: block;
    width: 24px;
    height: 24px;
    font-size: 1.4rem;
    line-height: 24px;
    border: 1px solid #000;
    text-align: center;
    font-weight: 300;
    margin: 0 8px;
}
.post-nav {
    overflow: hidden;
    padding-top: 20px;
    padding-bottom: 50px;
}
.post-nav ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.post-nav li {
    width: 30%;
}
.post-nav a {
    display: block;
    width: 100%;
    height: 48px;
    line-height: 48px;
    border: 1px solid #000;
    text-align: center;
    letter-spacing: 0.1em;
    box-sizing: border-box;
}

@media screen and (min-width:340px) {
    .post-nav a {
        font-size: 1.4rem;
    }
}
@media screen and (min-width:678px) {
    .pg-nav {
        margin-bottom: 0px;
    }
    .post-nav {
        width: 65%;
        margin-bottom: 0px;
        margin-left: auto;
        margin-right: auto;
    }
    .pg-nav ul {
        height: 60px;
        line-height: 60px;
    }
    .post-nav ul {
        height: 34px;
        line-height: 36px;
    }
    .post-nav li {
        width: 27%;
    }
}

.alignleft {
	float: left;
	margin-right: 1em;
}
.alignright {
	float: right;
	margin-left: 1em;
}
.aligncenter {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 2em;
}
img.aligncenter {
	display: block;
}

@media screen and (min-width:678px) {
  
	#side .widget {
		width: 100%;
		padding: 0px 0px;
		box-sizing: border-box;
	}

}


/*================================================
 *  Contact
 ================================================*/

.mw_wp_form {
    font-size: 1.3rem;
    margin-bottom: 30px;
}
.mw_wp_form h3 {
    margin-bottom: 1em;
}
.mw_wp_form h3 span {
    padding-bottom: 0.25em;
    font-size: 1.5rem;
    padding-right: 2em; 
    border-bottom: 1px solid #000;
}
.mw_wp_form .fcC00 {
    color: #CC0000;
}
.mw_wp_form p {
}
.mw_wp_form .error_blank, .mw_wp_form .error_match {
    color: #FF0000;
}
input[type="text"], input[type="email"] {
	border: 1px solid #333333;
	background-color:#EFEFEF;
	padding:10px !important;
	width:100% !important;
	box-sizing: border-box;
}
.mw_wp_form .mwform-tel-field input[type="text"] {
	width:auto !important;
}
textarea {
	border: 1px solid #bbb !important;
	background-color:#EFEFEF;
	padding:10px !important;
	width:100%;
	height:300px;
	box-sizing: border-box;
}
.sendbtn {
	text-align:center !important;
	padding-top:30px !important;
}
.sendbtn input[type="submit"] {
   line-height: 1 !important;
	padding:10px 30px !important;
	background-color:#fff !important;
	cursor:pointer;
	color:#FFFFFF !important;
	background-image:none !important;
	display:block !important;
	margin: 0 auto !important;
	-webkit-appearance: none;
}
.complete-message p {
	font-size:1.4rem;
    margin-bottom:1.25em;
}

@media screen and (min-width:769px) {
    
}


/*================================================
 *  ギャラリー
 ================================================*/

#single-gallery {
    width: 80%;
    max-width: 640px;
    margin: 0 auto;
    padding-top: 43px;
    padding-bottom: 145px;
    text-align: center;
}

#single-gallery .txt-title {
    width: 100%;
    height: auto;
    font-size: 2.1rem;
    letter-spacing: 3px;
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    z-index: 1;
}

#single-gallery .txt-free1 {
    font-size: 1.1rem;
    letter-spacing: 1px;
}

#single-gallery .detail-text {
    margin-top: 10px;
    text-align: left;
}

#single-gallery .txt-midashi {
    margin-bottom: .2em;
    font-size: 2.1rem;
}

#single-gallery .txt-free2 {
    margin-bottom: .8em;
    font-size: 1.6rem;
}

#single-gallery .txt-free3 {
    font-size: 1.4rem;
    line-height: 1.8;
}

#single-gallery .link-url {
    margin-top: 50px;
}

#single-gallery .btn-to-os {
    display: inline-block;
    padding: 5px 20px;
    border: solid 1px #000;
    border-radius: 20px;
    letter-spacing: 1px;
    font-size: 1.3rem;
    background-color: #FFFFFF;
    transition: all 300ms ease 0ms;
	  width: 50%;
	  text-align: center;
}
#single-gallery .btn-to-os:hover {
    background-color: rgba(0,0,0,.05);
    border-color: rgba(0,0,0,.05);
    color: #000;
}

#single-gallery .imgs {

    margin-top: 35px;
}

#single-gallery .imgs .img-main {
    width: 100%;
    margin: 0 auto 40px;
    position: relative;
}

#single-gallery .imgs .img-thumbs {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}


#single-gallery .imgs .img-thumbs li {
    margin-right: 5.5%;
    position: relative;
    overflow: hidden;
}

#single-gallery .imgs .img-main:before,
#single-gallery .imgs .img-thumbs li:before {
    content:"";
    display: block;
    padding-top: 66.7%;
}

#single-gallery .imgs .img-main img,
#single-gallery .imgs .img-thumbs li img {
    width: 100%;
    height: auto;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

#single-gallery .post-nav {
    margin-top: 96px;
}
#single-gallery .post-nav a {
    display: inline-block;
    width: auto;
    height: auto;
    padding: 5px 20px;
    line-height: normal;
    font-size: 1.3rem;
    border-radius: 20px;
    letter-spacing: 1px;
    transition: all 300ms ease 0ms;
}
#single-gallery .post-nav a:hover {
    color: #fff;
    border-color: #CCC;
}

@media (min-width: 981px) {
    #single-gallery .imgs .img-thumbs li {
        width: 20.875%;
        margin-bottom: 3.5%;
    }
    #single-gallery .imgs .img-thumbs li:nth-child(4n) {
        margin-right: 0;
    }
}
@media (min-width: 768px) {
    #single-gallery .imgs .img-main {
        max-height: 427px;
    }
}
@media (min-width: 768px) and (max-width: 980px) {
    #single-gallery .imgs .img-thumbs li {
        width: 29.666%;
        margin-bottom: 5.5%;
    }
    #single-gallery .imgs .img-thumbs li:nth-child(3n) {
        margin-right: 0;
    }
}

@media (max-width: 767px) {
    #single-gallery .imgs .img-thumbs li {
        width: 47.25%;
        margin-bottom: 7.5%;
    }
    #single-gallery .imgs .img-thumbs li:nth-child(2n) {
        margin-right: 0;
    }
}


/*================================================
 *  サブメニュー
 ================================================*/

@media (max-width: 1199px) {
    #gnav .drawer-menu {
        -webkit-overflow-scrolling: touch;
    }
    #gnav .menu>.menu-item {
        border-top: 1px dotted #fff;
    }
    #gnav .menu-right-container {
        border-bottom: 1px dotted #fff;
    }
    #gnav nav li {
		display: flex;
        align-items: flex-start;
        margin-bottom: 0;
        padding-bottom: 30px;
    }
    #gnav nav li:last-child {
        padding-bottom: 0;
    }
	#gnav ul:not(.sub-menu)>.menu-item {
        padding: 15px 0;
	}
    #gnav .menu-item-has-children>a {
        width: 40%;
        text-align: left;
    }
    #gnav .menu-item-has-children .sub-menu {
        width: 60%;
    }
    #gnav .sub-menu .sub-menu-head {
        display: none;
    }
	#gnav ul.sub-menu .menu-item:first-child {
        padding-top: 0;
	}
}

@media (min-width: 1200px) {
    #gnav .sub-menu {
        width: 100vw;
        display: none;
        flex-wrap: wrap;
        padding: 40px calc((100vw - 1070px) / 2);
        box-sizing: border-box;
        position: absolute;
        left: 0;
        top: 100px;
    }
    #gnav .menu-item-has-children:after {
        position: relative;
    }
    #gnav .menu-item-has-children:after {
        position: relative;
        top: -0.2rem;
        right: -0.8rem;
        width: 0.5rem;
        height: 0.5rem;
        transform: rotate(135deg);
        border-right: 1px solid #333839;
        border-top: 1px solid #333839;
        content: "";
        bottom: 0;
        transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
        display: inline-block;
    }
    #gnav .menu-item-has-children:hover .sub-menu {
        display: flex;
    }
    #gnav .sub-menu li {
        width: 200px;
        margin: 0 17px 0 0;
        text-align: left;
    }
    #gnav .sub-menu li:nth-of-type(5n+1) {
        margin-right: 0;
    }
    #gnav .sub-menu li:nth-of-type(n+7) {
        margin-top: 20px;
    }
    #gnav .sub-menu .sub-menu-head {
        width: 100%;
        margin-bottom: 20px;
    }
    #gnav .sub-menu li a {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    #gnav .sub-menu .sub-menu-img-outer {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100px;
        margin-bottom: .3em;
        position: relative;
    }
    #gnav .sub-menu .sub-menu-img-outer:after {
        content: '詳しく見る';
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        color: #fff;
        font-weight: bold;
        position: absolute;
        left: 0;
        top: 0;
        opacity: 0;
        transition: all .2s;
    }
    #gnav .sub-menu li:hover .sub-menu-img-outer:after {
        opacity: 1;
        transform: scale(.9);
    }
    #gnav .sub-menu .sub-menu-img-outer:before {
        content: '';
        width: 100%;
        height: 100%;
        background-color: rgba(0,0,0,.3);
        margin: auto;
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        opacity: 0;
        transition: all .2s;
    }
    #gnav .sub-menu li:hover .sub-menu-img-outer:before {
        width: 90%;
        height: 90%;
        opacity: 1;
    }
    #gnav .sub-menu .sub-menu-img {
        width: 100%;
        height: 100%;
        background-size: 100%;
        background-position: center;
        transition: all .2s;
    }
    #gnav .sub-menu li:hover .sub-menu-img {
        width: 90%;
        height: 90%;
        background-size: 130%;
    }
    #gnav .sub-menu li .sub-menu-title {
        width: 100%;
        text-align: left;
        font-weight: bold;
    }
    #gnav .sub-menu li:hover .sub-menu-title {
        text-decoration: underline;
    }
}

/*================================================
 *  検索フォーム
 ================================================*/

.search-form-outer {
    order: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.search-form {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0 20px;
}

.search-field {
    width: 75vw;
    padding: .5em;
    border: 0;
    line-height: 1;
    border-radius: 0;
}

.search-submit {
    padding: .5em;
    line-height: 1;
    border: solid 1px #fff;
    border-radius: 0;
    background-color: #000;
    color: #fff;
    font-weight: bold;
}

@media (min-width: 1200px) {
    .sp-search-form-outer {
        display: none;
    }
    .pc-search-form-outer {
        display: block;
    }
    .search-form {
        justify-content: center;
        padding: 0 0 0 2rem;
    }
    .search-form label {
        margin-right: 1rem;
    }
    .search-field {
        width: initial;
        border: solid 1px #000;
    }
    .search-submit {
        padding: .6em;
        border: 0;
    }
}

/*================================================
 *  検索結果
 ================================================*/

.no-result {
    font-size: 14px;
    text-align: center !important;
}