/* 
Theme Name:aduma
*/
@charset "utf-8";
/* CSS Document */
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
font-family: 'Courgette', cursive;
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Noto Serif JP', serif;
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers
*/
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
/*====================*/
body{
    font-family: 游ゴシック,メイリオ,Meiryo,ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,Osaka,ＭＳ\ Ｐゴシック,MS PGothic,sans-serif;
    font-family: 'Kosugi Maru', sans-serif;
    font-size:18px;
	font-weight: 700;
    line-height:1.5;
    letter-spacing:0.02em;
    font-weight: normal;
    color:#333;
    background-image: url("img/bg.png");
    background-repeat: repeat-y;
    background-size: contain;
}

*{
    position: relative;
    box-sizing: border-box;
}

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

/*記事内の画像*/
.alignleft{
    display: inline;
    float: left;
    margin-right: 1.5em !important;
}

.alignright{
    display: inline;
    float: right;
    margin-left: 1.5em !important;
}

.aligncenter{
    clear: both;
    display: block;
    margin-left: auto !important;
    margin-right: auto !important;
}

table.aligncenter,
table.alignright,
table.alignleft{
    display: table;
}

table.flex_table.aligncenter,
table.flex_table.alignright,
table.flex_table.alignleft{
    float: none;
}

.mincho{
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.noborder{
	border:0 !important;
	box-shadow:none !important;
}

/*head*/
header{
    z-index: 3;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    display: flex;
    justify-content: center;
    background: rgba(255,255,255, .7);
}

header #head_wrap{
    display: flex;
    justify-content: space-between;
    margin: 1em auto 1em;
    align-items: center;
    width: 1200px;
}

header #logo{
    display: inline-block;
    color: #ff8080;
}

header #logo h1 a{
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-size: 150%;
    color: #ff8080;
    text-shadow: 1px 1px 2px #fff;
}

header #logo p{
    text-shadow: 1px 1px 2px #fff;
}

header nav{
    max-width: 800px;
}

header nav li{
    display: inline-block;
    padding: 1em 1em .5em 1em;
}

header nav li:nth-child(1)::before,
header nav li:nth-child(2)::before,
header nav li:nth-child(3)::before,
header nav li:nth-child(4)::before,
header nav li:nth-child(5)::before{
    content: '';
    display: block;
    width: 50px;
    height: 50px;
    background-image: url(icon/home-2.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}

header nav li:nth-child(1):hover:before,
header nav li:nth-child(2):hover:before,
header nav li:nth-child(3):hover:before,
header nav li:nth-child(4):hover:before,
header nav li:nth-child(5):hover:before{
    animation: menuItem 3s ease infinite;
}

@keyframes menuItem {
  0% { transform:translateY(0) }
  5% { transform:translateY(0) }
  10% { transform:translateY(0) }
  20% { transform:translateY(-15px) }
  25% { transform:translateY(0) }
  30% { transform:translateY(-15px) }
  50% { transform:translateY(0) }
  100% { transform:translateY(0) }
}

header nav li:nth-child(2)::before{
    background-image: url(icon/hoshi.png);
}

header nav li:nth-child(3)::before{
    background-image: url(icon/uma.png);
}
header nav li:nth-child(4)::before{
    background-image: url(icon/heart.png);
}
header nav li:nth-child(5)::before{
    background-image: url(icon/mail.png);
}
header nav li a span.nav{
    text-shadow: 3px 3px 8px #fff;
}


/*main_image*/
#main_image{
	height:650px;
	z-index: -1;
}

span.msg {
    position: absolute;
    display: flex;
    justify-content: center;
    text-align: center;
    margin: auto;
    height: 100%;
    width: 100%;
    top: 65%;
    font-size: 250%;
    color: #f86b78;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: bold;
    text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
    z-index: 10;
}

#main_image:before{
	position:absolute;
	content:'';
	width:300px;
	height:400px;
	background-image:url("./img/imageright.png");
	background-repeat: no-repeat;
	background-size: contain;
	right:0;
	top:80px;
}

