@charset "UTF-8";

/*====================================

common base

=====================================*/

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%;
  font: inherit;
  vertical-align: baseline;
}
/*  HTML5 display-role reset for older browsers 
*/
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
html {
  font-size: 62.5%;
  height:100%;
}
body {
  font-size: 1.6rem;
  line-height: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  background: #f8f8f8;
  color: #222;
  overflow-x: hidden;
      letter-spacing:1.2px;
  font-feature-settings:"palt";
  font-weight:400;
    min-height: 100%;
  display: flex;
  flex-direction: column;
}
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;
}
ul, dl, ol {
  list-style-type: none;
  list-style-position: outside;
}
a:link {
  color: #222;
  text-decoration: none;
}
a:visited {
  color: #222;
  text-decoration: none;
}
a:hover,input[type="submit"]:hover {
  opacity:0.7;
  text-decoration: none;
  -webkit-transition: all .4s;
  transition: all .4s;   
}

a:active {
  text-decoration: none;
}

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

:focus {
	outline: none;
}

/* -------------------------- for PC --------------------------*/

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

/*====================================

header

=====================================*/

header{
    background:#fff;
  padding:24px 2%;
    box-shadow: 0 0 12px ##efefef;
  display:flex;
  justify-content:space-between;
  margin-bottom:40px;
}

#home header{
  margin-bottom:0;
}

header #logo span{
  position:relative;
  top:3px;
font-size:1.3rem;  
}

header nav{
  font-size:1.5rem;
}

header nav ul{
   justify-content: center;
  display:flex;
  margin-top:6px;
}

header nav li{
  position:relative;
}

header nav li span{
      margin-left:24px;
  padding-right:22px;
  background:url(../img/icon/arrow-down.svg)no-repeat right 18%;
  background-size:20px 20px;
  display:block;
}

header nav li span:hover{
  cursor:pointer;
    opacity:0.7;
  text-decoration: none;
  -webkit-transition: all .4s;
  transition: all .4s;
}

header nav li ul li{
}

header nav li span:hover + ul{
  display:block;
}

header nav li ul{
  width:300px;
  position:absolute;
  top:20px;
  right:0;
  background:#fff;
  padding:20px;
    box-shadow: 0 0 12px #efefef;
}

  header nav li ul li a{
      display:block;
  background:#eee;
  border-radius:6px;
  margin:0 16px 16px 0;
  box-sizing:border-box;
  padding:12px 12px 12px 12px;
  font-size:1.4rem;
  text-align:center;
  }
  
  

/*====================================

wrapper

=====================================*/

.wrapper{
  width:1200px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
}

/*====================================

main

=====================================*/  

#main{
  background:url(../img/main.png) no-repeat;
  background-size:cover;
  width:100%;
  padding:32px;
  box-sizing:border-box;
  height:320px;
}

#main h1{
  color:#fff;
  font-size:3rem;
  font-weight:700;
  line-height:1.5;
  text-align:center;
  margin-bottom:32px;
}

#main h1 br{
  display:none;
}

#main h1 span{
  font-size:1.6rem;
  display:block;
  margin-top:6px;
  font-weight:400;
}
  
#main .box {
  max-width:1200px;
  background:rgb(255,255,255,0.8);
  padding:32px;
  border-radius:10px;
  display:flex;
  align-items:center;
  gap:24px;
  margin:0 auto;
  box-sizing:border-box;
}

#main .box h2 {
  font-size:2.2rem;
  margin:0;
  word-break:keep-all;
  width:148px; 
  font-weight:600;
  flex-shrink:0;
}

#main .box form {
  display:flex;
  align-items:center;
  flex:1;
  gap:24px;
}

#main form input[type="text"]{
  font-size:1.8rem;
  box-sizing:border-box;
  padding:16px;
  border:1px solid #ccc; 
  border-radius:10px;
  flex:1;
  min-width:0;
}

#main form input[type="submit"]{
  border:0;
  background:url(../img/icon/search.svg?1) no-repeat #611585 22px center;
  background-size:24px 24px;
  color:#fff;
  border-radius:10px;
  width:120px;
  height:54px;
  font-size:1.8rem;
  padding-left:30px;
  box-sizing:border-box;
  letter-spacing:3px;
  flex-shrink:0;
}

 /*====================================

search-dir

=====================================*/

