@charset "utf-8";
@font-face {
  font-family: 'OPTITimesRoman-Italic';
  src: url('../fonts/times-roman/OPTITimesRoman-Italic.eot');
  src: url('../fonts/times-roman/OPTITimesRoman-Italic.eot?#iefix') format('embedded-opentype'),
       url('../fonts/times-roman/OPTITimesRoman-Italic.svg#OPTITimesRoman-Italic') format('svg'),
       url('../fonts/times-roman/OPTITimesRoman-Italic.ttf') format('truetype'),
       url('../fonts/times-roman/OPTITimesRoman-Italic.woff') format('woff'),
       url('../fonts/times-roman/OPTITimesRoman-Italic.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}

/* ------------------------------------------------------------ common */
body { color: #000; min-width: 1140px; }
a:link 		{ color: #111; text-decoration: none; }
a:visited 	{ color: #111; text-decoration: none; }
a:hover,
a:hover img,
input[type="submit"]:hover { color: #111; text-decoration: none; 
	filter:alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8; }
    
input[type="text"],
select,
textaera	{ border: 1px solid #b5b5b5; }

input[type="submit"] { -webkit-appearance: button; cursor: pointer; padding: 0; border: none; }

h1 		{ font-size: 10px; width: 950px; padding: 5px 0; margin: 0 auto; color: #9d9d9d; }

.inner 	{ width: 1100px; margin: 0 auto; }
.btn 	{ text-align: center; }
.btn a 	{ display: inline-block; *display: inline; *zoom: 1; color: #fff;  
	border-radius: 10px; 
	-moz-border-radius: 10px; 
	-webkit-border-radius: 10px; }

.f_totop { position: fixed; bottom: 40px; right: 20px; }

.SP { display: none; }
.f_new { position: absolute; right: 0; bottom: 30%; z-index: 99; }

.left { float: left; }
.right { float: right; }
.para_hidden { overflow: hidden; }
.para { position: relative; }

/* ------------------------------------------------------------ header */
header { position: absolute; top: 0; width: 100%; z-index: 99; }
header .left { float: left; background: #fff; border-radius: 0 0 20px 0; -moz-border-radius: 0 0 20px 0; -webkit-border-radius: 0 0 20px 0; box-shadow: 10px 10px 20px rgba(0,0,0,0.1); }
header .left a { display: block; text-align: center; padding: 22px 15px 28px; }
header .left a img { width: 85px; height: auto; }
header .right { float: right; padding: 30px 20px 0 0; }
header .right ul { float: left; }
header .right ul li { float: left; text-align: center; padding: 0 10px 0 20px; background: url(../images/common/slash.png) left center no-repeat; }
header .right ul li.active a { border-bottom: solid 1px #028939; }
header .right ul li a { opacity: 1; position: relative; color: #fff; font-size: 14px; padding: 0 5px; display: block;  height: 100%; line-height: 50px; border-bottom: solid 1px #fff; }
header .right ul li a:hover { border-bottom: solid 1px #028939; }
header .right ul li:first-child { background: none; }
header .right ul li:nth-of-type(2) a,
header .right ul li:nth-of-type(3) a { line-height: 120%; padding: 8px 5px }
header .f_contact { float: left; padding: 0 0 0 14px; }
header .f_contact a { display: inline-block; *display: inline; *zoom: 1; padding: 14px 20px 14px 50px; color: #fff; background: url(../images/common/icon_mail.svg) 18px center no-repeat #e8581b; background-size: 21px; font-size: 14px; text-align: center; border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; }

/* ------------------------------------------------------------ footer */
footer { background: #1b954c; position: relative; }
footer .page_top { display: block; position: absolute; right: 100px; top: -39px; }
footer .page_top a { display: block; }
footer .table { display: table; }
footer .left { display: table-cell; float: none; width: 35%; text-align: center; background: #028939; vertical-align: middle; }
footer .left .f_logo { padding: 0 0 40px; }
footer .left .contact { background: url(../images/common/icon_mail.svg) 48px center no-repeat #e8581b; background-size: 21px; color: #fff; border-radius: 30px; font-size: 16px; padding: 15px 50px 15px 80px; display: inline-block; }
footer .right { display: table-cell; float: none; width: 65%; padding: 70px 0 70px 90px; box-sizing: border-box; background: #1b954c; }
footer .right .listes ul { float: left; width: 30%; }
footer .right .listes ul li { padding: 8px 0; }
footer .right .listes ul li a { font-size: 16px; color: #fff; line-height: 130%; }
footer .right .listes .tags { float: left; padding: 0 0 0 40px; box-sizing: border-box; width: 60%; }
footer .right .listes .tags h4 { padding: 0 0 5px; }
footer .right .listes .tags h4 a { display: block; font-size: 16px; color: #fff; }
footer .right .listes .tags .hidden a { font-size: 13px; color: #fff; border-right: 1px solid #76bf94; padding: 2px 12px 2px 0; margin: 5px 12px 5px 0; display: inline-block; }
footer .right .listes .tags .hidden a span { display: none; }
footer .right .bnr { margin: 40px 0 0; }
footer .right .bnr a { margin: 0 10px 0 0; }
footer .right .bnr a img { max-width: 47%; height: auto; }
footer small { background: #fff; display: block; text-align: center; font-family: "游ゴシック体", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic Pro","Meiryo","メイリオ","Osaka","ＭＳ Ｐゴシック","MS P Gothic","Arial",sans-serif; padding: 5px 0; font-size: 12px; }

/* ------------------------------------------------------------ SNS_Sharebtn */
.social { width: 300px; margin: 70px auto 80px; }
.social h4 { text-align: center; font-size: 18px; color: #34af35; background: url(../images/common/sns_bg.png) center 5px no-repeat; padding: 0 0 20px; }
.social a { float: left; padding: 0 5px; }

/* ------------------------------------------------------------ title */
.title { font-size: 50px; font-family: "游明朝体", "Yu Mincho","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Sawarabi Mincho",serif; text-align: center; line-height: 120%; background: url(../images/common/basic_green_slash.svg) no-repeat center bottom/370px; padding: 0 0 50px; margin: 0 auto 80px; }
.title span { font-size: 22px; color: #1b954c; display: block; font-style: italic; letter-spacing: 2px; padding: 0 0 10px; font-family: 'EB Garamond', serif; }
.title2 { font-size: 40px; text-align: center; font-family: "游明朝体", "Yu Mincho","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Sawarabi Mincho",serif; line-height: 150%; font-weight: 600; }
.title2 span { display: block; font-size: 18px; color: #028939; font-family: 'Cormorant', serif; letter-spacing: 2px; padding: 0 0 8px; }
.title2 strong { display: inline-block; *display: inline; *zoom: 1; font-size: 40px; text-align: center; line-height: 150%; font-weight: 600; background: url(../images/common/basic_green_slash.svg) no-repeat center bottom; padding: 0 0 25px; }
.title3 { font-size: 24px; text-align: center; line-height: 100%; background: url(../images/common/basic_arrow.svg) no-repeat center bottom/250px; padding: 0 0 30px; }
.title3 small { display: block; font-size: 16px; display: block; font-family: 'Cormorant', serif; letter-spacing: 2px; padding: 0 0 5px; }
.title3 small span:first-of-type { padding: 0 0.5em 0 0; }

/* ------------------------------------------------------------ btn */
.btn a { background: url(../images/common/white_arrow.svg) 94% center no-repeat #000; padding: 20px 90px 20px 60px; font-size: 16px; letter-spacing: 1px; border-radius: 10px; }



/* ------------------------------------------------------------ mobile */

@media only screen and (max-width:640px){

.f_new { position: fixed; bottom: -60px; left: 0; right: 0; margin: 0 auto; width: 230px; transition: 0.5s; }
.f_new img { width: 100%; height: auto; }

.PC { display: none; }
.SP { display: block; }

body { min-width: 100%; }
.inner 	{ width: 90%; }
.left { float: none; }
.right { float: none; }
.para_hidden { overflow-x: inherit; }
.para { position: inherit; }

/* ------------------------------------------------------------ header */
header { z-index: 100; }
header .right { display: none; }
header::after { display: none; }
header .f_contact1 { text-align: center; padding: 20px 0 0; }
header .f_contact1 a { font-size: 16px; color: #fff; background: url(../images/common/icon_mail.svg) 20px center no-repeat #e8581b; padding: 10px 30px 10px 50px; border-radius: 20px;}
header .left a { padding: 14px 14px 17px 12px; }
header .left a img { width: 60px; height: auto; }
header .menu { position: fixed; top: 0; right: 0; }
header .menu img { width: 60px; height: auto; }
header .right { display: none; float: none; margin: 0; padding: 0; position: fixed; width: 100%; height: 100%; background: #fcfaf3; overflow-y: scroll; }
header .right ul { float: none; padding: 70px 0 0; width: 90%; margin: 0 auto; }
header .right ul li { float: none; background: none !important; padding: 0; text-align: left; }
header .right ul li a { display: block; color: #000; border-bottom: 1px dotted #028939; font-size: 14px; font-weight: bold; text-align: left; position: relative; line-height: 24px; padding: 12px 0; }
header .right ul li.active a { border-bottom: 1px dotted #028939; }
header .right ul li:first-of-type a { border-top: 1px dotted #028939; }
header .right ul li:nth-of-type(2) a, 
header .right ul li:nth-of-type(3) a { padding: 12px 0; }
header .right ul li a::before { display: none; }
header .right ul li a::after { position: absolute; top: 0; bottom: 0; margin: auto 0; right: 8px; display: block; width: 10px; height: 10px; border-top: solid 1px #333; border-right: solid 1px #333; -webkit-transform: rotate(45deg); transform: rotate(45deg); content: ''; }
header .right ul li a:hover { border-bottom: 1px dotted #028939; }

header .right ul li.toggle { border-bottom: 1px dotted #028939; padding: 12px 0; }
header .right ul li.toggle .cfx a { display: block; float: left; width: calc(100% - 40px); border: none; padding: 0; }
header .right ul li.toggle .cfx a::after { display: none; }
header .right ul li.toggle .toggle_btn { float: right; width: 16px; height: auto; padding: 19px 2px 19px 22px; line-height: 120%; }
header .right ul li.toggle .toggle_content { display: none; padding: 20px 0 15px 20px; }
header .right ul li.toggle .toggle_content a span { padding: 0 5px 0 0; }
header .right ul li.toggle .toggle_content a { float: none; font-size: 14px; padding: 8px 0; }
header .right ul li.toggle .toggle_content a:first-of-type { border-top: 1px dotted #028939; }
header .right ul li.toggle .toggle_content a::after { width: 8px; height: 8px; }
header .right .menu_logo { text-align: center; padding: 40px 0 35px; }
header .right .menu_logo a img { width: 90px; height: auto; }
header .right .close { position: absolute; right: 20px; top: 20px; }
header .right .close img { width: 20px; height: auto; }
header .f_contact { float: none; padding: 30px 0 0; text-align: center; }
header .f_contact a { background: url(../images/common/icon_mail.svg) 36px center no-repeat #e8581b; background-size: 21px; padding: 14px 40px 14px 70px; letter-spacing: 2px; border-radius: 70px; -moz-border-radius: 70px; -webkit-border-radius: 70px; }
header .right .bnr { background: #1b954c; padding: 30px 0; margin: 40px auto 0; }
header .right .bnr a { display: block; width: 90%; margin: 0 auto 15px; }
header .right .bnr a img { width: 100%; height: auto; }

/* ------------------------------------------------------------ footer */
footer { padding: 0; }
footer .page_top { display: block; position: absolute; right: 5%; top: -30px; }
footer .page_top a img { width: 60px; height: auto; }
footer .table { display: block; }
footer .left { float: none; width: 100%; padding: 55px 0; display: block; }
footer .left p.copyright { font-size: 11px; padding: 20px 0 30px; }
footer .f_logo img { width: 75px; height: auto;  }
footer .right { display: block; float: none; width: 100%; padding: 10px 5% 30px; }
footer .right .listes ul { float: none; width: 100%; }
footer .right .listes ul li { padding: 0; border-bottom: 1px solid #76bf94; }
footer .right .listes ul li a { display: block; padding: 15px 10px 15px 0; background: url(../images/common/arw_00.png) no-repeat right center; background-size: 9px auto; }
footer .right .listes .tags { float: none; width: 100%; padding: 10px 0; border-bottom: 1px solid #76bf94; }
footer .right .listes .tags .hidden { width: 88%; display: none; overflow: hidden; margin: auto; padding: 20px 0; }
footer .right .listes .tags h4 { cursor: pointer; line-height: 140%; background-size: auto 9px; }
footer .right .listes .tags h4 a { display: block; float: left; width: calc(100% - 40px); font-size: 16px; color: #fff; }
footer .right .listes .tags h4 img { float: right; width: 16px; height: auto; padding: 20px 0 20px 24px; }
footer .right .listes .tags .hidden { display: none; padding: 0; }
footer .right .listes .tags .hidden a { margin: 0; display: block; width: 100%; box-sizing: border-box; border: none; font-size: 14px; border-bottom: solid 1px #76bf94; padding: 10px 0; position: relative; }
footer .right .listes .tags .hidden a:last-of-type { border-bottom: none; }
footer .right .listes .tags .hidden a::before { position: absolute; top: 0; bottom: 0; margin: auto 0; right:4px; display: block; width: 8px; height: 8px; border-top: solid 1px #fff; border-right: solid 1px #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); content: ''; }
footer .right .listes .tags .hidden a span { display: inline-block; *display: inline; *zoom: 1; padding: 0 5px 0 0; }
footer .right .bnr a img { width: 100%; max-width: inherit; margin: 0 0 10px; }
footer small { padding: 8px 0; font-size: 10px; line-height: 16px; }

/* ------------------------------------------------------------ SNS_Sharebtn */
.social { width: 300px; margin: 40px auto 60px;  }
.social h4 { text-align: center; font-size: 16px; color: #34af35; background: url(../images/common/sns_bg.png) center 5px no-repeat; padding: 0 0 20px; }
.social a { float: left; padding: 0 5px; }
.social a img { width: auto; height: 30px; }

/* ------------------------------------------------------------ title */
.title { font-size: 32px; background: url(../images/common/basic_green_slash.svg) no-repeat center bottom/120px; padding: 0 0 20px; margin: 0 auto 40px; }
.title span { font-size: 16px; padding: 0 0 5px; }
.title2 { font-size: 23px; line-height: 150%; font-weight: 600; }
.title2 span { font-size: 14px; padding: 0 0 5px; }
.title2 strong { font-size: 23px; line-height: 150%; background-size: 180px; padding: 0 0 10px; }
.title3 { font-size: 24px; text-align: center; line-height: 100%; background: url(../images/common/basic_arrow.svg) no-repeat center bottom/250px; padding: 0 0 25px; }
.title3 small { display: block; font-size: 16px; display: block; font-family: 'Cormorant', serif; letter-spacing: 2px; padding: 0 0 5px; }
.title3 small span:first-of-type { padding: 0 0.5em 0 0; }

/* ------------------------------------------------------------ btn */
.btn a { background-size: 30px; padding: 15px 55px 15px 35px; font-size: 13px; }
}