#main_image:after{
	position:absolute;
	content:'';
	width:150px;
	height:200px;
	background-image:url("./img/imageleft.png");
	background-repeat: no-repeat;
	background-size: contain;
	left:0;
	bottom:80px;
}

#slider img{
    width: 1200px;
    height: auto;
    margin: auto;
}

.slick-slide{
    top: -100px !important;
}

.slick-slider .slick-track,
.slick-slider .slick-list{
    height: 100%;
}
#bg_slider{
    z-index: -1;
    opacity: 0.8;
	height:650px;

}

#bg_slider img{
    margin-bottom: 5px;
    width: 100%;
    height: auto;
}

/*info*/
#info_wrap{
	margin-top:-200px;
		padding:200px 1em 1em;
	background-image:url("./img/infobg.png");
	background-repeat: no-repeat;
	background-size:2000px auto;
	background-position:center top;
}

#info_wrap h3{
	display: table;
	margin:1.5em auto;
	padding:.5em 2em;
	background:#fff;
	color: #e29f3b;
	border-radius:25px;
}

#info{
	display: flex;
	justify-content: space-between;
	width:1200px;
	margin: auto;
}

#info section{
	width:48%;
	padding:1em;
	background:#fff;
	border-radius:8px;
}

#info section h4{
	display: table;
	margin-top:-35px;
	margin-bottom:1em;
	border-radius: 8px;
	padding:.5em 2em;
	color: #fff;
	background:#FF8080;
}

#info section:first-child h4{
    background-image: url(icon/sche.png);
    background-size: 1.5em;
    background-repeat: no-repeat;
    background-position: left .3em center;
}

#info section h4{
    background-image: url(icon/info.png);
    background-size: 1.5em;
    background-repeat: no-repeat;
    background-position: left .3em center;
}

#info section ul li{
	border-bottom:1px dotted #ccc;
	margin-bottom:1em;
}

#info section ul li span.date {
    color: #e29f3b;
    padding: 0 1.5em 1em 1em;
}

#info section ul li span.info a:hover{
    color: #ff8080;
}

#info section p{
    text-align: right;
}
#info section ul li span.info a,
#info section p a{
    transition: .2s;
}
#info section p a:hover{
    color: #ff8080;
}

#info section table th {
    color: #e29f3b;
    padding: 0 1.5em 1em 1em;
    text-align: left;
}

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

#main_wrap{
    max-width: 1200px;
    margin: auto;
}

#main_wrap h3{
    font-size: 130%;
    text-align: center;
    margin-bottom: 1em;
}

#main_wrap p {
    margin-bottom: 1.5em;
}

#main_wrap .main_cont p.btn a,
#main_wrap p.btn a{
    display: inline-block;
    font-size: 80%;
    border: 2px solid #ffcc80;
    background-color: #ffcc80;
    text-align: center;
    padding: .5em;
    width: 235px;
    border-radius: 8px; 
    transition: .2s;
}

#main_wrap .main_cont p.btn a:hover,
#main_wrap p.btn a:hover{
    border: 2px solid #979797;
}

#main_wrap p.btn{
    margin-top: 1em;
}

#main_wrap .main_cont p.btn{
    text-align: right;
}


#main .main_cont{
    display: flex;
    align-items: center;
    margin: 15em 0;
    padding: 1em 2em;
}

#main .main_cont:first-of-type section ul#slider li.slick-slide{
    top: 0 !important;
}

#main .main_cont:nth-child(2n+1) > section:first-of-type::before{
    z-index: -1;
    content: '';
    background-color: #cfd4ff;
    border-radius: 0 32px 32px 0;
    position: absolute;
    display: block;
    top: 0;
    right: calc((100% - 1200px)/2 + 600px);
    width: 50vw;
    height: 100%;
}

#main .main_cont:nth-child(2n) > section:last-child::before{
    z-index: -1;
    content: '';
    background-color: #ffe6e6;
    border-radius: 32px 0 0 32px;
    position: absolute;
    display: block;
    top: 0;
    left: calc((100% - 1200px)/2 + 600px);
    width: 50vw;
    height: 100%;
}