article{
  width:1200px;
  margin:0 auto;
  flex:1;
}
  
article h3{
  font-size:2.2rem;  
    font-weight:700; 
  margin:40px 0 24px 0;

}

#mood{
  background:#fff;
  border-radius:10px;
  padding:32px 32px 16px 32px;
  display:flex;
  flex-wrap:wrap;
  box-shadow: 0 0 12px #efefef;
}

#mood li a{
  display:block;
  background:#eee;
  border-radius:6px;
  margin:0 16px 16px 0;
  box-sizing:border-box;
  padding:12px 12px 12px 12px;
  font-size:1.6rem;
  text-align:center;
}

#mood li a img{
  width:24px;
    vertical-align:middle;
}

#category,#inst{
  background:#fff;
  border-radius:10px;
  padding:32px 8px 0 8px;
  display:flex;
  flex-wrap:wrap;
    box-shadow: 0 0 12px #efefef;
}

#inst{
  padding:32px 16px 0 16px;
}

#category li,#inst li{
  margin:0 24px 32px 24px;
  font-size:1.8rem;
    width:149px;
    font-weight:500;
}

#category li img,#inst li img{
  margin-bottom:12px;
  display:block;
  border-radius:10px;
}
  
#inst li{
    width:128px;
  margin:0 16px 32px 16px;
}

  #info{
  background:#fff;
  border-radius:10px;
  padding:32px 32px 16px 32px;
  display:flex;
  flex-wrap:wrap;
  box-shadow: 0 0 12px #efefef;
}

#info dl{
  display:flex;
  align-items:center;
  margin-bottom:16px;

}

  #info dt{
    margin-right:24px;
  }

 /*====================================

archive

=====================================*/

.wrapper article{
  width:100%;
}

.wrapper article h2{
  font-size:2.8rem;
  font-weight:700;
  margin-bottom:24px;
}

.wrapper .archive{
  display:flex;
  justify-content:left;
  align-items:center;
}

.wrapper article section .archive:not(:last-of-type){
    margin-bottom:40px;
}

article .archive p{
  width:208px;
  min-width:208px;
  line-height:0;
}

article .archive p img{
    border-radius:10px;
}

article .archive dl{
  max-width:576px;
  margin-left:16px;
}

article .archive dt{
  font-weight:500;
  line-height:1.3;
  font-size:2.0rem;
  margin-bottom:16px;
}

article .archive dd{
  font-size:1.4rem;
  color:#555;
}

article .archive dd.date{
  margin-bottom:16px;
}

.tags li{
  display:inline-block;
  margin-right:8px;
}
  
.tags a:before{
  content:"#";
}

.tags a{
  color:#555;
}

#hdr-archive{
  margin-bottom:32px;
}  


#hdr-archive h2{
  font-size:1.6rem;
}
  
#hdr-archive h2 span{
  font-size:2.4rem;
}  

#hdr-archive .total-number span{
  font-weight:700;
}
  
/*====================================

aside

=====================================*/

aside{
  width:320px;
  min-width:320px;
  margin-left:48px;
}

aside nav,aside section{
  margin-bottom:40px;
  background:#fff;
  padding:24px;
  border-radius:10px;
    box-shadow: 0 0 12px #efefef;
}

aside h3{
  font-size:2.2rem;
  font-weight:700;
  margin-bottom:24px;
}

aside p{
  line-height:1.6;
}

aside .archive{
    font-size:1.5rem;
    line-height:1.6;
  margin-bottom:16px !important;
}

aside .archive:last-child{
  margin-bottom:0 !important;
}

aside .archive a img{
  width:96px;
  border-radius:10px;
} 

.ranking .archive{
  position:relative;
  overflow:visible;
}

aside .ranking ul li:before{
  content:"1";
  display:block;
  position:absolute;
  width:24px;
  height:24px;
  color:#fff;
  font-size:1.2rem;
  box-sizing:border-box;
  border-radius:50%;
  text-align:center;
  padding-top:2px;
  left:-10px;
  top:-10px;
}  

aside .ranking ul li:nth-child(1):before{
  background:#BE9B1D;
}

aside .ranking ul li:nth-child(2):before{
  content:"2";    
  background:#777;
}

aside .ranking ul li:nth-child(3):before{
  content:"3";  
  background:#AE4949;
}

aside .ranking ul li:nth-child(4):before{
  content:"4"; 
  background:#066093;
}  

