@charset "utf-8";

html, body                 {width:100%;margin:0 auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
body                       {-webkit-text-size-adjust:100%;}
div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
table, caption, tbody, tfoot, thead, tr, th, td, p,
fieldset, form, label, legend, input,
article, aside, canvas, figure, figcaption,
footer, header, nav, section,
b, u, i                    {margin:0;padding:0;list-style:none;font-style:normal;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}

a                          {outline:none;}
img                        {border:0 none;vertical-align:top;max-width:100%;height:auto;}
em                         {font-style:normal;font-weight:bold;}
nav ul, nav li             {list-style:none;}
.h a, .f a,
nav a, nav span            {text-decoration:none;}
table                      {border-collapse:collapse;}

/* ----------------------------------------------- font */
@font-face                 {font-family:'Yu Gothic M';src:local("Yu Gothic Medium"),local("Yu Gothic");font-weight:500;}
@font-face                 {font-family:'entypo';src:url('fonts/entypo.eot?ac19je');src:url('fonts/entypo.eot?#iefixac19je') format('embedded-opentype'),url('fonts/entypo.woff?ac19je') format('woff'),url('fonts/entypo.ttf?ac19je') format('truetype'),url('fonts/entypo.svg?ac19je#entypo') format('svg');font-weight: normal;font-style: normal;}

html                       {font-size:62.5%;}
body                       {font-size:16px;font-size:1.6rem;font-family: "YuGothic M", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}
h1, h2,  h3                {font-weight:normal;}
h1                         {font-size:160%;}
h2                         {font-size:140%;}
h3                         {font-size:120%;}
.mincho                    {font-family: "Times New Roman", Times, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}

/* ============================================================== base */
html, body                 {height:100%;}
body                       {color:#333;background-color:#fcfefc;-webkit-text-size-adjust:100%;}
.wfx                       {max-width:1100px;margin:0 auto;}
.wfx:after                 {content:"";display:block;clear:both;height:0;font-size:0;}
.bg_fixed                  {background-size:cover;background-repeat:no-repeat;background-position:50% 50%;}
.img2bg                    {background-size:cover;background-repeat:no-repeat;background-position: 50% 50%;transition:0.3s;display:block;}
a > img                    {vertical-align:top;transition:0.2s;}
a:hover > img              {opacity:0.75;}

@media screen and (min-width: 768px){
	.bg_fixed                  {background-attachment:fixed;background-position:50% 50%;}
}


/* ============================================================== header */
body:before                {height:50px;content:"";display:block;width:0;position:relative;}
.anchor                    {margin-top:-49px;position:absolute;height:0;font-size:0;}
.h                         {top:0;height:50px;width:100%;z-index:90;position:absolute;transition:.5s;background:rgba(252,254,252,0.8);border-top:2px solid #45bcc9;}
.h.show                    {top:0;}
.h .wfx                    {padding:0;position:relative;}
.h_logo                    {width:140px;padding:5px;font-size:0;margin: 10px 0 0 35px;}
.h_logo a                  {display:flex;align-items:center;}
.h_logo span               {display:block;}
.h_logo_mark               {width:50px;height:50px;position:relative;}
/*.h_logo_mark:after         {background-size:90%;background-image:url("../img/logo_mark_sp.png");z-index:3;content:"";width:100%;height:100%;position:absolute;top:0;left:0;background-repeat:no-repeat;background-position:50% 50%;}*/
.h_logo_mark:after         {background-size:90%;background-image:url("../img/header_logo_sp.png");z-index:3;content:"";width:100%;height:100%;position:absolute;top:0;left:0;background-repeat:no-repeat;background-position:50% 50%;}
.h_logo_mark img           {display:block!important;}
.h_logo_name               {display:none;}
.h_logo_text               {font-size:16px;color:#0bb2c1;margin-left:10px;font-weight:bold;}

.h_tel                     {display:none;}
.h_lnk                     {display:none;}

@media screen and (max-width: 768px){
	.h_logo {margin:10px 0 0 10px;}
}


/* ----------------------------------------------- hamburger */
.gn_btn                    {background:transparent;background:#48b018;width:40px;height:40px;right:5px;top:5px;position:absolute;line-height:1em;text-align:center;z-index:3;}
.gn_btn i                  {margin-top:34px;font-size:75%;position:relative;display:block;text-align:center;vertical-align:bottom;}
.gn_btn:before,
.gn_btn:after,
.gn_btn i:after            {background:#fff;position:absolute;content:"";display:block;width:20px;height:2px;left:calc(50% - 10px);transition:0.2s;}
.gn_btn:before             {top:10px;}
.gn_btn i:after            {top:-16px;}
.gn_btn:after              {top:26px;}
.gn_on .gn_btn:before      {transform:rotate(45deg);top:18px;height:2px;}
.gn_on .gn_btn:after       {transform:rotate(-45deg);top:18px;height:2px;}
.gn_on .gn_btn i:after     {display:none;}

/* ----------------------------------------------- navigation */
.gn                        {background:rgba(72,176,24,0.8);max-height:0;width:100%;left:0;position:fixed;z-index:2;overflow:scroll;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;transition:0.2s;}
.gn_bg                     {top:0;left:0;position:fixed;z-index:1;background:rgba(255,255,255,0);width:100%;height:100%;transition:0.2s;display:none;}
.gn_on                     {overflow-y:hidden;position:fixed;}
.gn_on .c                  {-webkit-filter:blur(5px);filter:blur(5px);}
.gn_on .gn                 {max-height:calc(100vh - 50px);}
.gn_on .gn_bg              {background:rgba(255,255,255,0.8);display:none;}
.gn ul                     {}
.gn ul li                  {border-bottom:1px solid rgba(255,255,255,0.5);position:relative;}
.gn ul li a                {font-size:87.5%;/*font-weight:bold;*/color:#fff;position:relative;padding:0.7em;display:block;}
.gn ul li a:after          {content:"";display:block;border-right:2px solid #fff;border-bottom:2px solid #fff;width:0.4em;height:0.4em;transform:rotate(-45deg);position:absolute;right:1em;top:calc(50% - 0.36em);line-height:100%;}

@media screen and (min-width: 768px){
	body:before                {height:150px;}
	.h                         {height:auto;top:0;border-top-width:4px;}
	.h.show                    {top:0;}
	.htop						{width:100%;padding:35px 10px 0 0;margin:0 auto;max-width:1000px;display:flex;align-items:center;justify-content:space-between;position:relative;}
	.h_logo                    {width:auto;}
	.h_logo_mark               {width:60px;height:auto;background:transparent;}
	.h_logo_mark:after         {display:none;}
	.h_logo_mark img           {display:inline;margin-top: 5px; margin-left: 1px;}
	.h_logo_name               {font-size:25px;color:#48b018;font-weight:bold;display:block;white-space:nowrap;}
	.h_logo_text               {font-size:18px;white-space:nowrap;}
	.h_tel                     {display:block;width:22%;}
	.h_tel span                {display:block;max-width:219px;padding:0 10px;}
	.h_lnk                     {display:block;width:200px;display:flex;}
	.h_lnk a                   {display:block;border-left:1px solid #fff;}
	.h_lnk a img               {max-height:60px;}

	.gn_on .gn_bg,
	.gn_bg,
	.gn_btn                    {display:none;}
	.gn_on .gn,
	.gn                        {width:auto;height:auto;overflow:visible;overflow-y:visible;position:relative;clear:both;background-color:#cfc;}
	.gn ul                     {padding:5px 0 0 0;position:relative;margin:0 auto;text-align:center;white-space:nowrap;}
	.gn ul li                  {margin:0 0 0 1.5em;padding:0 0.5em;margin:0;border-bottom:0 none;position:relative;display:inline-block;}
	.gn ul li a                {font-size:75%;font-weight:bold;color:#45bcc9;text-align:center;display:block;padding:0.3em 0.5em;}
	.gn ul li a:after          {border-right:0 none;border:0 none;width:12px;height:1px;background:#45bcc9;transform:rotate(-60deg);right:-1.5em;top:calc(50% - 1px);}
	.gn ul li:last-child a:after{display:none;}
}

@media screen and (min-width: 1100px){
	.gn ul li a                {font-size:15px;}
	.gn ul li a:after          {right:-1.2em;}
}

/* ============================================================== footer */
.ptop                      {top:-40px;position:absolute;width:100%;text-align:center;}
.ptop i                    {background:#aef2c3;height:40px;width:80px;display:inline-block;cursor:pointer;}
.ptop i:before             {border-right:3px solid #404f7d;border-bottom:3px solid #404f7d;width:8px;height:8px;transform:rotate(-135deg);line-height:100%;content:"";display:inline-block;margin-top:16px;}
.f                         {background:#aef2c3;color:#404f7d;position:relative;}
.f .wfx                    {padding:1em;max-width:1000px;}
.f a                       {color:#0c0c0c;}
.f_nav                     {margin-top:0.8em;padding-top:0.8em;border-top:1px solid #6ec88a;}
.f_nav_sbj                 {font-weight:bold;text-decoration:none;}
.f_nav_sbj a:hover         {color:#354aa3;text-decoration:underline;}
.f_nav ul                  {padding-left:0.3em;}
.f_nav li                  {font-size:87.5%;position:relative;padding-left:1em;}
.f_nav li:before           {border-right:1px solid #404f7d;border-bottom:1px solid #404f7d;content:"";display:inline-block;width:0.3em;height:0.3em;transform:rotate(-45deg);line-height:100%;position:absolute;top:0.8em;left:0;}
.f_nav li a                {display:inline-block;padding:0.2em 0;font-size: 12.7px;color: #3f3f3f;font-weight: bold;}
.f_nav li a:hover          {text-decoration:underline;color:#354aa3;}
.f_logo                    {text-align:center;padding:1em 0;}
.f_logo a                  {display:inline-block;}
.f_logo figure             {display:inline-block;width:65px;}
.f_logo_name               {font-weight:bold;margin-bottom:0.5em;color: #3f3f3f;font-weight: bold;}
.f_logo_tel                {font-size:100%;color:#3f3f3f;font-weight: bold;font-family: "Times New Roman", Times, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}
.f_logo_time               {font-size:80%;color:#3f3f3f;font-weight: bold;font-family: "Times New Roman", Times, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}

.f_bottom                  {padding:1em 0;border-top:1px solid #6ec88a;text-align:center;}
.f_bottom  ul              {font-size:75%;}
.f_bottom  li              {border-right:1px solid #404f7d;display:inline-block;padding:0 1em;line-height:100%;}
.f_bottom  li:last-child   {border-right:0 none;}
.f_bottom  li a            {display:inline-block;color: #3f3f3f;font-weight: bold;}
.copyright                 {font-size:75%;margin-top:0.5em;color: #3f3f3f;font-weight: bold;}

@media screen and (min-width: 768px){
	.f                         {padding-top:1em;}
	.f .wfx                    {display:flex;justify-content:space-between;margin-bottom:1em;}
	.f_nav                     {width:25%;padding:0 0.5em;margin-top:0;padding-top:0;border-top:0 none;border-right:1px solid #6ec88a;}
	.f_nav li                  {font-size:75%;}
	.f_logo                    {flex:1;padding-top:40px;border-right:1px solid #6ec88a;border-left:1px solid #6ec88a;}
	.f_bottom  ul,
	.copyright                 {display:inline-block;}
	.f_bottom  li:last-child   {border-right:1px solid #404f7d;}
	.copyright                 {padding-left:1em;color: #3f3f3f;font-weight: bold;}
}
@media screen and (min-width: 1100px){
	.f                         {padding-top:2em;}
	.f .wfx                    {margin-bottom:2em;}
	.f_nav                     {padding:0 1em;}
}


/* ============================================================== cv */
.cv                        {padding:0 5px;margin-bottom:60px;}
.cv .wfx                   {margin-bottom:30px;max-width:1000px;padding:10px;background-image: linear-gradient(-45deg,#ddd 20%,#fff 20%,#fff 30%,#ddd 30%,#ddd 70%,#fff 70%,#fff 80%,#ddd 80%);background-size: 10px 10px;}
.cv_box                    {padding:0.5em;background:#fff;}
.cv_ttl                    {font-size:120%;color:#3490d0;font-weight:bold;line-height:135%;margin-bottom:0.5em;}
.cv_ttl i                  {display:inline-block;}
.cv_name                   {font-weight:bold;margin-bottom:0.5em;}
.cv_name span,
.cv_name i                 {display:inline-block;}
.cv_ci                     {font-weight:bold;}
.cv_ci li                  {padding-left:34px;background-repeat:no-repeat;background-position:0 0;margin-bottom:0.5em;}
.cv_tel                    {background-image:url("../img/cv_tel.png");background-size:28px auto;}
.cv_mail                   {background-image:url("../img/cv_mail.png");background-size:27px auto;}
.cv_btn a                  {font-size:120%;font-weight:bold;background:#3490d0;color:#fff;padding:1em;border-radius:5px;text-align:center;display:block;text-decoration:none;transition:0.3s;}
.cv_btn a:hover            {background:#4ae;}
.cv_btn a i                {display:block;}
.cv_bnr                    {text-align:center;}
.cv_bnr_ttl                {font-size:120%;font-weight:bold;margin-bottom:1em;}
.cv_bnr li                 {margin-bottom:0.5em;}

@media screen and (min-width: 768px){
	.cv                        {margin-bottom:100px;}
	.cv_box                    {padding:2em 1.5em;display:flex;justify-content:space-between;align-items:center;}
	.cv .wfx                   {margin-bottom:60px;}
	.cv_ttl                    {font-size:170%;margin-bottom:0;}
	.cv_name                   {font-size:125%;margin-bottom:0.2em;}
	.cv_ci                     {font-size:125%;}
	.cv_ci li                  {margin-bottom:0;background-position:0 3px;}
	.cv_btn a                  {font-size:125%;padding:1.5em 2em;}
	.cv_bnr_ttl                {font-size:170%;}
	.cv_bnr li                 {display:inline-block;margin:0 20px;}
}
@media screen and (min-width:768px){
	.htop2 {padding:3px 10px 0 0!important;}}