#main .main_cont section{
    position: static;
    padding: 1em;
    width: 50%;
}

#main .main_cont img,
#main .main_cont iframe{
    border-radius: 16px;
    max-width: 100%;
}

#main .main_cont .comment{
    margin: auto;
    width: 70%;
}

#main .main_cont h2{
    text-align: center;
    font-size: 130%;
    font-weight: bold;
    margin-bottom: .5em;
}

#main .main_cont #yama{
    position: absolute;
    top: 50%;
    right: 0;
}

#main .main_cont .tuite{
    width: 60%;
}

#main .main_cont svg{
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: auto;
}

#main .main_cont svg#moyamoya{
    position: absolute;
    transform: scale( -1,1) ;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: auto;
}

.moya{
    fill:#f4f4f4;
    opacity:0.5;
}

#qa{
	display: table;
    text-align: center;
	margin:1em auto 3em;
}

#qa:before,
#qa:after{
	position: absolute;
	content:'';
	width:3px;
	height:calc(100% - 3em);
	background: #A3A3C1;
	left:0;
	top:0;
	transform:rotate(-20deg);
}

#qa p:first-of-type{
	margin-bottom:1em;
	color:#FF8080;
	font-weight: bold;
}

#qa:after{
	left: auto;
	right: 0;
	transform: rotate(20deg);

}

#qa span{
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-size: 130%;
}

#qa p.btn{
    display: inline-block;
	margin:.5em;
}

/*page*/
#p_list{
    padding: .5em;
    margin: 0 auto;
    max-width: 1200px;
}

#breadcrumb{
    display: flex;
    justify-content: flex-end;
    font-size:80%;
}

#breadcrumb li::after{
    margin-left: .5em;
    content: '＞';
}

#breadcrumb li:last-child::after{
    margin-left: .5em;
    content: '';
    font-size:80%;
}

#page h2{
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    margin-bottom: .5em;
}

#page h2 span{
    display: block;
    padding: 1em .5em;
    margin: auto;
    max-width: 1200px;
    font-size: 200%;
    text-shadow: 2px 2px 2px #fff;
}

#page h2::before{
    position: absolute;
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,.6);
}

#page h3:first-letter {
    font-size: 150%;
    color: #FF8080;
}

#page h3{
    font-size: 130%;
    text-align: left;
    border-bottom: 2px solid #FF8080;
    margin-bottom: 1.2em;
}

#page h4{
    font-size: 120%;
    border-bottom: double 5px #ffcc80;
    margin-bottom: 1.3em;
}

#page h5{
    font-size: 110%;
    border-bottom: 3px dotted #ffcc80;
    margin-bottom: 1.4em;
}

#page h6{
    font-size: 110%;
    margin-bottom: 1.4em;
}

#page h6::before{
    content: '●';
    color: #ffcc80;
    padding: .1em .2em 0 0;
    font-size: 100%;
}

#page #main_wrap #main a{
    text-decoration: underline;
    color: #FF8080;
}

#page #main_wrap #main ul{
    margin-bottom: 1em;
}

#page #main_wrap #main ul li{
    margin-left: 1.5em;
    margin-bottom: .5em;
    padding: .2em;
}

#page #main_wrap #main ul li::before{
    display: block;
    position: absolute;
    content: '';
    margin: auto;
    width: .5em;
    height: .5em;
    background-color: #FF8080;
    border-radius: 25px;
    top: .7em;
    left: -1.5em;
}

#page #main_wrap #main ol{
    margin-bottom: 1em;
}

#page #main_wrap #main ol li{
    margin-left: 1.5em;
    margin-bottom: .5em;
    counter-increment: olNum1;
}

#page #main_wrap #main ol li::before{
    display: block;
    position: absolute;
    content: '';
    margin: auto;
    width: 1em;
    height: 1em;
    border-radius: 5px;
    top: .25em;
    left: -1.5em;
}

#page #main_wrap #main ol li::after{
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1em;
    height: 1em;
    border-radius: 25px;
    color: #333;
    top: .25em;
    left: -1.5em;
    content: counter(olNum1);
}