aside .ranking ul li:nth-child(5):before{
  content:"5"; 
  background:#57904E;
}
  
  
aside .banner li{
  line-height:0;
}

aside .banner li:not(:last-child){
    margin-bottom:24px;
}

aside #about p a{
  padding-left:20px;
  background:url(../img/icon/arrow-next.svg)no-repeat left 55%;
  background-size:12px;
  display:block;
  margin-top:16px;
}

/*====================================

single

=====================================*/

#topicpath{
  font-size:0;
  margin-bottom:40px;
}

#topicpath li{
  display:inline-block;
  font-size:1.2rem;
}

#topicpath li:not(:last-child):after{
content:">";
  margin:0 8px;
  font-size:1rem;
}

#content-wrapper{
  background:#fff;
  padding:32px;
  border-radius:10px;
  box-shadow: 0 0 12px #efefef;
}

#content-wrapper h1{
  font-size:2.6rem;
  font-weight:700;
  line-height:1.4;
    background:#eee;
  padding:16px;
  margin-bottom:40px;
  border-radius:10px;
}

#content iframe{
  width:100%;
  height:352px;
  border-radius:10px;
  margin-bottom:24px;
}

#content p{
  line-height:1.7;
}

#content dl{
  margin-bottom:16px;
  display:flex;
}

#content dt{
  font-weight:500;
  margin-right:8px;
  
}

#content dd ul{
  display:flex;
}

#content dd:first-of-type{
  margin-right:16px;

}

.download a{
  width:320px;
  display:block;
  margin:40px auto;
  text-align:center;
  background:url(../img/icon/download.svg?1) no-repeat #611585 70px 57%;
  border-radius:10px;
  padding:24px 24px 24px 44px;
  color:#fff;
  font-weight:700;
  font-size:2.0rem;
      box-shadow: 0 0 8px #999;
}
  

#share{
  display:flex;
  align-items:center;
  padding-top:40px;
  margin-top:40px;
  border-top:1px solid #ccc;
}

.fb-share-button{
  margin-right:16px;
}

.twitter-share-button{
  margin-right:16px;
} 

#related{
  margin-top:56px;
}

#related h3{
  margin-bottom:16px;
}

.rating{
  color:#E8C435;
  font-size:2rem;
}


/*====================================

fullwid / col-1

=====================================*/

.wrapper:has(.fullwid){
  display:block;
}

.fullwid{
  width:720px;
  margin:0 auto;
}
  
.fullwid h1,.col-1 h1{
  font-size:3.0rem;
  display:block;
  margin-bottom:40px;
  font-weight: 700;
  }

.fullwid p,.col-1 p{
  line-height:1.6;
} 

  
/*====================================

contact

=====================================*/

.wpcf7{
  width:720px;
  margin:0 auto;
}
  
.wpcf7 label{
  margin-bottom:32px;
  display:block;
}

.wpcf7-form-control-wrap{
  margin-top:16px;
  display:block;
}

.wpcf7 label .optional-select{
  font-size:1.2rem;
  margin-left:8px;
  border:1px solid #ccc;
  padding:4px;
  border-radius:6px;
  background:#fff;
}

.wpcf7 label .required{
  border-color:#E44141;
  color:#E44141;
}
  
.wpcf7 label input,.wpcf7 label textarea{
  display:block;
  border:1px solid #ccc;
  padding:16px;
  font-size:1.6rem;
  width:100%;
  margin-top:8px;
  border-radius:10px;
  box-sizing:border-box;
    line-height:1.6;
}

.wpcf7 input[type="submit"] {
  background:#611585;
  color:#fff;
  border-radius:10px;
  border:0;
  padding:16px;
  width:320px;
  font-size:1.6rem;
  margin:0 auto;
  display:block;
} 
  
input[type="submit"]:hover{
  cursor:pointer;
}
  

/*====================================

footer

=====================================*/

footer{
  width: 100%;
  font-size:1.4rem;
  color:#555;
  padding:32px 2%;
 margin-top:64px;
  background:#fff;
  box-shadow: 0 0 12px #efefef;
  display:flex;
  justify-content:space-between;
  box-sizing:border-box;
}

footer ul{
  display:flex;
  align-items:center;
}

footer li{
  margin-left:16px;
  line-height:0;
}

}

