@charset "UTF-8";
/* 文字エンコーディング */
/************************************************** Variable *************************************************/
.responsive_img, #main_visual p img, #application_container #application_method img, #application_container #application_method #application_method_desc img, #application_detail .application_detail_container #bn_large ul li img { width: 100%; height: auto; }

/* ==================== Smartphone ==================== */
/************************************************** Element Style *************************************************/
* { margin: 0; padding: 0; border: none; box-sizing: border-box; }

body { font-size: 1rem; line-height: 1.5; font-family: "Noto Sans JP", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS P Gothic", Verdana, Arial, Helvetica, sans-serif; }

ul, ol { margin-left: 40px; padding: 20px 0; }
ul li, ol li { margin: 10px 0; }

a { color: #e60013; transition: 200ms all linear; -webkit-transition: 200ms all linear; -moz-transition: 200ms all linear; -o-transition: 200ms all linear; -ms-transition: 200ms all linear; }

a:hover { filter: alpha(opacity=50); -moz-opacity: 0.5; opacity: 0.5; }

/************************************************** Header *************************************************/
body > header { width: 100%; background-color: #e60013; }
body > header #header_container { max-width: 1000px; margin: 0 auto; height: 80px; position: relative; }
body > header #header_container h1, body > header #header_container #header_right { position: absolute; top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -o-transform: translateY(-50%); -ms-transform: translateY(-50%); padding: 0 10px; }
body > header #header_container h1 img, body > header #header_container #header_right img { display: block; }
body > header #header_container h1 { left: 0; }
body > header #header_container #header_right { right: 0; }
body > header #headercontainer::after { content: ''; display: block; clear: both; }

body > header::after { content: ""; display: block; clear: both; }

/************************************************** Contents *************************************************/
.body_container { max-width: 1000px; margin: 0 auto; }

#main_visual { background: url(../../images/instagram_ippon/kichen_gousei_180712.jpg) no-repeat center center; background-size: cover; padding: 100px 0; }
#main_visual h2 img, #main_visual p img { display: block; margin: 10px auto; }
#main_visual p img { max-width: 854px; }

#application_container #application_period { background-color: #ffb900; text-align: center; font-size: 2rem; font-weight: 500; line-height: 1.35; padding: 20px; }
#application_container #application_method { background: url(../../images/instagram_ippon/bg_image_pt01.png); overflow: hidden; }
#application_container #application_method img { display: block; margin: auto; max-width: 1000px; }
#application_container #application_method p:first-of-type { overflow: hidden; }
#application_container #application_method p:first-of-type img { box-shadow: 0 0 50px rgba(0, 0, 0, 0.75); }
#application_container #application_method #application_method_desc { background-color: #0068de; height: 200px; }
#application_container #application_method #application_method_desc img { position: absolute; margin-top: -95px; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -moz-transform: translateX(-50%); -o-transform: translateX(-50%); -ms-transform: translateX(-50%); padding: 0 10px; max-width: 820px; }

#about_ippon { background: url(../../images/instagram_ippon/bg_image_pt02.png); font-family: "M PLUS Rounded 1c", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS P Gothic", Verdana, Arial, Helvetica, sans-serif; color: #ffffff; padding: 30px 10px; }
#about_ippon h3 { text-align: center; font-weight: bold; font-size: 3.75rem; padding: 60px 0; }
#about_ippon #about_ippon_1st { max-width: 1000px; margin: 30px auto; display: table; }
#about_ippon #about_ippon_1st #about_ippon_1st_left { display: table-cell; vertical-align: top; font-size: 2.35rem; padding-right: 10px; }
#about_ippon #about_ippon_1st #about_ippon_1st_right { display: table-cell; vertical-align: top; font-size: 1.3rem; padding-left: 10px; }
#about_ippon #about_ippon_1st #about_ippon_1st_right ul { list-style-type: none; display: table; text-align: center; margin: 0; padding: 0; }
#about_ippon #about_ippon_1st #about_ippon_1st_right ul li { display: table-cell; margin: 0; padding: 0 10px; }
#about_ippon #about_ippon_1st #about_ippon_1st_right ul li p { padding: 10px 0; }
#about_ippon #about_ippon_1st #about_ippon_1st_right ul li img { display: block; margin: 0 auto; }
#about_ippon #about_ippon_2nd { max-width: 1000px; margin: 30px auto; padding: 70px 20px 70px 70px; background: rgba(255, 255, 255, 0.9); }
#about_ippon #about_ippon_2nd #about_ippon_2nd_desc { font-size: 2.5rem; color: #000000; background: url(../../images/instagram_ippon/img_about_ippon_smartphone.png) no-repeat; padding-left: 350px; min-height: 562px; }
#about_ippon #about_ippon_2nd #about_ippon_2nd_desc p { padding: 20px 0; }
#about_ippon #about_ippon_2nd #about_ippon_2nd_desc p strong { color: #e60013; }
#about_ippon #about_ippon_2nd #about_ippon_2nd_desc p:first-of-type { padding-top: 0; }
#about_ippon #about_ippon_2nd #about_ippon_2nd_desc .instagram_logo { color: #c9337c; }

#instagram_gallery { background: url(../../images/instagram_ippon/bg_image_pt04.png); font-family: "M PLUS Rounded 1c", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS P Gothic", Verdana, Arial, Helvetica, sans-serif; padding: 30px 10px; }
#instagram_gallery #instagram_gallery_container > h3 { text-align: center; font-weight: bold; font-size: 3.75rem; padding: 60px 0; color: #000000; }
#instagram_gallery #instagram_gallery_wrap { font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS P Gothic", Verdana, Arial, Helvetica, sans-serif; width: 100%; max-width: 1000px; margin: 0 auto; padding: 1px; background: rgba(255, 255, 255, 0.75); }

#application_detail { background: url(../../images/instagram_ippon/bg_image_pt01.png); font-family: "M PLUS Rounded 1c", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS P Gothic", Verdana, Arial, Helvetica, sans-serif; padding: 30px 10px; }
#application_detail .application_detail_container { max-width: 1000px; margin: 30px auto; }
#application_detail .application_detail_container h3 { text-align: center; font-weight: bold; font-size: 3.75rem; padding: 60px 0; color: #e60013; text-shadow: white 4px 0px 0px, white -4px 0px 0px, white 0px -4px 0px, white 0px 4px 0px, white 4px 4px 0px, white -4px 4px 0px, white 4px -4px 0px, white -4px -4px 0px, white 2px 4px 0px, white -2px 4px 0px, white 2px -4px 0px, white -2px -4px 0px, white 4px 2px 0px, white -4px 2px 0px, white 4px -2px 0px, white -4px -2px 0px, white 2px 2px 0px, white -2px 2px 0px, white 2px -2px 0px, white -2px -2px 0px; }
#application_detail .application_detail_container .application_detail_body { background-color: #ffffff; border-radius: 10px; -webkit-border-radius: 10px; -moz-border-radius: 10px; -o-border-radius: 10px; -ms-border-radius: 10px; margin: 30px 0; padding: 20px; font-size: 2.35rem; }
#application_detail .application_detail_container .application_detail_body header { display: table; width: 100%; }
#application_detail .application_detail_container .application_detail_body header h4 { color: #ffffff; line-height: 1.35; background-color: #e60013; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; font-weight: normal; padding: 0 12px 0 142px; position: relative; display: table-cell; height: 120px; vertical-align: middle; font-size: 2.15rem; }
#application_detail .application_detail_container .application_detail_body header h4 strong { display: block; background: url(../../images/instagram_ippon/bg_h4_list.png) no-repeat center center; color: #e60013; width: 103px; height: 98px; text-align: center; line-height: 1; padding-top: 50px; position: absolute; top: 12px; left: 12px; }
#application_detail .application_detail_container .application_detail_body .application_detail_body_container { padding: 30px 60px; }
#application_detail .application_detail_container .application_detail_body .application_detail_body_container p { padding: 30px 0; }
#application_detail .application_detail_container .application_detail_body .application_detail_body_container ul { list-style-type: circle; }
#application_detail .application_detail_container .application_detail_body .application_detail_body_container ul li { margin: 20px 0; }
#application_detail .application_detail_container .application_detail_body .application_detail_body_container ul li:first-child { margin-top: 10px; }
#application_detail .application_detail_container .application_detail_body .application_detail_body_container ul li:last-child { margin-bottom: 10px; }
#application_detail .application_detail_container .application_detail_body .application_detail_body_container .accordion_menu dd { font-size: 1.3rem; }
#application_detail .application_detail_container .application_detail_body .application_detail_body_container .accordion_menu dd p + ul { padding-top: 0; }
#application_detail .application_detail_container .application_detail_body .application_detail_body_container3 { padding-right: 20px; }
#application_detail .application_detail_container .application_detail_body .application_detail_body_container3 > div { background: url(../../images/instagram_ippon/img_products_multi.png) no-repeat center right; padding-right: 340px; min-height: 350px; }
#application_detail .application_detail_container .application_detail_body .application_detail_body_container3 > div p { text-shadow: 1px 1px 0 #ffffff; }
#application_detail .application_detail_container .application_detail_body .application_detail_body_container4 .highlight_area { word-break: break-all; }
#application_detail .application_detail_container .application_detail_body .application_detail_body_container5 .highlight_area { font-size: 1.85rem; }
#application_detail .application_detail_container .application_detail_body .application_detail_body_container5 .highlight_area h5 { font-size: 2rem; }
#application_detail .application_detail_container #requirements .application_detail_body .application_detail_body_container { padding: 20px; border: solid 1px #e60013; font-size: 1.5rem; }
#application_detail .application_detail_container #requirements .application_detail_body .application_detail_body_container h4 { margin-top: 30px; color: #191919; }
#application_detail .application_detail_container #requirements .application_detail_body .application_detail_body_container h4:first-of-type { margin-top: 0; }
#application_detail .application_detail_container #requirements .application_detail_body .application_detail_body_container p { padding: 0; }
#application_detail .application_detail_container #requirements .application_detail_body .application_detail_body_container ol { padding: 0; }
#application_detail .application_detail_container #winner .application_detail_body .application_detail_body_container { padding: 20px; border: solid 1px #e60013; font-size: 1.5rem; }
#application_detail .application_detail_container #winner .application_detail_body .application_detail_body_container ul { padding: 0; }
#application_detail .application_detail_container #roles .application_detail_body .application_detail_body_container { padding: 0 20px; font-size: 1.5rem; }
#application_detail .application_detail_container #roles .application_detail_body .application_detail_body_container p { padding: 15px 0; }
#application_detail .application_detail_container #bn_large { padding: 30px 0; }
#application_detail .application_detail_container #bn_large ul { list-style-type: none; margin: 0; padding: 0; }
#application_detail .application_detail_container #bn_large ul li img { display: block; margin: 0 auto; max-width: 980px; }

.instagram_logo { background: url(../../images/instagram_ippon/ico_instagram.png) no-repeat left center; padding-left: 75px; font-size: 2.5rem; text-decoration: none; color: #000000; }

.horizontal_list { list-style-type: none; display: table; margin: 0 auto; padding: 0; }
.horizontal_list li { display: table-cell; vertical-align: middle; margin: 0; padding: 10px; }

.accordion_menu dt { background-color: #e60013; position: relative; font-size: 1.85rem; color: #ffffff; line-height: 1.25; margin: 5px 0; padding: 20px 80px 20px 20px; cursor: pointer; }
.accordion_menu dt::before, .accordion_menu dt::after { content: ''; position: absolute; display: block; /*top: 50%;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-moz-transform: translateY(-50%);
-o-transform: translateY(-50%);
-ms-transform: translateY(-50%);*/ background-color: #ffffff; transition: 200ms all linear; -webkit-transition: 200ms all linear; -moz-transition: 200ms all linear; -o-transition: 200ms all linear; -ms-transition: 200ms all linear; }
.accordion_menu dt::before { width: 6px; height: 40px; top: 18px; right: 37px; }
.accordion_menu dt::after { width: 40px; height: 6px; top: 35px; right: 20px; }
.accordion_menu .selected::before { transform: rotate(90deg) translateY(0); -webkit-transform: rotate(90deg) translateY(0); -moz-transform: rotate(90deg) translateY(0); -o-transform: rotate(90deg) translateY(0); -ms-transform: rotate(90deg) translateY(0); top: 20px; }
.accordion_menu .selected::after { filter: alpha(opacity=0); -moz-opacity: 0; opacity: 0; }
.accordion_menu dd { display: none; padding: 0 15px; }

.highlight_area { background-color: #ffecb0; margin: 20px 0; padding: 20px 40px; box-shadow: inset 0 0 10px #d9a60f; color: #9f7700; font-size: 2rem; }
.highlight_area h5 { font-family: "Noto Sans JP", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS P Gothic", Verdana, Arial, Helvetica, sans-serif; font-size: 2.35rem; margin: 10px 0 -10px; }

.notes { font-size: 1.85rem; }

/************************************************** Footer *************************************************/
body > footer { background-color: #e60013; position: relative; height: 120px; }
body > footer #footer_container #footer_nav { position: absolute; top: 0; right: 0; }
body > footer #footer_container #footer_nav ul { list-style-type: none; margin: 0; padding: 0; }
body > footer #footer_container #footer_nav ul li { margin: 0; display: table; }
body > footer #footer_container #footer_nav ul li a { display: table-cell; width: 60px; height: 60px; text-align: center; vertical-align: middle; position: relative; line-height: 1; }
body > footer #footer_container #footer_nav ul #footer_instagram a { background-color: #af3696; }
body > footer #footer_container #footer_nav ul #footer_pagetop a { background-color: #8c8c8c; color: #ffffff; text-decoration: none; font-size: 12px; }
body > footer #footer_container small { font-size: 1.15rem; color: #ffffff; display: block; text-align: center; width: 100%; position: absolute; top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -o-transform: translateY(-50%); -ms-transform: translateY(-50%); }

/* ==================== Smartphone ==================== */
@media (max-width: 767px) { /************************************************** Element Style *************************************************/
  img { display: block; width: 100%; max-width: 500px; height: auto; }
  ul, ol { margin-left: 25px; padding-top: 15px; padding-bottom: 15px; }
  ol { margin-left: 20px; }
  /************************************************** Header *************************************************/
  body > header #header_container { width: 100%; height: 50px; }
  body > header #header_container h1, body > header #header_container #header_right { width: 30%; max-width: 200px; padding: 0; }
  body > header #header_container h1 { left: 10px; }
  body > header #header_container #header_right { right: 10px; }
  /************************************************** Contents *************************************************/
  .body_container { width: 100%; }
  #main_visual h2 { padding-right: 15%; padding-left: 15%; }
  #main_visual p img { padding: 0 10px; }
  #application_container #application_period { font-size: 1rem; padding: 20px 0; }
  #application_container #application_method #application_method_desc { height: auto; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; }
  #application_container #application_method #application_method_desc img { position: relative; margin-top: -32px; left: auto; transform: none; -webkit-transform: none; -moz-transform: none; -o-transform: none; -ms-transform: none; }
  #about_ippon { padding: 15px 10px; }
  #about_ippon h3 { font-size: 1.5rem; padding: 15px 0; }
  #about_ippon #about_ippon_1st { width: 100%; display: block; margin: 0 auto; }
  #about_ippon #about_ippon_1st #about_ippon_1st_left { display: block; font-size: 1.35rem; padding: 0 0 10px; }
  #about_ippon #about_ippon_1st #about_ippon_1st_right { display: block; font-size: 0.8rem; padding: 10px 10px 0; }
  #about_ippon #about_ippon_1st #about_ippon_1st_right ul { margin: auto; }
  #about_ippon #about_ippon_1st #about_ippon_1st_right ul li p { padding: 5px 0; }
  #about_ippon #about_ippon_2nd { width: 100%; padding: 30px 5px 30px 15px; }
  #about_ippon #about_ippon_2nd #about_ippon_2nd_desc { font-size: 1.5rem; padding-top: 105%; padding-left: 0; height: auto; background-position: top center; background-size: 50%; }
  #instagram_gallery { padding: 15px 0; }
  #instagram_gallery #instagram_gallery_container { width: 100%; margin-top: 15px; margin-bottom: 15px; }
  #instagram_gallery #instagram_gallery_container h3 { font-size: 1.5rem; padding-top: 15px; padding-bottom: 15px; }
  #instagram_gallery #instagram_gallery_wrap { border-radius: 0; -webkit-border-radius: 0; -moz-border-radius: 0; -o-border-radius: 0; -ms-border-radius: 0; margin-top: 15px; }
  #application_detail { padding: 15px 0; }
  #application_detail .application_detail_container { width: 100%; margin-top: 15px; margin-bottom: 15px; }
  #application_detail .application_detail_container h3 { font-size: 1.5rem; padding-top: 15px; padding-bottom: 15px; }
  #application_detail .application_detail_container .application_detail_body { font-size: 1.35rem; border-radius: 0; -webkit-border-radius: 0; -moz-border-radius: 0; -o-border-radius: 0; -ms-border-radius: 0; margin: 15px 0; padding-right: 0; padding-left: 0; }
  #application_detail .application_detail_container .application_detail_body header h4 { border-radius: 0; -webkit-border-radius: 0; -moz-border-radius: 0; -o-border-radius: 0; -ms-border-radius: 0; padding-left: 76px; height: 100px; font-size: 1.35rem; }
  #application_detail .application_detail_container .application_detail_body header h4 strong { background-size: 51px 49px; width: 51px; height: 49px; padding-top: 25px; top: 24px; }
  #application_detail .application_detail_container .application_detail_body .application_detail_body_container { padding: 15px; }
  #application_detail .application_detail_container .application_detail_body .application_detail_body_container p { padding-top: 15px; padding-bottom: 15px; }
  #application_detail .application_detail_container .application_detail_body .application_detail_body_container3 > div { background-position: bottom center; background-size: 50%; padding: 0 0 55% 0; min-height: auto; }
  #application_detail .application_detail_container #method .application_detail_body { padding-top: 0; }
  #application_detail .application_detail_container #requirements .application_detail_body .application_detail_body_container, #application_detail .application_detail_container #winner .application_detail_body .application_detail_body_container { font-size: 0.85rem; margin: 0; padding: 15px; border: none; }
  #application_detail .application_detail_container #roles .application_detail_body .application_detail_body_container { font-size: 0.85rem; padding: 0 15px; }
  #application_detail .application_detail_container #roles .application_detail_body .application_detail_body_container .accordion_menu dd { font-size: 0.85rem; }
  #application_detail .application_detail_container #bn_large { padding-top: 15px; padding-bottom: 15px; }
  .instagram_logo { padding-left: 45px; font-size: 1.5rem; background-size: 30px; }
  .accordion_menu { margin-right: -15px; margin-left: -15px; }
  .accordion_menu dt { font-size: 1.35rem; padding-top: 15px; padding-right: 70px; padding-bottom: 15px; }
  .accordion_menu dt::before { width: 5px; height: 30px; top: 13px; right: 32.5px; }
  .accordion_menu dt::after { width: 30px; height: 5px; top: 25.5px; right: 20px; }
  .accordion_menu .selected::before { top: 12.75px; }
  .highlight_area { margin-top: 15px; margin-bottom: 15px; padding-right: 15px; padding-left: 15px; font-size: 1.1rem !important; }
  .highlight_area h5 { font-size: 1.25rem !important; }
  .notes { font-size: 0.9rem; }
  /************************************************** Footer *************************************************/
  body > footer { height: 90px; }
  body > footer #footer_container { padding: 0 10px; }
  body > footer #footer_container #footer_nav ul li a { width: 45px; height: 45px; }
  body > footer #footer_container #footer_nav ul #footer_instagram img { display: inline-block; width: auto; }
  body > footer #footer_container #footer_nav ul #footer_pagetop a { font-size: 12px; }
  body > footer #footer_container small { font-size: 0.6rem; text-align: left; width: auto; } }
/* ==================== Tablet ==================== */
@media (max-width: 1000px) and (min-width: 767px) { /************************************************** Contents *************************************************/
  #main_visual p img { padding: 0 10px; }
  #application_container #application_method #application_method_desc img { margin-top: -75px; max-width: 760px; }
  #about_ippon #about_ippon_1st { display: block; }
  #about_ippon #about_ippon_1st #about_ippon_1st_left { display: block; padding: 0 0 10px; }
  #about_ippon #about_ippon_1st #about_ippon_1st_right { display: block; padding: 10px 0 0; }
  #about_ippon #about_ippon_1st #about_ippon_1st_right ul { margin: auto; }
  #about_ippon #about_ippon_2nd { padding-right: 30px; padding-left: 30px; }
  #about_ippon #about_ippon_2nd #about_ippon_2nd_desc { padding-left: 328px; }
  #application_detail .application_detail_container .application_detail_body header h4 { font-size: 2rem; }
  #application_detail .application_detail_container .application_detail_body .application_detail_body_container { padding-right: 30px; padding-left: 30px; }
  #application_detail .application_detail_container .application_detail_body .application_detail_body_container3 > div { background-size: 25%; padding-right: 0; background-position: right 140px; } }
/************************************************** Common Class *************************************************/
.center { text-align: center; }

.right { text-align: right; }

.left { text-align: left; }

.aligncenter { display: table; margin-right: auto; margin-left: auto; }

.alignright { display: table; margin-left: auto; }

.alignleft { display: table; margin-right: auto; }

.leftbox, .imgleft { float: left; padding-right: 10px; }

.rightbox, .imgright { float: right; padding-left: 10px; }

.clear { clear: both; }

.clearfix { zoom: 1; /* IE用 */ }

.clearfix:after { content: "."; clear: both; display: block; visibility: hidden; height: 0; line-height: 0; /* Opera用 */ }

/************************************************** Margin Class *************************************************/
.m0 { margin: 0; }

.m5 { margin: 5px; }

.m10 { margin: 10px; }

.m15 { margin: 15px; }

.m20 { margin: 20px; }

.m25 { margin: 25px; }

.m30 { margin: 30px; }

.m35 { margin: 35px; }

.m40 { margin: 40px; }

.m45 { margin: 45px; }

.m50 { margin: 50px; }

.mt0 { margin-top: 0; }

.mt5 { margin-top: 5px; }

.mt10 { margin-top: 10px; }

.mt15 { margin-top: 15px; }

.mt20 { margin-top: 20px; }

.mt25 { margin-top: 25px; }

.mt30 { margin-top: 30px; }

.mt35 { margin-top: 35px; }

.mt40 { margin-top: 40px; }

.mt45 { margin-top: 45px; }

.mt50 { margin-top: 50px; }

.mr0 { margin-right: 0; }

.mr5 { margin-right: 5px; }

.mr10 { margin-right: 10px; }

.mr15 { margin-right: 15px; }

.mr20 { margin-right: 20px; }

.mr25 { margin-right: 25px; }

.mr30 { margin-right: 30px; }

.mr35 { margin-right: 35px; }

.mr40 { margin-right: 40px; }

.mr45 { margin-right: 45px; }

.mr50 { margin-right: 50px; }

.mr50 { margin-right: 50px; }

.mb0 { margin-bottom: 0; }

.mb5 { margin-bottom: 5px; }

.mb10 { margin-bottom: 10px; }

.mb15 { margin-bottom: 15px; }

.mb20 { margin-bottom: 20px; }

.mb25 { margin-bottom: 25px; }

.mb30 { margin-bottom: 30px; }

.mb35 { margin-bottom: 35px; }

.mb40 { margin-bottom: 40px; }

.mb45 { margin-bottom: 45px; }

.mb50 { margin-bottom: 50px; }

.ml0 { margin-left: 0; }

.ml5 { margin-left: 5px; }

.ml10 { margin-left: 10px; }

.ml15 { margin-left: 15px; }

.ml20 { margin-left: 20px; }

.ml25 { margin-left: 25px; }

.ml30 { margin-left: 30px; }

.ml35 { margin-left: 35px; }

.ml40 { margin-left: 40px; }

.ml45 { margin-left: 45px; }

.ml50 { margin-left: 50px; }

/************************************************** Padding Class *************************************************/
.p0 { padding: 0; }

.p5 { padding: 5px; }

.p10 { padding: 10px; }

.p15 { padding: 15px; }

.p20 { padding: 20px; }

.p25 { padding: 25px; }

.p30 { padding: 30px; }

.p35 { padding: 35px; }

.p40 { padding: 40px; }

.p45 { padding: 45px; }

.p50 { padding: 50px; }

.pt0 { padding-top: 0; }

.pt5 { padding-top: 5px; }

.pt10 { padding-top: 10px; }

.pt15 { padding-top: 15px; }

.pt20 { padding-top: 20px; }

.pt25 { padding-top: 25px; }

.pt30 { padding-top: 30px; }

.pt35 { padding-top: 35px; }

.pt40 { padding-top: 40px; }

.pt45 { padding-top: 45px; }

.pt50 { padding-top: 50px; }

.pr0 { padding-right: 0; }

.pr5 { padding-right: 5px; }

.pr10 { padding-right: 10px; }

.pr15 { padding-right: 15px; }

.pr20 { padding-right: 20px; }

.pr25 { padding-right: 25px; }

.pr30 { padding-right: 30px; }

.pr35 { padding-right: 35px; }

.pr40 { padding-right: 40px; }

.pr45 { padding-right: 45px; }

.pr50 { padding-right: 50px; }

.pr50 { padding-right: 50px; }

.pb0 { padding-bottom: 0; }

.pb5 { padding-bottom: 5px; }

.pb10 { padding-bottom: 10px; }

.pb15 { padding-bottom: 15px; }

.pb20 { padding-bottom: 20px; }

.pb25 { padding-bottom: 25px; }

.pb30 { padding-bottom: 30px; }

.pb35 { padding-bottom: 35px; }

.pb40 { padding-bottom: 40px; }

.pb45 { padding-bottom: 45px; }

.pb50 { padding-bottom: 50px; }

.pl0 { padding-left: 0; }

.pl5 { padding-left: 5px; }

.pl10 { padding-left: 10px; }

.pl15 { padding-left: 15px; }

.pl20 { padding-left: 20px; }

.pl25 { padding-left: 25px; }

.pl30 { padding-left: 30px; }

.pl35 { padding-left: 35px; }

.pl40 { padding-left: 40px; }

.pl45 { padding-left: 45px; }

.pl50 { padding-left: 50px; }


/************************************************** Instagram Class *************************************************/
.Instagram_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  display: -webkit-flex;
  -webkit-justify-content: center;
  -webkit-align-items: flex-start;
  -webkit-flex-wrap: wrap;
  width: 100%;
  margin: 0 auto !important;
  padding: 60px 5% !important;
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important; }
  @media (max-width: 480px) {
    .Instagram_box {
      justify-content: space-between !important;
      -webkit-justify-content: space-between !important;
      padding: 0 5% !important; } }
  .Instagram_box li {
    width: 23.5%;
    margin: 0 2% 30px 0;
    list-style: none; }
    .Instagram_box li:nth-child(4n) {
      margin: 0 0 30px 0; }
    @media (max-width: 768px) {
      .Instagram_box li {
        width: 46%;
      margin: 0 0 30px 0; }
        .Instagram_box li:nth-child(2n) {
          margin: 0 0 30px 0; } }
    .Instagram_box li img {
      width: 100%;
      height: 220px;
      -o-object-fit: contain;
      object-fit: contain;
      -o-object-position: center;
      object-position: center;
      font-family: "object-fit: contain; object-position: center"; }
      @media (max-width: 480px) {
        .Instagram_box li img {
          height: 180px; } }
    .Instagram_box li > div {
      margin: 10px 0 0 0; }
      .Instagram_box li > div h3 {
        margin: 0 0 10px 0;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 20px;
        font-weight: 700;
        color: #e60013; }
        @media (max-width: 480px) {
          .Instagram_box li > div h3 {
            font-size: 16px !important;
            padding: 0 !important; } }
      .Instagram_box li > div p {
        font-size: 18px;
        font-weight: 400;
        line-height: 1.5;
        overflow: hidden; }
        @media (max-width: 480px) {
          .Instagram_box li > div p {
            font-size: 14px;
            padding: 0 !important; } }
        .Instagram_box li > div p.close {
          height: 3em; }
      .Instagram_box li > div .more {
        display: none;
        margin: 20px 0 0 0;
        padding: 10px 15px;
        font-size: 16px;
        font-weight: 700;
        color: #fff;
        line-height: 1;
        background: #e60013; }
        .Instagram_box li > div .more:hover {
          cursor: pointer; }
          .more_article {
            margin: 15px 0 90px 0;
            text-align: center; }
            .more_article a {
              display: inline-block;
              padding: 20px 70px;
              font-size: 24px;
              font-weight: 700;
              color: #fff;
              line-height: 1;
              text-decoration: none;
              background: #e60013; }
              .loading {
                text-align: center; }
                .loading img {
                  max-width: 100px;
                  margin: 0 auto; }

.instagram_gallery_old {
  font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS P Gothic", Verdana, Arial, Helvetica, sans-serif;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 1px;
  background: rgba(255, 255, 255, 0.75);
  display: none;
}


.Instagram_box_dummy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  display: -webkit-flex;
  -webkit-justify-content: center;
  -webkit-align-items: flex-start;
  -webkit-flex-wrap: wrap;
  width: 100%;
  margin: 0 auto !important;
  padding: 60px 5% !important;
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important; }
  @media (max-width: 480px) {
    .Instagram_box_dummy {
      justify-content: space-between !important;
      -webkit-justify-content: space-between !important;
      padding: 0 5% !important; } }
  .Instagram_box_dummy li {
    width: 23.5%;
    margin: 0 2% 30px 0;
    list-style: none; }
    .Instagram_box_dummy li:nth-child(4n) {
      margin: 0 0 30px 0; }
    @media (max-width: 768px) {
      .Instagram_box_dummy li {
        width: 46%;
      margin: 0 0 30px 0; }
        .Instagram_box_dummy li:nth-child(2n) {
          margin: 0 0 30px 0; } }
    .Instagram_box_dummy li img {
      width: 100%;
      height: 220px;
      -o-object-fit: contain;
      object-fit: contain;
      -o-object-position: center;
      object-position: center;
      font-family: "object-fit: contain; object-position: center"; }
      @media (max-width: 480px) {
        .Instagram_box_dummy li img {
          height: 180px; } }
    .Instagram_box_dummy li > div {
      margin: 0; }
      .Instagram_box_dummy li > div h3 {
        margin: 0 0 10px 0;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 20px;
        font-weight: 700;
        color: #e60013; }
        @media (max-width: 480px) {
          .Instagram_box_dummy li > div h3 {
            font-size: 16px !important;
            padding: 0 !important; } }
      .Instagram_box_dummy li > div p {
        font-size: 18px;
        font-weight: 400;
        line-height: 1.5;
        overflow: hidden; }
        @media (max-width: 480px) {
          .Instagram_box_dummy li > div p {
            font-size: 14px;
            padding: 0 !important; } }
        .Instagram_box_dummy li > div p.close {
          height: 3em; }
      .Instagram_box_dummy li > div .more {
        display: none;
        margin: 20px 0 0 0;
        padding: 10px 15px;
        font-size: 16px;
        font-weight: 700;
        color: #fff;
        line-height: 1;
        background: #e60013; }
        .Instagram_box_dummy li > div .more:hover {
          cursor: pointer; }
          .more_article {
            margin: 15px 0 90px 0;
            text-align: center; }
            .more_article a {
              display: inline-block;
              padding: 20px 70px;
              font-size: 24px;
              font-weight: 700;
              color: #fff;
              line-height: 1;
              text-decoration: none;
              background: #e60013; }
              .loading {
                text-align: center; }
                .loading img {
                  max-width: 100px;
                  margin: 0 auto; }