#page #main_wrap #main p#pagenate{
    margin: 1.5em 0;
    display: flex;
    justify-content: space-between;
}

#page table{
    margin-bottom: 1.5em;
    background: #fffcf9;
}

#page table th{
    padding: 1em;
    word-break: keep-all;
    color: #fff;
    background: #FF8080;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
}

#page table td{
    border-right: 1px dotted #ccc;
    border-bottom: 1px dotted #ccc;
}

#page table th,
#page table td{
    vertical-align: top;
    padding: 1em;
}

#page table.flex_table,
#page table.flex_table > tbody{
	display:block;
	max-width:100%;
	border:0;
}

#page table.flex_table > tbody > tr{
	display:flex;
}

#page table.flex_table > tbody > tr > td{
	display:block;
	padding:.5em;
	width:auto !important;
	background:transparent;
	border:0;
}

#page table.flex_table > tbody > tr > td table.flex_table td{
	padding:.5em;
}

#page table.flex_table.aligncenter > tbody > tr{
	justify-content:center;
}

#page table.flex_table.aligncenter > tbody > tr > td{
	width:auto !important;
}

#page table.flex_table.alignright > tbody > tr{
	justify-content:flex-end;
}


#page table.flex_table.al_center > tbody > tr{
	align-items:center;
}

#page table.flex_table.eq_width > tbody > tr > td{
	width:100% !important;
}

#page table.tb_noborder,
#page table.tb_noborder > tbody,
#page table.tb_noborder > tbody > tr,
#page table.tb_noborder > tbody > tr > th,
#page table.tb_noborder > tbody > tr > td{
	border:0 !important;
	background:none !important;
}

#page body{
    background-size: cover;
}

#page header{
    position: relative;
}

#page #main_wrap{
    min-height: 500px;
}

/* コンタクトフォーム */
#main form p {
    font-family:'M PLUS Rounded 1c', sans-serif;
    font-weight: bold;
    line-height: 2em;
}

input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required {
    height: 2em;
    border: 2px solid #aaa;
    border-radius: 5px;
    padding-left: 1em;
}

textarea.wpcf7-form-control.wpcf7-textarea {
    border: 2px solid #aaa;
    border-radius: 1em;
    padding-left: 1em;
    min-width: 60%;
}

input.wpcf7-form-control.wpcf7-submit {
    color: #fff;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-size: 90%;
    padding: .5em 1em;
    background: #ff8080;
    border: 1px solid #aaa;
    border-radius: .5em;
    transition: .2s;
}

input.wpcf7-form-control.wpcf7-submit:hover {
    cursor: pointer;
    color: #ff8080;
    background: #fff;
}

/*footer*/
footer{
    clear: both;
    display: flex;
    justify-content: center;
	padding-top:150px;
    margin: auto;
	background-image: url("./img/footerbg.png");
	background-size:2000px auto;
	background-position: center top;
}

footer #foot_wrap{
    width: 1200px;
	margin: auto;
}
footer nav ul{
    display: flex;
    justify-content: space-between;
	margin-bottom:1.5em;
}

footer nav ul li a{
    transition: .2s;
}

footer nav ul li a:hover{
    color: #ff8080;
    text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff;
} 

address{
    display: block;
    float: right;
	font-style: normal;
}

address p span{
	display:inline-block;
	font-size: 150%;
}

.copy{
    font-size: 70%;
    margin: auto;
    text-align: center;
	background:#FFCC80;
}


/* 小型ノート */
@media screen and (max-width: 1440px){
    #info_wrap{
        margin-top: -400px;
    }
    span.msg{
        top: 50%;
    }
}

@media screen and (max-width: 1200px) {
    header #head_wrap{
        justify-content: space-around;
    }
    #info{
        width: 100%;
    }
    #page #main_wrap{
        padding: 0 2em;
    }
    footer #foot_wrap{
        width: 100%;
        padding: 0 2em;
    }
}

@media screen and (max-width: 1060px){
        #info_wrap{
        margin-top: -450px;
    }
}