/* -------------------------- for SP --------------------------*/

@media screen and (max-width:750px) {


/*====================================

common

=====================================*/

.spnone{
  display:none;
}

/*====================================

header

=====================================*/

header{
  background:#fff;
    box-shadow: 0 0 8px #efefef;
  height:48px;
  padding:0;
  margin-bottom:24px;
}

header #logo{
margin:0 0 32px 0;
  padding-top:12px;
}

header #logo span{
  margin:0 0 0 8px;
  font-size:1rem;
  position:relative;
  top:1px;
  color:#666;
}

/* Menu */

.menu-wrapper {
  position: relative;
}

.menu-icon {
  width: 20px;
  height: 20px;
  position: fixed;
  top:8px;
  right: 4%;
  cursor: pointer;
  z-index: 3;
  display: inline-block;
}

.menu-icon span {
  display: block;
  height: 2px;
  margin: 6px 0;
  background: #222;
  border-radius: 2px;
  transition: 0.4s;
}


#menu-toggle:checked + .menu-icon span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
#menu-toggle:checked + .menu-icon span:nth-child(2) {
  opacity: 0;
}
#menu-toggle:checked + .menu-icon span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

.overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.4);
  opacity: 0;
  pointer-events: none;
  transition: 0.4s;
  z-index: 1;
}

#menu-toggle:checked ~ .overlay {
  opacity: 1;
  pointer-events: auto;
}

.menu {
  position: fixed;
  top: 0;
  right: -70%; 
  width: 70%;
  height: 100%;
  background: #fff;
  box-shadow: 2px 0 8px rgba(0,0,0,0.2);
  transition: right 0.4s ease;
  z-index: 2;
}

#menu-toggle:checked ~ .menu {
  right: 0;
}

.menu ul {
  list-style: none;
  margin-top:72px;
}

.menu a {
  text-decoration: none;
  color: #333;
  font-size: 1.3rem;
  transition: color 0.3s;
  padding:0 4%;
  margin-bottom:24px;
  padding-bottom:24px;
  border-bottom:1px solid #ccc;
  display:block;
}

/*====================================

wrapper

=====================================*/

.wrapper{
width:92%;
  margin:0 auto;
}

.wrapper .wrapper{
  width:100%;
}

  /*====================================

main

=====================================*/  

#main{
  background:url(../img/main.png) no-repeat;
  background-size:cover;
  width:100%;
  border-radius:10px;
  padding:16px;
  box-sizing:border-box;
  box-shadow: 0 0 8px #efefef;
}

#main h1{
  color:#fff;
  font-size:1.8rem;
  font-weight:700;
  line-height:1.4;
  text-align:center;
  margin-bottom:16px;
}

#main h1 span{
  font-size:1.1rem;
  display:block;
  margin-top:6px;
  font-weight:400;
}
  
#main .box {
  background:rgb(255,255,255,0.8);
  padding:16px;
  border-radius:10px;
}

#main .box h2 {
  font-size:1.4rem;
  margin:0 0 8px 0;
  word-break:keep-all;
}

#main .box form {
  display:flex;
  align-items:center;
}

#main form input[type="text"]{
  font-size:1.4rem;
  width:80%;
  box-sizing:border-box;
  padding:8px;
  border:1px solid #ccc; 
  border-radius:10px;
  margin:0 4% 0 0;
  height:36px;
}

#main form input[type="submit"]{
  border:0;
  background:url(../img/icon/search.svg?1) no-repeat #611585 8px center;
  background-size:16px 16px;
  color:#fff;
  border-radius:10px;
  width:24%;
  height:36px;
  font-size:1.4rem;
  padding-left:20px;
  box-sizing:border-box;
  letter-spacing:2px;
}

 /*====================================

search-dir

=====================================*/

article h3{
  font-size:1.6rem;  
  font-weight:700;
  margin:32px 0 16px 0;
}

#mood{
  background:#fff;
  border-radius:10px;
  padding:16px 2% 0 2%;
  display:flex;
  flex-wrap:wrap;
  box-shadow: 0 0 8px #efefef;
}

#mood li{
    margin:0 2% 16px 2%;
}

#mood li a{
  display:block;
    background:#eee;
  border-radius:6px;
  box-sizing:border-box;
  padding:10px 8px 8px 8px;
  font-size:1.4rem;
  width:auto;
  text-align:center;
}