/* タブレット */
@media screen and (max-width: 768px) {
    #sp_toggle{
	position:relative;
	display:table;
	margin: 0 0 0 auto;
	padding:1.5em;
	font-size:100%;
	color:#333;
	text-align:center;
	font-weight:bold;
	box-sizing:border-box;
	cursor:pointer;
    }

    #sp_toggle #sp_toggle_icon{
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 2px;
    margin: -1px 0 0 -.5em;
    background: #ffcc80;
    transition: .2s;
    }

    #sp_toggle #sp_toggle_icon:before,
    #sp_toggle #sp_toggle_icon:after{
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 14px;
    height: 2px;
    background: #ff8080;
    transition: .3s;
    }

    #sp_toggle #sp_toggle_icon:before{
    margin-top: -6px;
    }

    #sp_toggle #sp_toggle_icon:after{
    margin-top: 4px;
    }

    #sp_toggle #sp_toggle_icon.close{
    background: transparent;
    }

    #sp_toggle #sp_toggle_icon.close:before, #panel-btn .close:after{
    margin-top: 0;
    }

    #sp_toggle #sp_toggle_icon.close:before{
    margin-top: -1px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    }

    #sp_toggle #sp_toggle_icon.close:after{
    margin-top: -1px;
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
    }
    header{
        background: none;
    }
    header #head_wrap{
        justify-content: flex-start;
        padding-left: 2em;
    }
    header nav{
        width: unset;
        position:fixed;
        top:0;
        right:0;
        background:rgba(255,255,255,.8);
        margin-top: 0;
        z-index:9999;
    }

    header nav.menuopen{
        width: 100%;
    }

    header  nav  ul{
        display:none;
        flex-direction: column;
        width:100vw;
        height:100vh;
        margin: 0;
        background-color: transparent;
        border-radius: 0;
        transition: 0s;
    }

    header nav ul li{
        display: block;
        font-weight: bold;
        line-height: 2em;
        width: 100%;
        margin-bottom: 1.5em;
        text-align: center;
    }

    header nav ul li > ul{
        display: block !important;
        position: relative;
        background-color: transparent;
        height: 100%;
    }

    header nav ul li > ul li{
        overflow: unset;
        height: 100%;
    }
    header nav li > ul {
    width: 100%;
    position: absolute;
    z-index: 1;
    }

    header nav > ul > li.current::before,
    header nav > ul > li:hover:before{
        background: transparent;
    }

    header nav li a {
        display: block;
        width: 100%;
    }

    #main_image:before{
        display: none;
    }

    span.msg{
        font-size: 200%;
        top: 30%;
    }

    #info_wrap {
        margin-top: -600px;
    }

    #info{
        flex-direction: column;
    }

    #info section {
    width: 100%;
    margin-bottom: 1.5em;
    }

    #main .main_cont {
    flex-direction: column;
    }
    #main .main_cont svg{
        top: unset;
    }
    #main .main_cont section {
    width: 100%;
    text-align: center;
    }
    #main .main_cont .comment{
        width: 100%;
    }
    #main .main_cont:nth-child(2) {
        flex-direction: column-reverse;
    }
    #main .main_cont:nth-child(2n+1) > section:first-of-type::before{
        width: 100vw;
        right: 0;
    }
    #main .main_cont:nth-child(2n) > section:last-child::before{
        width: 100vw;
        left: 0%;
    }
    
}

/* スマートフォン */
@media screen and (max-width: 500px) {
    .slick-slide{
        top: 0 !important;
    }
    span.msg {
    font-size: 150%;
    top: 15%;
    }
    .moya {
        display: none;
    }
    #qa:before, #qa:after{
        display: none;
    }
    #page table.flex_table > tbody > tr,
    footer nav ul{
        flex-direction: column;
    }
    footer nav ul li{
        margin-bottom: 1.5em;
    }
    footer{
        background: #ffcc80;
    }
    address{
        margin-bottom: 1.5em;
    }
    iframe{
        width: 100%;
    }
    textarea.wpcf7-form-control.wpcf7-textarea{
        width: 100%;
    }
}