#category,#inst{
  background:#fff;
  border-radius:10px;
  padding:16px 2% 0 2%;
  display:flex;
  flex-wrap:wrap;
  box-shadow: 0 0 8px #efefef;
}

#category li,#inst li{
  margin:0 2% 24px 2%;
  font-size:1.6rem;
  width:29.3%;
}

#category li:nth-last-child(-n+3),#inst li:nth-last-child(-n+3){
  margin-bottom:16px;
}

#category li img,#inst li img{
  width:100%;
  margin-bottom:12px;
  display:block;
  border-radius:10px;
}

  #info{
  background:#fff;
  border-radius:10px;
  padding:16px 16px 0 16px;
  display:flex;
  flex-wrap:wrap;
  box-shadow: 0 0 8px #efefef;
}

#info dl{
  align-items:center;
  margin-bottom:16px;
    font-size:1.4rem;
}

  #info dt{
    margin-bottom:8px;
    font-size:1.2rem;
  }

  #info dd{
    line-height:1.4;
  }
  

/*====================================

article

=====================================*/


.wrapper article h2{
  font-size:1.6rem;
  font-weight:700;
  margin-bottom:16px;
}

.wrapper .archive{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:16px;
  padding-bottom:16px;
  width:100%;
}

.wrapper section .archive:not(:last-of-type){
  border-bottom:1px solid #ccc;
}

.archive p:first-of-type{
  line-height:0;
  width:28%;
}
  
article .archive dl{
  width:68%;
}

article .archive dt{
  font-weight:normal;
  line-height:1.3;
  font-size:1.6rem;
  margin-bottom:8px;
  font-weight:500;
}

article .archive dd{
  font-size:1.4rem;
  color:#555;
}

article .archive p{
  margin-bottom:8px;
}

.tags a:before{
  content:"#";
}

.tags a{
  margin-right:8px;
}

#hdr-archive{
  margin-bottom:24px;
}
  
#hdr-archive h2{
  font-size:1.4rem;
  margin-bottom:16px;
}
  
#hdr-archive h2 span{
  font-size:1.8rem;
}  

#hdr-archive .total-number{
  font-size:1.2rem;
}  

#hdr-archive .total-number span{
  font-weight:500;
  font-size:1.4rem;
}
  

/*====================================

aside

=====================================*/

aside{
    letter-spacing:0.5px;
}

aside img{
  border-radius:10px;
}  

aside nav,aside section{
  margin-bottom:40px;
  background:#fff;
  padding:16px;
  border-radius:10px;
  box-shadow: 0 0 8px #efefef;
}

aside p{
  line-height:1.5;
}

aside h3{
  font-size:1.6rem;
  font-weight:700;
  margin-bottom:16px;
}
  
aside .archive a:nth-of-type(2){
  width:68%;
  font-weight:normal;
  line-height:1.3;
  font-size:1.6rem;
  font-weight:500;
}

aside .ranking ul li{
    position:relative;
  overflow:visible;
}  

aside .ranking ul li:before{
  content:"1";
  display:block;
  position:absolute;
  width:20px;
  height:20px;
  color:#fff;
  font-size:1.2rem;
  box-sizing:border-box;
  border-radius:50%;
  text-align:center;
  padding-top:4px;
  left:-5px;
  top:-5px;
}  

aside .ranking ul li:nth-child(1):before{
  background:#BE9B1D;
}

aside .ranking ul li:nth-child(2):before{
  content:"2";    
  background:#777;
}

aside .ranking ul li:nth-child(3):before{
  content:"3";  
  background:#AE4949;
}

aside .ranking ul li:nth-child(4):before{
  content:"4"; 
  background:#066093;
}  

aside .ranking ul li:nth-child(5):before{
  content:"5"; 
  background:#57904E;
}

aside .ranking a:first-child{
  width:28%;
}  
  
aside .banner li{
  width:80%;
  line-height:0;
  margin:0 auto;
}

aside .banner li:not(:last-child){
  margin-bottom:16px;
}

 aside #about p a{
  padding-left:20px;
  background:url(../img/icon/arrow-next.svg)no-repeat left 55%;
  background-size:12px;
  display:block;
  margin-top:16px;
} 

/*====================================

single

=====================================*/

#topicpath{
  font-size:0;
  margin-bottom:24px;
}

#topicpath li{
  display:inline-block;
  font-size:1rem;
}

#topicpath li:not(:last-child):after{
content:">";
  margin:0 4px;
  font-size:1rem;
}

#content-wrapper{
  background:#fff;
  padding:16px;
  border-radius:10px;
  box-shadow: 0 0 8px #efefef;
  margin-bottom:32px;
}

#content-wrapper h1{
  font-size:2.2rem;
  font-weight:700;
  line-height:1.4;
    background:#eee;
  padding:16px;
  margin-bottom:24px;
  border-radius:10px;
}


#content iframe{
  width:100%;
  height:200px;
  border-radius:10px;
  margin-bottom:24px;
}

#content p{
  line-height:1.7;
}

#content dl{
  margin-bottom:16px;
  display:flex;
}

#content dt{
  font-weight:500;
  margin-right:8px;
  
}

#content dd ul{
  display:flex;
}

#content dd:first-of-type{
  margin-right:16px;

}

.download a{
  width:100%;
  display:block;
  margin:32px auto;
  text-align:center;
  background:url(../img/icon/download.svg?1) no-repeat #611585 60px 55%;
  border-radius:10px;
  padding:20px 20px 20px 30px;
  color:#fff;
  font-weight:500;
  font-size:1.8rem;
      box-shadow: 0 0 8px #999;
  box-sizing:border-box;
}
  
#share{
  display:flex;
  align-items:center;
  padding-top:40px;
  margin-top:40px;
}

.fb-share-button{
  margin-right:16px;
}

.twitter-share-button{
  margin-right:16px;
} 

#related{
  margin-top:56px;
}

#related h3{
  margin-bottom:16px;
}

.rating{
  color:#E8C435;
  font-size:2rem;
}

#share{
  display:flex;
  align-items:center;
  margin-top:32px;
  background:#f8f8f8;
  padding:16px;
flex-wrap: wrap;
  border-radius:10px;
}

.fb-share-button{
  margin-right:16px;
}

.twitter-share-button{
  margin-right:16px;
} 

.pocket-btn{
  width:86px; 
  margin:6px 16px 0 0;
}

  .hatena-button{
    margin-top:8px;
  }

  #related{
  margin-top:32px;
  padding-top:32px;
  border-top:1px solid #ccc;
}

#related h3{
  font-size:1.8rem;
  margin-bottom:16px;
}

#content img{
    border-radius:10px;
}  


 /*====================================

fullwid / col-1

=====================================*/  

.fullwid h1,.col-1 h1{
  font-size:2.2rem;
  display:block;
  margin-bottom:24px;
  font-weight:700;
  line-height:1.4;
}

.fullwid p,.col-1 p{
  line-height:1.6;
} 
 
/*====================================

contact

=====================================*/
  
.wpcf7 label{
  margin-bottom:24px;
  display:block;
}

.wpcf7 label .optional-select{
  font-size:1.1rem;
  margin-left:8px;
  border:1px solid #ccc;
  padding:4px;
  border-radius:6px;
  background:#fff;
}

.wpcf7-form-control-wrap{
  margin-top:16px;
  display:block;
}

.wpcf7 label .required{
  border-color:#E44141;
  color:#E44141;
}
  
.wpcf7 label input,.wpcf7 label textarea{
  display:block;
  border:1px solid #ccc;
  padding:8px;
  font-size:1.6rem;
  width:100%;
  margin-top:8px;
  border-radius:10px;
  box-sizing:border-box;
    line-height:1.6;
}

.wpcf7 input[type="submit"] {
  background:#611585;
  color:#fff;
  border-radius:10px;
  border:0;
  padding:16px;
  width:100%;
  font-size:1.6rem;
  margin:0 auto;
  display:block;
} 
  
input[type="submit"]:hover{
   background:url(../img/ico-search.svg) no-repeat #954B06 center; 
    background-size:18px 18px;
    text-decoration: none;
  -webkit-transition: all .4s;
  transition: all .4s;  
  cursor:pointer;
}

/*====================================

footer

=====================================*/

footer{
  text-align:center;
  font-size:1.2rem;
  padding:32px 0;
 margin-top:32px;
  background:#fff;
  box-shadow: 0 0 8px #efefef;
}

footer .wrapper{
    display:flex;
flex-direction: column-reverse;
}

footer ul{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
}

footer li{
  margin:0 8px;
}

}